커뮤니티

시스템식 부탁합니다

프로필 이미지
먼지의추억
2012-04-19 23:54:23
374
글번호 50264
답변완료
수고 많습니다. 돌파전략을 CME에 적용해 보려 합니다. 1. 복합장(정규장+CME)의 차트를 불러 18:00의 시초가에서 금일 정규장(9~15:10)진폭의 50% 상승이면 BUY,반대면 SELL 하는 변동성돌파전략을 만들고 싶어요. 아래의 것을 돌려보면 00:00:00부터 진입되는데,18:00부터 진입되게 해주세요. input : DayMult(0.50),Mult(6.5); var: fopen(0),fhigh(0),flow(0),fclose(0); If stime == 180000 Then { fopen = Open; fhigh = high ; flow = low ; fclose = Close; } #진입 var1 = (TimeHigh(90000,151000) - TimeLow(90000,151000))*DayMult; if entriestoday(date) < 1 and stime >=180000 and stime <240000 then { buy("buy",atstop,fopen+var1); sell("sell",atstop,fopen-var1); } // } #청산 var3 =highest(h,barssinceentry+1) - atr(15)* Mult; var4 =lowest(L,barssinceentry+1) + atr(15)* Mult; if marketposition <> 0 then { exitlong("ExL-001",atstop,var3); exitshort("ExS-001",atstop,var4); } setstoploss(2,percentstop); setstopendofday(45000); 2. 위 프로그램이 돈다면 금일(18:00~~익일04:50)의 가장 높은 값과 가장 낮은값을 알고 싶어요 감사합니다.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2012-04-20 10:28:33

안녕하세요 예스스탁입니다. 식을 수정했습니다. 선물 야간장의 경우 당일청산함수를 이용하시면 안됩니다. 당일청산함수는 해당 함수로 청산이 되면 당일에는 더이상 진입을 하지 못하게 하므로 새벽 4시에 당일청산하면 당일 밤에는 신호가 발생할 수 없어 다음날 0시 이후에나 신호가 발생하게 됩니다. 야간장에서 if문으로 시간을 지정해 청산하셔야 합니다. input : DayMult(0.50),Mult(6.5); var : dayh(0),DayL(0),Fopen(0),CMEentry(0); #주간장 최고가 최저가 if stime == 90000 Then{ dayh = H; dayL = L; } if stime >= 90000 and stime <= 151500 Then{ if H > dayH Then dayH = H; if L < dayL Then DayL = L; } var1 = dayh-dayl; #야간장 첫봉 if stime == 180000 or (stime > 180000 and stime[1] < 180000) Then{ Fopen = O;# 시가 CMEentry = 0;#야간장 진입횟수 0으로 초기화 } #야간장에서 진입횟수 if stime >= 180000 or stime < 45000 Then{ if (MarketPosition != 0 and MarketPosition == MarketPosition[1]) Then CMEentry = CMEentry+1; } #야간장에서 한번만만 진입 if CMEentry < 1 and (stime >=180000 or stime < 45000) then { buy("buy",atstop,fopen+(var1*0.5));#야간장 시초가대비 주간장 진폭의 50% 상승하면 매수 sell("sell",atstop,fopen-(var1*0.5));#야간장 시초가대비 주간장 진폭의 50% 하락하면 매도 } #청산 var3 =highest(h,barssinceentry+1) - atr(15)* Mult; var4 =lowest(L,barssinceentry+1) + atr(15)* Mult; if marketposition <> 0 then { exitlong("ExL-001",atstop,var3); exitshort("ExS-001",atstop,var4); } setstoploss(2,percentstop); if stime == 45000 Then{ exitlong(); ExitShort(); } 2. 야간장 시초가, 최고가와 최저가, 종가를 그리는 지표식입니다. var : Fopen(0),Fhigh(0),Flow(0),Fclose(0); #야간장 첫봉 if stime == 180000 or (stime > 180000 and stime[1] < 180000) Then{ Fopen = O; Fhigh = H; Flow = L; Fclose = C; } if stime >= 180000 or stime < 900000 Then{ if H > Fhigh Then Fhigh = H; if L < Flow Then Flow = L; Fclose = C; } plot1(fopen,"야간장시가"); plot2(fhigh,"야간장고가"); plot3(flow,"야간장저가"); plot4(fclose,"야간장종가"); 즐거운 하루되세요 > 먼지의추억 님이 쓴 글입니다. > 제목 : 시스템식 부탁합니다 > 수고 많습니다. 돌파전략을 CME에 적용해 보려 합니다. 1. 복합장(정규장+CME)의 차트를 불러 18:00의 시초가에서 금일 정규장(9~15:10)진폭의 50% 상승이면 BUY,반대면 SELL 하는 변동성돌파전략을 만들고 싶어요. 아래의 것을 돌려보면 00:00:00부터 진입되는데,18:00부터 진입되게 해주세요. input : DayMult(0.50),Mult(6.5); var: fopen(0),fhigh(0),flow(0),fclose(0); If stime == 180000 Then { fopen = Open; fhigh = high ; flow = low ; fclose = Close; } #진입 var1 = (TimeHigh(90000,151000) - TimeLow(90000,151000))*DayMult; if entriestoday(date) < 1 and stime >=180000 and stime <240000 then { buy("buy",atstop,fopen+var1); sell("sell",atstop,fopen-var1); } // } #청산 var3 =highest(h,barssinceentry+1) - atr(15)* Mult; var4 =lowest(L,barssinceentry+1) + atr(15)* Mult; if marketposition <> 0 then { exitlong("ExL-001",atstop,var3); exitshort("ExS-001",atstop,var4); } setstoploss(2,percentstop); setstopendofday(45000); 2. 위 프로그램이 돈다면 금일(18:00~~익일04:50)의 가장 높은 값과 가장 낮은값을 알고 싶어요 감사합니다.