커뮤니티

조건식 재질문

프로필 이미지
장안
2012-03-27 16:37:10
348
글번호 49389
답변완료
수고하십니다. 아래에서 알려준 것에 약간의 변형-매수를 하다가 청산조건에서 손실이 나면 매도로 전 환하는 것이 아니라 매도조건으로 전환하여, 전환된 매도가 이익이 날 경우 계속 매도 조건에서만 거래가 이뤄지도록(매도는 반대)-하여 아래와 같이 만들었는데 매수/매도 사인 둘다 나옵니다. 즉 매수에서 청산이익이 나면 그 다음도 매수 사인이 나와야 하 는데 매도 사인이 나옵니다 if date != date[1] Then Direction = 0; if Direction >= 0 and 매수조건 Then{ buy(); } if MarketPosition == 1 and 청산조건 then{ Exitlong(); if C < EntryPrice Then{ sell(); Direction = -1; } } if Direction <= 0 and 매도조건 then{ sell(); } if MarketPosition == -1 and 청산조건 then{ Exitshort(); if C > EntryPrice Then{ buy(); Direction = 1; } }
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2012-03-28 11:27:16

안녕하세요 예스스탁입니다. 해당 내용은 진입이나 청산조건에 따라 달리 작성해야 하는 부분들이 있습니다. 리버셜 될수 있는 내용이지만 언급하신 내용이 청산조건만 해당 되므로 청산조건에 의해 신호가 발동될때만 염두에 둔 내용입니다. 청산조건 만족시 수익이면 청산만 발동되며 손실이면 반대포지션으로 전환합니다. 전환 후 수익이 발생하면 해당 방향으로만 거래가 됩니다. var : direction(0); if date != date[1] Then direction == 0; if direction == 0 and EntryDate(1) == sdate And isEntryName("매수전환",1) == true and PositionProfit(1) > 0 Then direction = 1; if direction == 0 and *EntryDate(1) == sdate And isEntryName("매도전환",1) == true and PositionProfit(1) > 0 Then direction = -1; if Direction >= 0 and 매수조건 Then{ buy("매수"); } if 청산조건 then{ if Direction == 0 then{ if C > EntryPrice Then Exitlong(); Else sell("매도전환"); } if Direction == 1 Then ExitLong(); } if Direction <= 0 and 매도조건 then{ sell("매도"); } if 청산조건 then{ if Direction == 0 Then{ if C < EntryPrice Then Exitshort(); Else buy("매수전환"); } if direction == -1 Then ExitShort(); } 즐거운 하루되세요 > 장안 님이 쓴 글입니다. > 제목 : 조건식 재질문 > 수고하십니다. 아래에서 알려준 것에 약간의 변형-매수를 하다가 청산조건에서 손실이 나면 매도로 전 환하는 것이 아니라 매도조건으로 전환하여, 전환된 매도가 이익이 날 경우 계속 매도 조건에서만 거래가 이뤄지도록(매도는 반대)-하여 아래와 같이 만들었는데 매수/매도 사인 둘다 나옵니다. 즉 매수에서 청산이익이 나면 그 다음도 매수 사인이 나와야 하 는데 매도 사인이 나옵니다 if date != date[1] Then Direction = 0; if Direction >= 0 and 매수조건 Then{ buy(); } if MarketPosition == 1 and 청산조건 then{ Exitlong(); if C < EntryPrice Then{ sell(); Direction = -1; } } if Direction <= 0 and 매도조건 then{ sell(); } if MarketPosition == -1 and 청산조건 then{ Exitshort(); if C > EntryPrice Then{ buy(); Direction = 1; } }