커뮤니티

행복; 수식 작성 바랍니다

프로필 이미지
행복한가방
2015-05-26 01:30:29
173
글번호 86386
답변완료
한국의 금융산업 발전을 위해 불철주야 애쓰시는 귀하의 노고를 높이 평가합니다 시스템식 작성 바랍니다 << 아래 >>의 수식 중에 잘못된 부분을 바로 잡아 주시기 바랍니다 =====================<< 아래 >>======================== input : 진입금액(10000000); var : didx(0); if date != date[1] Then Condition1 = false; if Condition1 == false Then { If Lowest(L,DayIndex+1) <= DayOpen*(1-1.5/100) Then { buy("b",AtStop,Lowest(L,DayIndex+1)*(1+1.0/100),int(진입금액/C)); Condition1 = true; } } if MarketPosition == 1 Then{ if MarketPosition[1] != MarketPosition Then if highest(h,BarsSinceEntry) >= EntryPrice*(1.02) Then ExitLong("bx1",AtStop,highest(h,BarsSinceEntry)*(0.985),"",int(CurrentContracts),1); if stime == 144300 Then ExitLong("bx2"); } ============================================================ 상기의 시스템식을 실제 적용해 보았습니다 대상; 현물 CJ 주기; 분봉 적용하는 현물 CJ 의 차트기간; 2015년 4월 29일부터 2015년 5월 6일까지 < 질문 1 > - 9분봉에 적용하면 2015년 5월 4일에 매수를 하고 144200에 매도를 하는데 1분봉을 적용하면 2015년 5월 4일에 매수를 하지 않습니다 - 무엇이 잘못된 것인가요? 바로 잡아 주시기 바랍니다 < 질문 2 > - 9분봉에 적용하면 2015년 5월 4일에 매수를 하고 144200에 매도를 하는데 - " if highest(h,BarsSinceEntry) >= EntryPrice*(1.02) Then ExitLong("bx1",AtStop,highest(h,BarsSinceEntry)*(0.985),"", int(CurrentContracts),1); " 를 삭제하면 9분봉을 적용해도 2015년 5월 4일에 매수를 하지 않습니다 - 무엇이 잘못된 것인가요? 바로 잡아 주시기 바랍니다 수고하십시요^^
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2015-05-28 16:49:16

안녕하세요 예스스탁입니다. 1. input : 진입금액(10000000); var : didx(0); if date != date[1] Then Condition1 = false; if MarketPosition == 1 Then Condition1 = true; if Condition1 == false Then { If Lowest(L,DayIndex+1) <= DayOpen*(1-1.5/100) Then { buy("b",AtStop,Lowest(L,DayIndex+1)*(1+1.0/100),int(진입금액/C)); } } if MarketPosition == 1 Then{ if MarketPosition[1] != MarketPosition Then if highest(h,BarsSinceEntry) >= EntryPrice*(1.02) Then ExitLong("bx1",AtStop,highest(h,BarsSinceEntry)*(0.985),"",int(CurrentContracts),1); } SetStopEndofday(144300); 2 if MarketPosition == 1 Then{ if MarketPosition[1] != MarketPosition Then if stime == 144300 Then ExitLong("bx2"); } bx1을 삭제하시면 위와 같은 구조가 됩니다. 진입이후 첫봉이고 그봉이 14시43분이어야만 청산이 됩니다. 즉 이전일에 진입한 부분이 청산이 되지 않았으므로 다음날 진입을 못하는 것입니다. 당일 청산함수를 이용해 시간청산하시기 바랍니다. input : 진입금액(10000000); var : didx(0); if date != date[1] Then Condition1 = false; if Condition1 == false Then { If Lowest(L,DayIndex+1) <= DayOpen*(1-1.5/100) Then { buy("b",AtStop,Lowest(L,DayIndex+1)*(1+1.0/100),int(진입금액/C)); Condition1 = true; } } if MarketPosition == 1 Then{ if MarketPosition[1] != MarketPosition Then if highest(h,BarsSinceEntry) >= EntryPrice*(1.02) Then ExitLong("bx1",AtStop,highest(h,BarsSinceEntry)*(0.985),"",int(CurrentContracts),1); } SetStopEndofday(144300); 즐거운 하루되세요 > 행복한가방 님이 쓴 글입니다. > 제목 : 행복; 수식 작성 바랍니다 > 한국의 금융산업 발전을 위해 불철주야 애쓰시는 귀하의 노고를 높이 평가합니다 시스템식 작성 바랍니다 << 아래 >>의 수식 중에 잘못된 부분을 바로 잡아 주시기 바랍니다 =====================<< 아래 >>======================== input : 진입금액(10000000); var : didx(0); if date != date[1] Then Condition1 = false; if Condition1 == false Then { If Lowest(L,DayIndex+1) <= DayOpen*(1-1.5/100) Then { buy("b",AtStop,Lowest(L,DayIndex+1)*(1+1.0/100),int(진입금액/C)); Condition1 = true; } } if MarketPosition == 1 Then{ if MarketPosition[1] != MarketPosition Then if highest(h,BarsSinceEntry) >= EntryPrice*(1.02) Then ExitLong("bx1",AtStop,highest(h,BarsSinceEntry)*(0.985),"",int(CurrentContracts),1); if stime == 144300 Then ExitLong("bx2"); } ============================================================ 상기의 시스템식을 실제 적용해 보았습니다 대상; 현물 CJ 주기; 분봉 적용하는 현물 CJ 의 차트기간; 2015년 4월 29일부터 2015년 5월 6일까지 < 질문 1 > - 9분봉에 적용하면 2015년 5월 4일에 매수를 하고 144200에 매도를 하는데 1분봉을 적용하면 2015년 5월 4일에 매수를 하지 않습니다 - 무엇이 잘못된 것인가요? 바로 잡아 주시기 바랍니다 < 질문 2 > - 9분봉에 적용하면 2015년 5월 4일에 매수를 하고 144200에 매도를 하는데 - " if highest(h,BarsSinceEntry) >= EntryPrice*(1.02) Then ExitLong("bx1",AtStop,highest(h,BarsSinceEntry)*(0.985),"", int(CurrentContracts),1); " 를 삭제하면 9분봉을 적용해도 2015년 5월 4일에 매수를 하지 않습니다 - 무엇이 잘못된 것인가요? 바로 잡아 주시기 바랍니다 수고하십시요^^