커뮤니티

문의요~

프로필 이미지
겐지
2017-11-03 01:46:39
151
글번호 113865
답변완료
2 Input : 당일손실틱수(200); Var : N1(0),dayPl(0),당일손실(0),Xcond(false); 당일손실 = PriceScale*당일손실틱수; if Bdate != Bdate[1] Then{ Xcond = false; N1 = NetProfit; } daypl = NetProfit-N1; if TotalTrades > TotalTrades[1] and (IsExitName("dbl",1) == true or IsExitName("dsl",1) == true) then Xcond = true; if Xcond == false and 매수진입조건 Then{ buy("b"); } if Xcond == false and 매도진입조건 Then{ sell("s"); } if MarketPosition == 1 then{ ExitLong("dbl",AtStop,EntryPrice-((당일손실+daypl)/CurrentContracts)); } if MarketPosition == -1 then{ ExitShort("dsl",AtStop,EntryPrice+((당일손실+daypl)/CurrentContracts)); } if (sdate != sdate[1] and stime >= 020000) or (sdate == sdate[1] and stime > 020000 and stime[1] < 020000) Then{ if MarketPosition == 1 Then ExitLong("bx"); if MarketPosition == -1 Then ExitShort("sx"); } 어제문의한 당일손실제한200틱인데요~ 수익도200틱제한으로 추가 부탁드릴게요 식을 이해를 못해서 수정을 못하겠습니다~ 위식에서 간단히 주석설명도 부탁드립니다. 감사합니다~ 특히 N1 = NetProfit; //(청산종결된모든거래의손익금액) 이렇게 선언을 했는데 daypl = NetProfit-N1; 여기서는 daypl은 무조건 0이 나오는게 아닌가요 특히 이부분이 이해가 어렵습니다~
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2017-11-03 10:45:49

안녕하세요 예스스탁입니다. 시간청산 내용은 불필요한 부분이라 삭제했습니다. 수식에 주석을 붙여드립니다. Input : 당일수익틱수(80),당일손실틱수(80); Var : N1(0),dayPl(0),당일수익(0),당일손실(0),Xcond(false); #틱수를 포이트(원)으로 환산 당일수익 = PriceScale*당일수익틱수; 당일손실 = PriceScale*당일손실틱수; #영업일 변경 if Bdate != Bdate[1] Then{ #특정 이름의 청산이 발생하면 true를 저장하는 변수는 false로 초기화 Xcond = false; #n1은 오늘 장초기준 총손익 N1 = NetProfit; } #총손익에서 장초 총손익을 빼서 현재손익을 계산 daypl = NetProfit-N1; #청산이 발생시 dbp,dbl,dsp,dsl이름의 청산이 발생하면 #xcond는 true로 변경 if TotalTrades > TotalTrades[1] and (IsExitName("dbp",1) == true or IsExitName("dbl",1) == true or IsExitName("dsp",1) == true or IsExitName("dsl",1) == true) then Xcond = true; #모든 진입은 xcond가 false일때만 진입 if Xcond == false and 매수진입조건 Then{ buy("b"); } if Xcond == false and 매도진입조건 Then{ sell("s"); } if MarketPosition == 1 then{ # 매수진입후 당일수익에 도달할 만큼 수익발생하면 청산 ExitLong("dbp",atlimit,EntryPrice+((당일수익-daypl)/CurrentContracts)); # 매수진입후 당일손실에 도달할 만큼 손실발생하면 청산 ExitLong("dbl",AtStop,EntryPrice-((당일손실+daypl)/CurrentContracts)); } if MarketPosition == -1 then{ # 매도진입후 당일손실에 도달할 만큼 손실발생하면 청산 ExitShort("dsp",atlimit,EntryPrice-((당일수익-daypl)/CurrentContracts)); # 매도진입후 당일손실에 도달할 만큼 손실발생하면 청산 ExitShort("dsl",AtStop,EntryPrice+((당일손실+daypl)/CurrentContracts)); } 즐거운 하루되세요 > 겐지 님이 쓴 글입니다. > 제목 : 문의요~ > 2 Input : 당일손실틱수(200); Var : N1(0),dayPl(0),당일손실(0),Xcond(false); 당일손실 = PriceScale*당일손실틱수; if Bdate != Bdate[1] Then{ Xcond = false; N1 = NetProfit; } daypl = NetProfit-N1; if TotalTrades > TotalTrades[1] and (IsExitName("dbl",1) == true or IsExitName("dsl",1) == true) then Xcond = true; if Xcond == false and 매수진입조건 Then{ buy("b"); } if Xcond == false and 매도진입조건 Then{ sell("s"); } if MarketPosition == 1 then{ ExitLong("dbl",AtStop,EntryPrice-((당일손실+daypl)/CurrentContracts)); } if MarketPosition == -1 then{ ExitShort("dsl",AtStop,EntryPrice+((당일손실+daypl)/CurrentContracts)); } if (sdate != sdate[1] and stime >= 020000) or (sdate == sdate[1] and stime > 020000 and stime[1] < 020000) Then{ if MarketPosition == 1 Then ExitLong("bx"); if MarketPosition == -1 Then ExitShort("sx"); } 어제문의한 당일손실제한200틱인데요~ 수익도200틱제한으로 추가 부탁드릴게요 식을 이해를 못해서 수정을 못하겠습니다~ 위식에서 간단히 주석설명도 부탁드립니다. 감사합니다~ 특히 N1 = NetProfit; //(청산종결된모든거래의손익금액) 이렇게 선언을 했는데 daypl = NetProfit-N1; 여기서는 daypl은 무조건 0이 나오는게 아닌가요 특히 이부분이 이해가 어렵습니다~