커뮤니티

수식 수정 부탁드립니다.

프로필 이미지
고박사122
2017-05-12 10:23:19
112
글번호 109494
답변완료
안녕하세요. 아래 수식에 진입방식이 n 번의 손절이 된 후 실제로 진입되도록 가능할까요? > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 수식 변경 요청드립니다. > 안녕하세요 예스스탁입니다. input : 시작시간(180000), 끝시간(055000), 손절틱수 (10); Input : TurnLen1(5), StdLen1(26); Input : TurnLen2(9), StdLen2(26); Var : 기준선1(0), 전환선1(0); Var : 기준선2(0), 전환선2(0); Var : HH(0), LL(0), vol(0),Tcond(false),T(0); 전환선1 = (Highest(High, TurnLen1) + Lowest(Low, TurnLen1)) / 2; 기준선1 = (Highest(High, StdLen1) + Lowest(Low, StdLen1)) / 2; 전환선2 = (Highest(High, TurnLen2) + Lowest(Low, TurnLen2)) / 2; 기준선2 = (Highest(High, StdLen2) + Lowest(Low, StdLen2)) / 2; Condition1 = 전환선1 > C and C > 기준선2; Condition2 = 전환선1 < C and C < 기준선2; if stime == 시작시간 or (stime > 시작시간 and stime[1] < 시작시간 ) Then{ T = 0; Tcond = true; } if stime == 끝시간 or (stime > 끝시간 and stime[1] < 끝시간 ) Then{ Tcond = false; if MarketPosition == 1 Then ExitLong(); if MarketPosition == -1 Then ExitShort(); } if Tcond == true then{ if T <= 0 and Condition1 == true and Condition1[1] == false Then{ T = 1; if MarketPosition == 0 Then{ if PositionProfit(1) >= 0 Then vol = 1; Else vol = Vol+2; } Else{ if PositionProfit(0) >= 0 Then vol = 1; Else vol = Vol*2; } buy("b",OnClose,def,vol); } if T >= 0 and Condition2 == true and Condition2[1] == false Then{ T = -1; if MarketPosition == 0 Then{ if PositionProfit(1) >= 0 Then vol = 1; Else vol = Vol+2; } Else{ if PositionProfit(0) >= 0 Then vol = 1; Else vol = Vol*2; } sell("s",OnClose,def,vol); } } if MarketPosition == 1 Then{ LL = Floor((highest(H,BarsSinceEntry) - EntryPrice)/(PriceScale*손절틱수 )); ExitLong("bx",AtStop,(EntryPrice-(PriceScale*손절틱수 ))+(PriceScale*손절틱수 )*LL); } if MarketPosition == -1 Then{ HH = Floor((EntryPrice-Lowest(L,BarsSinceEntry))/(PriceScale*손절틱수 )); ExitShort("sx",AtStop,(EntryPrice+(PriceScale*손절틱수))-(PriceScale*손절틱수 )*HH); } SetStopLoss(PriceScale*손절틱수,PointStop);
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2017-05-12 17:45:26

안녕하세요 예스스탁입니다. 실제신호는 발생하는데 선별적으로 주문이 가능하게는 가능하지 않습니다. 문의하신 내용은 가상으로 신호를 체크하게 식을 작성해야 하는데 해당 부분은 작성해 보는데 시간이 오래걸려 저희가 수식을 작성해 드리기는 어렵습니다. 즐거운 하루되세요 > 고박사122 님이 쓴 글입니다. > 제목 : 수식 수정 부탁드립니다. > 안녕하세요. 아래 수식에 진입방식이 n 번의 손절이 된 후 실제로 진입되도록 가능할까요? > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 수식 변경 요청드립니다. > 안녕하세요 예스스탁입니다. input : 시작시간(180000), 끝시간(055000), 손절틱수 (10); Input : TurnLen1(5), StdLen1(26); Input : TurnLen2(9), StdLen2(26); Var : 기준선1(0), 전환선1(0); Var : 기준선2(0), 전환선2(0); Var : HH(0), LL(0), vol(0),Tcond(false),T(0); 전환선1 = (Highest(High, TurnLen1) + Lowest(Low, TurnLen1)) / 2; 기준선1 = (Highest(High, StdLen1) + Lowest(Low, StdLen1)) / 2; 전환선2 = (Highest(High, TurnLen2) + Lowest(Low, TurnLen2)) / 2; 기준선2 = (Highest(High, StdLen2) + Lowest(Low, StdLen2)) / 2; Condition1 = 전환선1 > C and C > 기준선2; Condition2 = 전환선1 < C and C < 기준선2; if stime == 시작시간 or (stime > 시작시간 and stime[1] < 시작시간 ) Then{ T = 0; Tcond = true; } if stime == 끝시간 or (stime > 끝시간 and stime[1] < 끝시간 ) Then{ Tcond = false; if MarketPosition == 1 Then ExitLong(); if MarketPosition == -1 Then ExitShort(); } if Tcond == true then{ if T <= 0 and Condition1 == true and Condition1[1] == false Then{ T = 1; if MarketPosition == 0 Then{ if PositionProfit(1) >= 0 Then vol = 1; Else vol = Vol+2; } Else{ if PositionProfit(0) >= 0 Then vol = 1; Else vol = Vol*2; } buy("b",OnClose,def,vol); } if T >= 0 and Condition2 == true and Condition2[1] == false Then{ T = -1; if MarketPosition == 0 Then{ if PositionProfit(1) >= 0 Then vol = 1; Else vol = Vol+2; } Else{ if PositionProfit(0) >= 0 Then vol = 1; Else vol = Vol*2; } sell("s",OnClose,def,vol); } } if MarketPosition == 1 Then{ LL = Floor((highest(H,BarsSinceEntry) - EntryPrice)/(PriceScale*손절틱수 )); ExitLong("bx",AtStop,(EntryPrice-(PriceScale*손절틱수 ))+(PriceScale*손절틱수 )*LL); } if MarketPosition == -1 Then{ HH = Floor((EntryPrice-Lowest(L,BarsSinceEntry))/(PriceScale*손절틱수 )); ExitShort("sx",AtStop,(EntryPrice+(PriceScale*손절틱수))-(PriceScale*손절틱수 )*HH); } SetStopLoss(PriceScale*손절틱수,PointStop);