커뮤니티

문의

프로필 이미지
hjkang철인
2014-10-27 16:27:59
158
글번호 79783
답변완료
답변 감사드립니다. 1번째 답변에서 수정요청 드리겠습니다. 이런 전략으로 거래를 시뮬레이션해보니.. . 손실을 확정하고 또는 수익을 확정하고 진입을 하려고 하니 문제가 좀 있습니다.. 가상 신호가 나오고 그 신호가 발생한 가격을 저장하고..신호가 발생하고 나서 3개 캔들 이내에서 그 신호가 5틱 이상 수익이 되면 진입하고 그렇지 않으면 진입하지 않게끔 수정 부탁드리겠습니다. ==================================================================== 1. 아래내용 참고하시기 바랍니다. 문의하신 내용은 가상으로 전략의 수익을 계산해서 사용하셔야 합니다. 실제 신호상 손실에 3번연속 발생하면 다음 가상의 거래중 2번연속 수익이 발생하면 진입합니다. 진입된 신호가 다시 손실이면 다시 가상으로 2번의 연속거래가 수익이어야 다시 진입합니다. var : T(0),EP(0),PL(0),PL1(0),Xcond(false); var1=ema(C,5); var2=ema(C,15); if MarketPosition == 0 and PositionProfit(1) < 0 and PositionProfit(2) < 0 and PositionProfit(3) < 0 Then Xcond = true; else if MarketPosition == 1 and C < EntryPrice and PositionProfit(1) < 0 and PositionProfit(2) < 0 Then Xcond = true; else if MarketPosition == -1 and C > EntryPrice and PositionProfit(1) < 0 and PositionProfit(2) < 0 Then Xcond = true; Else Xcond = false; if crossup(var1,var2) then{ #가상손익 계산 if T == -1 Then{ PL = EP-C; PL1 = PL[1]; } EP = C; T = 1; if Xcond == false Then buy("b1"); if Xcond == true and countif(crossup(var1,var2),BarsSinceExit(1)) >= 2 and PL > 0 and PL1 > 0 Then buy("b2"); if MarketPosition == -1 and Xcond == true Then ExitShort("sx"); } if crossdown(var1,var2) then{ #가상손익 계산 if T == 1 Then{ PL = C-EP; PL1 = PL[1]; } EP = C; T = -1; if Xcond == false Then sell("s1"); if Xcond == true and countif(CrossDown(var1,var2),BarsSinceExit(1)) >= 2 and PL > 0 and PL1 > 0 Then sell("s2"); if MarketPosition == 1 and Xcond == true Then ExitLong("bx"); } > hjkang철인 님이 쓴 글입니다. > 제목 : 문의드립니다. > 현재 신호가 나오고 있습니다. 발생하는 매수 매도 신호 중에서 손실이 3번 발생하면 신호가 나오더라도 진입이 되지 않고 손실 3회 발생한 이후 그 이후 진행되는 신호가 연속적으로 수익이 2회 발생하면 그 이후에 신호대로 다시 진입되게 끔 가능할까요? 시스템 신호는 1.매수-> 2.매도-> 3.매수->4.매도->5. 매수 ->6.매도->7.매수->8.매도 이렇게 신호가 발생한다고 할때 1,2,3 신호 손실 진입차단. 4,5 신호 수익이라면.. 6.매도에 재진입 되는 것을 말하는 것입니다. var1=ema(C,5); var2=ema(C,15); if crossup(var1,var2) then Buy("B"); if crossdown(var1,var2) then Sell("S");
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2014-10-27 20:02:41

안녕하세요 예스스탁입니다. var : T(0),EP(0),PL(0),PL1(0),Xcond(false),BuySet(false),SellSet(false); var1=ema(C,5); var2=ema(C,15); if MarketPosition == 0 and PositionProfit(1) < 0 and PositionProfit(2) < 0 and PositionProfit(3) < 0 Then Xcond = true; else if MarketPosition == 1 and C < EntryPrice and PositionProfit(1) < 0 and PositionProfit(2) < 0 Then Xcond = true; else if MarketPosition == -1 and C > EntryPrice and PositionProfit(1) < 0 and PositionProfit(2) < 0 Then Xcond = true; Else Xcond = false; if crossup(var1,var2) then{ #가상손익 계산 if T == -1 Then{ PL = EP-C; PL1 = PL[1]; } EP = C; T = 1; if Xcond == false Then buy("b1"); BuySet = false; if Xcond == true and countif(crossup(var1,var2),BarsSinceExit(1)) >= 2 and PL > 0 and PL1 > 0 Then BuySet = true; if MarketPosition == -1 and Xcond == true Then ExitShort("sx"); } if MarketPosition == 0 and T == 1 And Xcond == true and BuySet == true and countif(crossup(var1,var2),3) >= 1 And C >= EP+PriceScale*5 Then buy("b2"); if crossdown(var1,var2) then{ #가상손익 계산 if T == 1 Then{ PL = C-EP; PL1 = PL[1]; } EP = C; T = -1; if Xcond == false Then sell("s1"); SellSet = false; if Xcond == true and countif(CrossDown(var1,var2),BarsSinceExit(1)) >= 2 and PL > 0 and PL1 > 0 Then SellSet = true; if MarketPosition == 1 and Xcond == true Then ExitLong("bx"); } if MarketPosition == 0 and T == -1 and Xcond == true and SellSet == true and countif(CrossDown(var1,var2),3) >= 1 And C <= EP-PriceScale*5 Then sell("s2"); 즐거운 하루되세요 > hjkang철인 님이 쓴 글입니다. > 제목 : 문의 > 답변 감사드립니다. 1번째 답변에서 수정요청 드리겠습니다. 이런 전략으로 거래를 시뮬레이션해보니.. . 손실을 확정하고 또는 수익을 확정하고 진입을 하려고 하니 문제가 좀 있습니다.. 가상 신호가 나오고 그 신호가 발생한 가격을 저장하고..신호가 발생하고 나서 3개 캔들 이내에서 그 신호가 5틱 이상 수익이 되면 진입하고 그렇지 않으면 진입하지 않게끔 수정 부탁드리겠습니다. ==================================================================== 1. 아래내용 참고하시기 바랍니다. 문의하신 내용은 가상으로 전략의 수익을 계산해서 사용하셔야 합니다. 실제 신호상 손실에 3번연속 발생하면 다음 가상의 거래중 2번연속 수익이 발생하면 진입합니다. 진입된 신호가 다시 손실이면 다시 가상으로 2번의 연속거래가 수익이어야 다시 진입합니다. var : T(0),EP(0),PL(0),PL1(0),Xcond(false); var1=ema(C,5); var2=ema(C,15); if MarketPosition == 0 and PositionProfit(1) < 0 and PositionProfit(2) < 0 and PositionProfit(3) < 0 Then Xcond = true; else if MarketPosition == 1 and C < EntryPrice and PositionProfit(1) < 0 and PositionProfit(2) < 0 Then Xcond = true; else if MarketPosition == -1 and C > EntryPrice and PositionProfit(1) < 0 and PositionProfit(2) < 0 Then Xcond = true; Else Xcond = false; if crossup(var1,var2) then{ #가상손익 계산 if T == -1 Then{ PL = EP-C; PL1 = PL[1]; } EP = C; T = 1; if Xcond == false Then buy("b1"); if Xcond == true and countif(crossup(var1,var2),BarsSinceExit(1)) >= 2 and PL > 0 and PL1 > 0 Then buy("b2"); if MarketPosition == -1 and Xcond == true Then ExitShort("sx"); } if crossdown(var1,var2) then{ #가상손익 계산 if T == 1 Then{ PL = C-EP; PL1 = PL[1]; } EP = C; T = -1; if Xcond == false Then sell("s1"); if Xcond == true and countif(CrossDown(var1,var2),BarsSinceExit(1)) >= 2 and PL > 0 and PL1 > 0 Then sell("s2"); if MarketPosition == 1 and Xcond == true Then ExitLong("bx"); } > hjkang철인 님이 쓴 글입니다. > 제목 : 문의드립니다. > 현재 신호가 나오고 있습니다. 발생하는 매수 매도 신호 중에서 손실이 3번 발생하면 신호가 나오더라도 진입이 되지 않고 손실 3회 발생한 이후 그 이후 진행되는 신호가 연속적으로 수익이 2회 발생하면 그 이후에 신호대로 다시 진입되게 끔 가능할까요? 시스템 신호는 1.매수-> 2.매도-> 3.매수->4.매도->5. 매수 ->6.매도->7.매수->8.매도 이렇게 신호가 발생한다고 할때 1,2,3 신호 손실 진입차단. 4,5 신호 수익이라면.. 6.매도에 재진입 되는 것을 말하는 것입니다. var1=ema(C,5); var2=ema(C,15); if crossup(var1,var2) then Buy("B"); if crossdown(var1,var2) then Sell("S");