커뮤니티

문의 드립니다.

프로필 이미지
아틀라스
2011-11-18 16:02:07
560
글번호 44932
답변완료
수고가 많으십니다 (1식) if MarketPosition == 1 and c < Highest(H,BarsSinceEntry)*0.99 then ExitLong("bx",AtStop,c); (2식) if MarketPosition == 1 Then ExitLong("bx",AtStop,Highest(H,BarsSinceEntry)*0.99); 상기 1식과 2식은 같은 수식인지 궁금합니다. 그리고 onclose로 진입하는 경우에는 진입가격을 따로 할당하여 사용하면 되지 않나요? 아래식을 진입가격 및 최고가을 할당하여 수익실현과 손절매 수식을 부탁드립니다.(BarsSinceEntry와 EntryPrice대신에 적용) SetStopTrailing(1,0.00001,PercentStop,1); SetStopLoss(1); 상기 식을 사용하여 아래 식을 수정해 주시면 도움이 되겠습니다. 상기 식을 사용하면 추가 적인 조건등은 사용할 수 없나요? 감사합니다. value2 = 0; for value1 = 0 to 10{ if EntryDate(value1) == sdate Then value2 = value2+1; } var1 = ma(c,60); var2 = macd(12,26); var3 = ma(c,5); var4 = ma(c,20); Condition1 = ExitDate(1) == sdate and (IsExitName("bx4",1) or IsExitName("bx5",1)); if value2 < 6 and Condition1 == false Then{ if var1 > var1[1] and var1[1] < var1[2] Then buy("b1",OnClose,def,1); if crossup(var2,0) Then buy("b2",OnClose,def,1); if crossup(var3,var4) Then buy("b3",OnClose,def,1); } if var1 < var1[1] and var1[1] < var1[2] Then ExitLong("bx1",OnClose,def,"b1",1,1); if CrossDown(var2,0) Then ExitLong("bx2",OnClose,def,"b2",1,1); if CrossDown(var3,var4) Then ExitLong("bx3",OnClose,def,"b3",1,1); if MarketPosition == 1 Then{ ExitLong("bx4",AtStop,Highest(H,BarsSinceEntry)*0.99); ExitLong("bx5",AtStop,EntryPrice*0.99); }
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2011-11-18 16:55:25

안녕하세요 예스스탁입니다. 1. 비슷한 개념이지만 다른식입니다. 1번은 현재 미완성봉에서 최고가대비 1%하락한 시세가 발생하면 즉시 체결되지만 2번식는 봉완성기준으로 종가가 최고가대비 1%하락한 종가가 발생하고 해당 봉가보다 다음봉의 시세중에 낮은게 있어야 청산됩니다. 2. value2 = 0; for value1 = 0 to 10{ if EntryDate(value1) == sdate Then value2 = value2+1; } var1 = ma(c,60); var2 = macd(12,26); var3 = ma(c,5); var4 = ma(c,20); Condition1 = ExitDate(1) == sdate and (IsExitName("bx4",1) or IsExitName("bx5",1)); if value2 < 6 and Condition1 == false Then{ if var1 > var1[1] and var1[1] < var1[2] Then buy("b1",OnClose,def,1); if crossup(var2,0) Then buy("b2",OnClose,def,1); if crossup(var3,var4) Then buy("b3",OnClose,def,1); } if var1 < var1[1] and var1[1] < var1[2] Then ExitLong("bx1",OnClose,def,"b1",1,1); if CrossDown(var2,0) Then ExitLong("bx2",OnClose,def,"b2",1,1); if CrossDown(var3,var4) Then ExitLong("bx3",OnClose,def,"b3",1,1); if MarketPosition == 1 Then{ if CurrentEntries == 1 and CurrentEntries[1] != CurrentEntries Then{ var81 = C[1]; var82 = H; } if maxEntries >= 1 Then{ if H > var82 Then var82 = H; ExitLong("bx4_1",AtStop,var82*0.99,"b1",1,1); ExitLong("bx5_1",AtStop,var81*0.99,"b1",1,1); } if CurrentEntries == 2 and CurrentEntries[1] != CurrentEntries Then{ var83 = C[1]; var84 = H; } if maxEntries >= 2 Then{ if H > var84 Then var84 = H; ExitLong("bx4_2",AtStop,var84*0.99,"b2",1,1); ExitLong("bx5_2",AtStop,var83*0.99,"b2",1,1); } if CurrentEntries == 3 and CurrentEntries[1] != CurrentEntries Then{ var85 = C[1]; var86 = H; } if maxEntries >= 3 Then{ if H > var86 Then var86 = H; ExitLong("bx4_3",AtStop,var86*0.99,"b3",1,1); ExitLong("bx5_3",AtStop,var85*0.99,"b3",1,1); } } 즐거운 하루되세요 > 아틀라스 님이 쓴 글입니다. > 제목 : 문의 드립니다. > 수고가 많으십니다 (1식) if MarketPosition == 1 and c < Highest(H,BarsSinceEntry)*0.99 then ExitLong("bx",AtStop,c); (2식) if MarketPosition == 1 Then ExitLong("bx",AtStop,Highest(H,BarsSinceEntry)*0.99); 상기 1식과 2식은 같은 수식인지 궁금합니다. 그리고 onclose로 진입하는 경우에는 진입가격을 따로 할당하여 사용하면 되지 않나요? 아래식을 진입가격 및 최고가을 할당하여 수익실현과 손절매 수식을 부탁드립니다.(BarsSinceEntry와 EntryPrice대신에 적용) SetStopTrailing(1,0.00001,PercentStop,1); SetStopLoss(1); 상기 식을 사용하여 아래 식을 수정해 주시면 도움이 되겠습니다. 상기 식을 사용하면 추가 적인 조건등은 사용할 수 없나요? 감사합니다. value2 = 0; for value1 = 0 to 10{ if EntryDate(value1) == sdate Then value2 = value2+1; } var1 = ma(c,60); var2 = macd(12,26); var3 = ma(c,5); var4 = ma(c,20); Condition1 = ExitDate(1) == sdate and (IsExitName("bx4",1) or IsExitName("bx5",1)); if value2 < 6 and Condition1 == false Then{ if var1 > var1[1] and var1[1] < var1[2] Then buy("b1",OnClose,def,1); if crossup(var2,0) Then buy("b2",OnClose,def,1); if crossup(var3,var4) Then buy("b3",OnClose,def,1); } if var1 < var1[1] and var1[1] < var1[2] Then ExitLong("bx1",OnClose,def,"b1",1,1); if CrossDown(var2,0) Then ExitLong("bx2",OnClose,def,"b2",1,1); if CrossDown(var3,var4) Then ExitLong("bx3",OnClose,def,"b3",1,1); if MarketPosition == 1 Then{ ExitLong("bx4",AtStop,Highest(H,BarsSinceEntry)*0.99); ExitLong("bx5",AtStop,EntryPrice*0.99); }