커뮤니티
시스템 익절검증 및 종목검색식 작성
2016-07-25 09:48:27
207
글번호 100317
항상 감사드립니다
아래 익절조건식이 맞는지 검토부탁드립니다
1_ 당일수익 50틱 당일손실45틱 일때 매매정지
2_조건추가
현지시간:뉴욕
1)매매시간: 일요일 17:00 ~ 금요일 16:00 장종료
2)금요일 15:50 보유포지션 청산
3_아래시간설정의 차이점
1)stime >= 170000 or stime < 170000
2)stime > 170000 or stime < 170000
4_종목검색식 작성 부탁드립니다(하이투자증권)
1) 검색시간설정 09:00 ~ 11:00
2) 종합주가지수 ==> 현재가 > 5일이동평균
3) 시가총액 ==> 현재가 기준 5000억이하
4) 부채비율 ==> 최근결산 500% 이하
5) 주가비교 ==> 0봉전 시가< 0봉전 종가
6) 당일시가> 전일종가
7) 20일 평균거래대금 5억원이상(금일제외)
8) [일봉] 0봉전 20봉중 신고 거래량
9) 당일 갭상승 5% 이내
10) 현재가가 전일종가대비 5%이내일것
검색조건(실시간이 안되면 제일짧은시간으로 셋팅)
1) and 2) and 3) and 4) and 5) and 6) and 7) and 8) and 9) and 10)
#########################
##### 당일익절 설정 #####
#########################
input : 당일수익틱수(50),당일손실틱수(45);
var : NP(0),PreNP(0),dayPL(0),DollerToTick(0),당일수익(0),당일손실(0);
NP = NetProfit;
당일수익 = PriceScale*당일수익틱수;
당일손실 = PriceScale*당일손실틱수;
if stime == 170000 or (stime > 170000 and stime[1] < 170000) then
PreNP = NP[1];
#당일 손익(포인트)
DayPL = NetProfit-PreNP ;
### 동일방향 재진입금지/전일 마지막신호와 무관하게 진입 ###
var : entrycnt(0),cond(false),Xcond(false);
if stime == 170000 or (stime > 170000 and stime[1] < 170000) Then # 현지시간_뉴욕 17:00 장시작 #
Entrycnt = 0;
if MarketPosition != 0 and MarketPosition != MarketPosition[1] Then
Entrycnt = Entrycnt+1;
if TotalTrades > TotalTrades[1] and (IsExitName("BP",1) or IsExitName("BL",1) or IsExitName("SP",1) or IsExitName("SL",1)) Then
Xcond = true;
cond = false;
if (stime >= 170000 or stime < 170000) and (DayPL < 당일수익틱수*PriceScale and dayPL > -당일손실틱수*PriceScale and Xcond == false ) Then{
매수매도식 }
##########################################
##### 당일수익,당일손실 조건청산 #####
##########################################
if MarketPosition == 1 Then{
ExitLong("BP",atlimit,EntryPrice+당일수익-dayPL);
ExitLong("BL",AtStop,EntryPrice-당일손실-dayPL);
}
if MarketPosition == -1 Then{
ExitShort("SP",atlimit,EntryPrice-당일수익+dayPL);
ExitShort("SL",AtStop,EntryPrice+당일손실+dayPL);
}
감사합니다
답변 3
예스스탁 예스스탁 답변
2016-07-25 11:03:27
안녕하세요
예스스탁입니다.
1.
1) stime >= 170000 or stime < 170000
2) stime > 170000 or stime < 170000
17시봉이 포함되는냐 아니냐의 차이입니다.
수정한 식입니다.
input : 당일수익틱수(50),당일손실틱수(45);
var : NP(0),PreNP(0),dayPL(0),DollerToTick(0),당일수익(0),당일손실(0);
var : entrycnt(0),Xcond(false);
NP = NetProfit;
당일수익 = PriceScale*당일수익틱수;
당일손실 = PriceScale*당일손실틱수;
if stime == 170000 or (stime > 170000 and stime[1] < 170000) then
PreNP = NP[1];
#당일 손익(포인트)
DayPL = NetProfit-PreNP ;
### 동일방향 재진입금지/전일 마지막신호와 무관하게 진입 ###
if stime == 170000 or (stime > 170000 and stime[1] < 170000) Then{ # 현지시간_뉴욕 17:00 장시작 #
Entrycnt = 0;
Xcond = false;
}
if DayOfWeek(sdate) == 5 and stime == 155000 or (stime > 155000 and stime[1] < 155000) then{
if MarketPosition != 0 Then{
exitlong();
ExitShort();
}
}
if MarketPosition != 0 and MarketPosition != MarketPosition[1] Then
Entrycnt = Entrycnt+1;
if TotalTrades > TotalTrades[1] and (IsExitName("BP",1) or IsExitName("BL",1) or IsExitName("SP",1) or IsExitName("SL",1)) Then
Xcond = true;
if DayOfWeek(bdate) <= 5 and (stime >= 170000 or stime < 170000) and Xcond == false Then{
#매수매도식
}
##########################################
##### 당일수익,당일손실 조건청산 #####
##########################################
if MarketPosition == 1 Then{
ExitLong("BP",atlimit,EntryPrice+당일수익-dayPL);
ExitLong("BL",AtStop,EntryPrice-당일손실-dayPL);
}
if MarketPosition == -1 Then{
ExitShort("SP",atlimit,EntryPrice-당일수익+dayPL);
ExitShort("SL",AtStop,EntryPrice+당일손실+dayPL);
}
2
종목검색 내용 중
2),3),4)는 수식에 해당 데이터가 제공되지 않습니다.
해당 내용 제외하고 올려드립니다.
검색주기는 수식안에서 지정될수 없습니다.
검색시 종목검색화면에서 직접 지정하셔야 합니다.
종목검색은 지정한 주기에서 최대 제공봉수가 500봉입니다.
500봉안에 지정한 주기의 20일이상의 데이터가 필요하므로
20분이상의 주기에서 검색하셔야 합니다.
검색시 속성에서 검색에 필요한 최소기간에 500봉 지정하고 검색하셔야 합니다.
var : cnt(0),sum1(0),mav1(0),Hv(0);
Array : MM[50](0);
if date != date[1] Then{
Condition1 = false;
MM[0] = 0;
for cnt = 1 to 49{
MM[cnt] = MM[cnt][1];
}
}
MM[0] = MM[0]+Money;
sum1 = 0;
Hv = 0;
for cnt = 1 to 20{
sum1 = sum1+MM[cnt];
if DayVolume(cnt) > Hv Then
Hv = DayVolume(cnt);
}
mav1 = sum1/20;
if stime >= 090000 and stime <= 110000 and
O < C and
O > C[1] and
MM[20] > 0 and mav1 > 500000000 and
DayVolume > Hv and
dayopen < DayClose(1)*1.05 and
C <= DayClose(1)*1.05 and C >= DayClose(1)*0.95 Then
find(1);
즐거운 하루되세요
> 조민철 님이 쓴 글입니다.
> 제목 : 시스템 익절검증 및 종목검색식 작성
> 항상 감사드립니다
아래 익절조건식이 맞는지 검토부탁드립니다
1_ 당일수익 50틱 당일손실45틱 일때 매매정지
2_조건추가
현지시간:뉴욕
1)매매시간: 일요일 17:00 ~ 금요일 16:00 장종료
2)금요일 15:50 보유포지션 청산
3_아래시간설정의 차이점
1)stime >= 170000 or stime < 170000
2)stime > 170000 or stime < 170000
4_종목검색식 작성 부탁드립니다(하이투자증권)
1) 검색시간설정 09:00 ~ 11:00
2) 종합주가지수 ==> 현재가 > 5일이동평균
3) 시가총액 ==> 현재가 기준 5000억이하
4) 부채비율 ==> 최근결산 500% 이하
5) 주가비교 ==> 0봉전 시가< 0봉전 종가
6) 당일시가> 전일종가
7) 20일 평균거래대금 5억원이상(금일제외)
8) [일봉] 0봉전 20봉중 신고 거래량
9) 당일 갭상승 5% 이내
10) 현재가가 전일종가대비 5%이내일것
검색조건(실시간이 안되면 제일짧은시간으로 셋팅)
1) and 2) and 3) and 4) and 5) and 6) and 7) and 8) and 9) and 10)
#########################
##### 당일익절 설정 #####
#########################
input : 당일수익틱수(50),당일손실틱수(45);
var : NP(0),PreNP(0),dayPL(0),DollerToTick(0),당일수익(0),당일손실(0);
NP = NetProfit;
당일수익 = PriceScale*당일수익틱수;
당일손실 = PriceScale*당일손실틱수;
if stime == 170000 or (stime > 170000 and stime[1] < 170000) then
PreNP = NP[1];
#당일 손익(포인트)
DayPL = NetProfit-PreNP ;
### 동일방향 재진입금지/전일 마지막신호와 무관하게 진입 ###
var : entrycnt(0),cond(false),Xcond(false);
if stime == 170000 or (stime > 170000 and stime[1] < 170000) Then # 현지시간_뉴욕 17:00 장시작 #
Entrycnt = 0;
if MarketPosition != 0 and MarketPosition != MarketPosition[1] Then
Entrycnt = Entrycnt+1;
if TotalTrades > TotalTrades[1] and (IsExitName("BP",1) or IsExitName("BL",1) or IsExitName("SP",1) or IsExitName("SL",1)) Then
Xcond = true;
cond = false;
if (stime >= 170000 or stime < 170000) and (DayPL < 당일수익틱수*PriceScale and dayPL > -당일손실틱수*PriceScale and Xcond == false ) Then{
매수매도식 }
##########################################
##### 당일수익,당일손실 조건청산 #####
##########################################
if MarketPosition == 1 Then{
ExitLong("BP",atlimit,EntryPrice+당일수익-dayPL);
ExitLong("BL",AtStop,EntryPrice-당일손실-dayPL);
}
if MarketPosition == -1 Then{
ExitShort("SP",atlimit,EntryPrice-당일수익+dayPL);
ExitShort("SL",AtStop,EntryPrice+당일손실+dayPL);
}
감사합니다
조민철
2016-07-25 12:15:29
감사드립니다
1.종목검색식 해설부탁드립니다
var : cnt(0),sum1(0),mav1(0),Hv(0);
Array : MM[50](0);
if date != date[1] Then{
Condition1 = false;
MM[0] = 0;
for cnt = 1 to 49{
MM[cnt] = MM[cnt][1];
}
}
MM[0] = MM[0]+Money;
sum1 = 0;
Hv = 0;
for cnt = 1 to 20{
sum1 = sum1+MM[cnt];
if DayVolume(cnt) > Hv Then
Hv = DayVolume(cnt);
}
mav1 = sum1/20;
if stime >= 090000 and stime <= 110000 and
O < C and
O > C[1] and
MM[20] > 0 and mav1 > 500000000 and
DayVolume > Hv and
dayopen < DayClose(1)*1.05 and
C <= DayClose(1)*1.05 and C >= DayClose(1)*0.95 Then
find(1);
2_종목검색식 간단히 작성코져합니다
1) 주가비교 ==> 0봉전 시가< 0봉전 종가
2) 20일 평균거래대금 5억원이상(금일제외)
3) [일봉] 0봉전 40봉중 신고 거래량
검색조건
1) and 2) and 3)
감사합니다
예스스탁 예스스탁 답변
2016-07-25 16:05:35
안녕하세요
예스스탁입니다.
1.
아래 내용 참고하시기 바랍니다.
수식에 값이 잘못지정되어 잇는 부분이 있어 수정했습니다.
#거대대금은 dayhigh,dayvolume과 같이 이전일 값을 불러오는 일간함수가 없습니다.
#그러므로 수식에서 일간값을 불러올수 있는 산식을 사용해야 합니다.
var : cnt(0),sum1(0),mav1(0),Hv(0);
Array : MM[50](0);
#날짜가 변경되면
if date != date[1] Then{
#당일 거래거래대금 누적할 변수는 0
MM[0] = 0;
#이전일 거대대금을 배열변수의 다음방으로 이동
#기존MM[0]에 저장된 값은 MM[1]로
#기존MM[1]에 저장된 값은 MM[2]로
#기존MM[2]에 저장된 값은 MM[3]로.....
for cnt = 1 to 49{
MM[cnt] = MM[cnt][1];
}
}
#당일거대대금 누적할 변수에 봉마다 거래대금을 합산
MM[0] = MM[0]+Money;
#최근 20개의 값을 호출
#거대대금을 20개의 값을 누적한 이후에 20으로 나누어 20일 평균을 구함
#거래량은 가장큰값을 계산
sum1 = 0;
Hv = 0;
for cnt = 1 to 20{
sum1 = sum1+MM[cnt];
if DayVolume(cnt) > Hv Then
Hv = DayVolume(cnt);
}
mav1 = sum1/20;
#9시에서 11사이이고
if stime >= 090000 and stime <= 110000 and
O < C and #현재 양봉이고
dayopen > DayClose(1) and #당일시초가는 전일종가보다 큼
MM[20] > 0 and mav1 > 500000000 and #최근 20일 거대대금 평균은 5억이상
DayVolume > Hv and #당일거래량이 20일 최고거래량보다 크고
dayopen < DayClose(1)*1.05 and #시초가가 전일종가대비 5%이상 크지 않고
C <= DayClose(1)*1.05 and C >= DayClose(1)*0.95 Then #현재봉종가는 전일종가대비 +5%~-5%사이
find(1);
2
분봉을 이용할 필요가 없는 내용이므로
아래와 같이 작성후 일봉에서 검색하시면 됩니다.
if O < C and
ma(M,20)[1] >= 500000000 and
V >= highest(v,40)[1] Then
find(1);
즐거운 하루되세요
즐거운 하루되세요
> 조민철 님이 쓴 글입니다.
> 제목 : Re : Re :종목검색식 수정
> 감사드립니다
1.종목검색식 해설부탁드립니다
var : cnt(0),sum1(0),mav1(0),Hv(0);
Array : MM[50](0);
if date != date[1] Then{
Condition1 = false;
MM[0] = 0;
for cnt = 1 to 49{
MM[cnt] = MM[cnt][1];
}
}
MM[0] = MM[0]+Money;
sum1 = 0;
Hv = 0;
for cnt = 1 to 20{
sum1 = sum1+MM[cnt];
if DayVolume(cnt) > Hv Then
Hv = DayVolume(cnt);
}
mav1 = sum1/20;
if stime >= 090000 and stime <= 110000 and
O < C and
O > C[1] and
MM[20] > 0 and mav1 > 500000000 and
DayVolume > Hv and
dayopen < DayClose(1)*1.05 and
C <= DayClose(1)*1.05 and C >= DayClose(1)*0.95 Then
find(1);
2_종목검색식 간단히 작성코져합니다
1) 주가비교 ==> 0봉전 시가< 0봉전 종가
2) 20일 평균거래대금 5억원이상(금일제외)
3) [일봉] 0봉전 40봉중 신고 거래량
검색조건
1) and 2) and 3)
감사합니다
다음글
이전글