커뮤니티

청산식 관련

프로필 이미지
forKaren
2010-03-24 00:12:58
606
글번호 28861
답변완료
아래와 같은 수식의 데이 시스템에서 마지막 포지션 청산결과 당일수익(dayPL)이 손실인 경우... dayPL 만큼의 수익이 발생하면 청산하는 수식을 작성해주세요. 예를들어 dayPL 이 현재까지 -1.3 이라면, 롱진입은 EntryPrice+1.3 청산 숏진입은 EntryPrice-1.3 청산하면 되겠지요. dayPL을 청산수식에 어떻게 활용해야할지 모르겠네요. ------------------------------------------------------------------- input : entrycnt(50); var : cnt(0),count(0); var : PLR(0),XCommission(0),XSlippage(0),OpenPL(0),dayPL(0); XCommission = ((C*ExitCommission)/100)*CurrentContracts; #%설정 XSlippage = (ExitSlippage)*CurrentContracts; #Pt설정 PLR = 0; count = 0; for var1 = 1 to 100{ if sdate == EntryDate(var1) Then{ PLR = PLR+PositionProfit(var1); } } if MarketPosition() == 0 Then{ OpenPL = 0; dayPL = PLR; } Else{ OpenPL = (PositionProfit-(XCommission+XSlippage)); dayPL = PLR+OpenPL; } count = 0; for cnt = 0 to 50{ if sDate == EntryDate(cnt) Then count = count+1; } if stime >=90000 then Var3 = dayindex()+1; #당일봉개수 (1/21) var4 = DayPL; if MarketPosition == 1 Then var1 = Highest(H,BarsSinceEntry); if MarketPosition == -1 Then var2 = Lowest(L,BarsSinceEntry); if count < entrycnt and 090000 < stime and stime < 144300 and dayPL >= -3.0 Then{ if count >= 0 and MarketPosition == 0 and C > DayOpen+0.5 Then Buy("롱진입",atstop,C); if count >= 0 and MarketPosition == 0 and C < DayOpen-0.5 Then Sell("숏진입",atstop,C); ...
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2010-03-24 09:32:12

안녕하세요 예스스탁입니다. 문의하신 내용은 아래와 같습니다. if MarketPosition == 1 Then{ exitlong("bx1",AtStop,EntryPrice-abs(dayPL)); exitlong("bx2",AtLimit,EntryPrice+abs(dayPL)); } if MarketPosition == -1 Then{ ExitShort("sx1",AtLimit,EntryPrice-abs(dayPL)); ExitShort("sx2",AtStop,EntryPrice+abs(dayPL)); } 다만 daypl은 당일손익입니다. 그러므로 첫진입에서는 0이므로 와 같은 경우 진입이후 바로 청산이 발생하게 됩니다. 당일 첫거래는 제외하고 두번째 거래부터 발생되게 하시려면 아래와 같습니다. if count >= 2 and MarketPosition == 1 Then{ exitlong("bx1",AtStop,EntryPrice-abs(dayPL)); exitlong("bx2",AtLimit,EntryPrice+abs(dayPL)); } if count >= 2 and MarketPosition == -1 Then{ ExitShort("sx1",AtLimit,EntryPrice-abs(dayPL)); ExitShort("sx2",AtStop,EntryPrice+abs(dayPL)); } 참고하시기 바랍니다. 즐거운 하루되세요 > forKaren 님이 쓴 글입니다. > 제목 : 청산식 관련 > 아래와 같은 수식의 데이 시스템에서 마지막 포지션 청산결과 당일수익(dayPL)이 손실인 경우... dayPL 만큼의 수익이 발생하면 청산하는 수식을 작성해주세요. 예를들어 dayPL 이 현재까지 -1.3 이라면, 롱진입은 EntryPrice+1.3 청산 숏진입은 EntryPrice-1.3 청산하면 되겠지요. dayPL을 청산수식에 어떻게 활용해야할지 모르겠네요. ------------------------------------------------------------------- input : entrycnt(50); var : cnt(0),count(0); var : PLR(0),XCommission(0),XSlippage(0),OpenPL(0),dayPL(0); XCommission = ((C*ExitCommission)/100)*CurrentContracts; #%설정 XSlippage = (ExitSlippage)*CurrentContracts; #Pt설정 PLR = 0; count = 0; for var1 = 1 to 100{ if sdate == EntryDate(var1) Then{ PLR = PLR+PositionProfit(var1); } } if MarketPosition() == 0 Then{ OpenPL = 0; dayPL = PLR; } Else{ OpenPL = (PositionProfit-(XCommission+XSlippage)); dayPL = PLR+OpenPL; } count = 0; for cnt = 0 to 50{ if sDate == EntryDate(cnt) Then count = count+1; } if stime >=90000 then Var3 = dayindex()+1; #당일봉개수 (1/21) var4 = DayPL; if MarketPosition == 1 Then var1 = Highest(H,BarsSinceEntry); if MarketPosition == -1 Then var2 = Lowest(L,BarsSinceEntry); if count < entrycnt and 090000 < stime and stime < 144300 and dayPL >= -3.0 Then{ if count >= 0 and MarketPosition == 0 and C > DayOpen+0.5 Then Buy("롱진입",atstop,C); if count >= 0 and MarketPosition == 0 and C < DayOpen-0.5 Then Sell("숏진입",atstop,C); ...