커뮤니티

시스템 설명좀 부탁합니다 ~!

프로필 이미지
yooneee7
2015-12-10 14:00:39
95
글번호 93272
답변완료
var : cnt(0),count(0),pt(0.5); count = 0; for cnt = 0 to 20{ if sdate == EntryDate(cnt) Then count = count+1; } if stime < 095900 then{ var1 = dayhigh; var2 = daylow; } if stime >= 095900 and count < 1 and stime < 150000 Then{ buy("b",AtStop,var1); sell("s",AtStop,var2); } if MarketPosition == 1 Then{ var1 = Floor((highest(H,BarsSinceEntry)-EntryPrice)/pt); ExitLong("bx",AtStop,EntryPrice+(pt*(var1-1))); } if MarketPosition == -1 Then{ var2 = Floor((EntryPrice-Lowest(L,BarsSinceEntry))/pt); ExitShort("sx",AtStop,EntryPrice-(pt*(var2-1))); } SetStopEndofday(145959); 보내주신 수식에서 진입만 당일 최고가 최저가에 진입하는걸로 바꿨습니다 . ~! 처음부터 왜 수식이 이렇게 되는지.. 자세하게 주석달아주세요 .. ! 감사합니다 ~!! ~!!
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2015-12-11 10:15:07

안녕하세요 예스스탁입니다. var : cnt(0),count(0),pt(0.5); #당일 진입회수 카운트 #최근 20개의 진입의 날짜를 가져와 오늘날짜와 비교해 #같은 날짜가 몇번인지 카운트 count = 0; for cnt = 0 to 20{ if sdate == EntryDate(cnt) Then count = count+1; } #9시 59분 이전에 당일최고가와 최저가 저장 if stime < 095900 then{ var1 = dayhigh; var2 = daylow; } #9시 59분 이후에 당일 진입이 한번도 없고 15시 이전일때 if stime >= 095900 and count < 1 and stime < 150000 Then{ #9시59분 이전 최고가 이상의 시세가 발생하면 즉시 매수 buy("b",AtStop,var1); #9시59분 이전 최저가 이하의 시세가 발생하면 즉시 매도 sell("s",AtStop,var2); } #매수진입이후 if MarketPosition == 1 Then{ #진입 이후 최고수익을 0.5단위로 나누어 0.5크기로 몇배인지 계산(소숫점은 버림) #수익이 #0.5포인트 미만이면 var1은 0 #0.5포인트이상 1.0포인트 미만이면 var1은 1 #1.0포인트이상 1.5포인트 미만이면 var1은 2 #1.5포인트이상 2.0포인트 미만이면 var1은 3 #..... var1 = Floor((highest(H,BarsSinceEntry)-EntryPrice)/pt); #최고 수익배수에서 1배수 수익이 하락하면 청산 #0.5포인트 미만이면 진입가-0.5 --> 진입가+0.5*(0-1) #0.5포인트 이상이면 1.0포인트 미만이면 진입가 --> 진입가+0.5*(1-1) #1.0포인트 이상이면 1.5포인트 미만이면 진입가+0.5 --> 진입가+0.5*(2-1) #1.5포인트 이상이면 2.0포인트 미만이면 진입가+1.0 --> 진입가+0.5*(3-1) #...... ExitLong("bx",AtStop,EntryPrice+(pt*(var1-1))); } #매도청산도 위 계산법과 같습니다 if MarketPosition == -1 Then{ #진입 이후 최고수익을 0.5단위로 나누어 0.5크기로 몇배인지 계산(소숫점은 버림) #수익이 #0.5포인트 미만이면 var2은 0 #0.5포인트이상 1.0포인트 미만이면 var2은 1 #1.0포인트이상 1.5포인트 미만이면 var2은 2 #1.5포인트이상 2.0포인트 미만이면 var2은 3 #..... var2 = Floor((EntryPrice-Lowest(L,BarsSinceEntry))/pt); #최고 수익배수에서 1배수 수익이 하락하면 청산 #0.5포인트 미만이면 진입가-0.5 --> 진입가-0.5*(0-1) #0.5포인트 이상이면 1.0포인트 미만이면 진입가 --> 진입가-0.5*(1-1) #1.0포인트 이상이면 1.5포인트 미만이면 진입가+0.5 --> 진입가-0.5*(2-1) #1.5포인트 이상이면 2.0포인트 미만이면 진입가+1.0 --> 진입가-0.5*(3-1) #...... ExitShort("sx",AtStop,EntryPrice-(pt*(var2-1))); } #14시59분59초 당일청산 SetStopEndofday(145959); 즐거운 하루되세요 > yooneee7 님이 쓴 글입니다. > 제목 : 시스템 설명좀 부탁합니다 ~! > var : cnt(0),count(0),pt(0.5); count = 0; for cnt = 0 to 20{ if sdate == EntryDate(cnt) Then count = count+1; } if stime < 095900 then{ var1 = dayhigh; var2 = daylow; } if stime >= 095900 and count < 1 and stime < 150000 Then{ buy("b",AtStop,var1); sell("s",AtStop,var2); } if MarketPosition == 1 Then{ var1 = Floor((highest(H,BarsSinceEntry)-EntryPrice)/pt); ExitLong("bx",AtStop,EntryPrice+(pt*(var1-1))); } if MarketPosition == -1 Then{ var2 = Floor((EntryPrice-Lowest(L,BarsSinceEntry))/pt); ExitShort("sx",AtStop,EntryPrice-(pt*(var2-1))); } SetStopEndofday(145959); 보내주신 수식에서 진입만 당일 최고가 최저가에 진입하는걸로 바꿨습니다 . ~! 처음부터 왜 수식이 이렇게 되는지.. 자세하게 주석달아주세요 .. ! 감사합니다 ~!! ~!!