커뮤니티

부탁드립니다

프로필 이미지
난나야남
2012-06-14 10:22:12
236
글번호 51971
답변완료
1. 아래 청산식에 오류가 있는지 점검바랍니다. 그리고 이 식에서 AtStop의 의미가 무엇인지요? if MarketPosition == 1 Then sell("bs",AtStop,EntryPrice-3); if MarketPosition == -1 Then buy("sb",AtStop,EntryPrice+3); 2. 아래 3줄의 의미가 2% 이상 수익을 내고 그 수익의 50%가 감소하면 매도하는 식인지요? 3줄의 정확한 의미가 무엇인지 설명 부탁드립니다. 항상 3줄을 다써야 하는 것인지요? SetStopTrailing(50,2); SetStopTrailing(50,2,PercentStop); SetStopTrailing(50,2,PercentStop,0); 3. 위 2번 식과 아래 식의 차이가 무엇인가요? 적용하면 결과는 전혀 다르게 나옵니다. input : UPrate(2),Dnrate(50); if MarketPosition == 1 Then{ var1 = highest(H,BarsSinceEntry); if var1 >= EntryPrice*(1+UPrate/100) then exitlong("Btr1",AtStop,var1-(var1-EntryPrice)*(Dnrate/100)); } if MarketPosition == -1 Then{ var2 = Lowest(L,BarsSinceEntry); if var2 <= EntryPrice*(1-UPrate/100) then ExitShort("Str1",AtStop,var2+(EntryPrice-var2)*(Dnrate/100)); } 4. 진입가에서 3포인트 수익후 그 수익의 50%가 감소했을때, 청산하는 식 부탁드립니다. (매도 진입과 매수 진입 모두에 적용되는 것으로..)
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2012-06-14 11:30:14

안녕하세요 예스스탁입니다. 1. 1번식은 청산과 반대방향 진입을 동시에 하는 식입니다. 매수포지션일때 진입가에서 3포인트 하락하면 매수포지셔을 청산하고 매도진입을 하며 매도포지션일때 진입가에서 3포인트 상승하면 매도포지셔을 청산하고 매수진입을 하는 식입니다. 청산만 하고자 하시면 식을 아래와 같이 변경하셔야 합니다. if MarketPosition == 1 Then ExitLong("bs",AtStop,EntryPrice-3); if MarketPosition == -1 Then ExitShort("sb",AtStop,EntryPrice+3); atstop은 매수주문함수(buy,exitshort)에서 사용하면 지정한 가격이상의 시세가 발생하면 즉시 신호가 발생하는 타입이며 매도주문함수(sell,exitlong)에서 사용하면 지정한 가격이하의 시세가 발생하면 즉시 신호가 발생하는 타입입니다. 2. SetStopTrailing(50,2); SetStopTrailing(50,2,PercentStop); SetStopTrailing(50,2,PercentStop,0); 위3개의 식은 모두 같은 내용입니다. 2%이상 수익 발생하고 수익의 50%가 감소하면 청산하는 식입니다. 하나만 사용하시면 됩니다. SetStopTrailing(50,2,PercentStop,0); 에서 0은 기본설정이므로 생략이 가능하므로 SetStopTrailing(50,2,PercentStop); 와 같이 작성해서 사용해도 되며 다시 PercentStop도 기본설정이므로 SetStopTrailing(50,2); 와 같이 작성해서 사용해도 됩니다. 3. 2번식은 강제청산 함수를 이용한 식이며 위식을 수식으로 풀어서 작성하면 3번식이 됩니다. 4 %와 point를 혼용할 경우에는 강제청산함수로는 가능하지 않고 아래와 같이 풀어서 작성해야 합니다. if MarketPosition == 1 Then{ var1 = highest(H,BarsSinceEntry); if var1 >= EntryPrice+3 then exitlong("Btr1",AtStop,var1-(var1-EntryPrice)*0.5); } if MarketPosition == -1 Then{ var2 = Lowest(L,BarsSinceEntry); if var2 <= EntryPrice-3 then ExitShort("Str1",AtStop,var2+(EntryPrice-var2)*0.5); } 즐거운 하루되세요 > 난나야남 님이 쓴 글입니다. > 제목 : 부탁드립니다 > 1. 아래 청산식에 오류가 있는지 점검바랍니다. 그리고 이 식에서 AtStop의 의미가 무엇인지요? if MarketPosition == 1 Then sell("bs",AtStop,EntryPrice-3); if MarketPosition == -1 Then buy("sb",AtStop,EntryPrice+3); 2. 아래 3줄의 의미가 2% 이상 수익을 내고 그 수익의 50%가 감소하면 매도하는 식인지요? 3줄의 정확한 의미가 무엇인지 설명 부탁드립니다. 항상 3줄을 다써야 하는 것인지요? SetStopTrailing(50,2); SetStopTrailing(50,2,PercentStop); SetStopTrailing(50,2,PercentStop,0); 3. 위 2번 식과 아래 식의 차이가 무엇인가요? 적용하면 결과는 전혀 다르게 나옵니다. input : UPrate(2),Dnrate(50); if MarketPosition == 1 Then{ var1 = highest(H,BarsSinceEntry); if var1 >= EntryPrice*(1+UPrate/100) then exitlong("Btr1",AtStop,var1-(var1-EntryPrice)*(Dnrate/100)); } if MarketPosition == -1 Then{ var2 = Lowest(L,BarsSinceEntry); if var2 <= EntryPrice*(1-UPrate/100) then ExitShort("Str1",AtStop,var2+(EntryPrice-var2)*(Dnrate/100)); } 4. 진입가에서 3포인트 수익후 그 수익의 50%가 감소했을때, 청산하는 식 부탁드립니다. (매도 진입과 매수 진입 모두에 적용되는 것으로..)