커뮤니티

수식문의드립니다

프로필 이미지
toal
2018-09-19 11:19:32
197
글번호 122147
답변완료
수식 문의 드립니다. 1. 시간을 정해서 그시간안에 정해진 누적수익과 누적손실에 도달했을때 매매 정지하고 다음날 개장하면 다시 시작하는거로 할수 있을까요? 2. 예를 들어 9시부터 새벽3시까지 누적수익 20틱 발생하거나 누적손실 15틱 발생하는 순간에 청산하고 정지하는거로요 봉완성기준 누적손익이 아니라 실시간기준으로 즉시 청산이요 3. 청산되는 누적수익 조건을 혹시 두가지로 나누어서 만들수있을까요? 장누적손실이 5틱이하면 청산누적수익조건을 20틱으로 유지하다가 10틱이상으로 발생하면 청산누적수익을 10틱으로 변경하게 할 수 있나요?
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2018-09-19 14:39:39

안녕하세요 예스스탁입니다. 1 input : 시작시간(90000),종료시간(30000); Input : 당일누적수익틱수(20),당일누적손실틱수(15); Var : N1(0),dayPl(0),당일누적수익(0),당일누적손실(0),Xcond(false),Tcond(false); 당일누적수익 = PriceScale*당일누적수익틱수; 당일누적손실 = PriceScale*당일누적손실틱수; if (sdate != sdate[1] and stime >= 시작시간) or (sdate == sdate[1] and stime >= 시작시간 and stime[1] < 시작시간) Then { Tcond == true; Xcond = false; N1 = NetProfit; } if (sdate != sdate[1] and stime >= 종료시간) or (sdate == sdate[1] and stime >= 종료시간 and stime[1] < 종료시간) Then { Tcond = false; } daypl = NetProfit-N1; 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; if Xcond == false and Tcond == true then { if /*매수진입조건*/ Then { buy("b"); } if /*매도진입조건*/ 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 : 시작시간(90000),종료시간(30000); Input : 당일누적수익틱수1(20),당일누적수익틱수2(10),당일누적손실틱수(80); Var : N1(0),dayPl(0),당일누적수익1(0),당일누적수익2(0),당일누적손실(0),Xcond(false),Tcond(false); 당일누적수익1 = PriceScale*당일누적수익틱수1; 당일누적수익2 = PriceScale*당일누적수익틱수2; 당일누적손실 = PriceScale*당일누적손실틱수; if (sdate != sdate[1] and stime >= 시작시간) or (sdate == sdate[1] and stime >= 시작시간 and stime[1] < 시작시간) Then { Tcond == true; Xcond = false; N1 = NetProfit; Condition1 = false; } if (sdate != sdate[1] and stime >= 종료시간) or (sdate == sdate[1] and stime >= 종료시간 and stime[1] < 종료시간) Then { Tcond = false; } daypl = NetProfit-N1; if daypl <= -PriceScale*10 Then Condition1 = true; if TotalTrades > TotalTrades[1] and (IsExitName("dbp1",1) == true or IsExitName("dbp2",1) == true or IsExitName("dbl",1) == true or IsExitName("dsp1",1) == true or IsExitName("dsp1",2) == true or IsExitName("dsl",1) == true) then Xcond = true; if Xcond == false and Tcond == true then { if /*매수진입조건*/ Then { buy("b"); } if /*매도진입조건*/ Then { sell("s"); } if MarketPosition == 1 then { if Condition1 == false then ExitLong("dbp1",atlimit,EntryPrice+((당일누적수익1-daypl)/CurrentContracts)); Else ExitLong("dbp2",atlimit,EntryPrice+((당일누적수익2-daypl)/CurrentContracts)); ExitLong("dbl",AtStop,EntryPrice-((당일누적손실+daypl)/CurrentContracts)); } if MarketPosition == -1 then { if Condition1 == false then ExitShort("dsp1",atlimit,EntryPrice-((당일누적수익1-daypl)/CurrentContracts)); Else ExitShort("dsp2",atlimit,EntryPrice-((당일누적수익2-daypl)/CurrentContracts)); ExitShort("dsl",AtStop,EntryPrice+((당일누적손실+daypl)/CurrentContracts)); } } 즐거운 하루되세요 > toal 님이 쓴 글입니다. > 제목 : 수식문의드립니다 > 수식 문의 드립니다. 1. 시간을 정해서 그시간안에 정해진 누적수익과 누적손실에 도달했을때 매매 정지하고 다음날 개장하면 다시 시작하는거로 할수 있을까요? 2. 예를 들어 9시부터 새벽3시까지 누적수익 20틱 발생하거나 누적손실 15틱 발생하는 순간에 청산하고 정지하는거로요 봉완성기준 누적손익이 아니라 실시간기준으로 즉시 청산이요 3. 청산되는 누적수익 조건을 혹시 두가지로 나누어서 만들수있을까요? 장누적손실이 5틱이하면 청산누적수익조건을 20틱으로 유지하다가 10틱이상으로 발생하면 청산누적수익을 10틱으로 변경하게 할 수 있나요?