커뮤니티

setstoploss와 관련 문의드립니다.

프로필 이미지
민기삼촌
2012-05-26 18:05:07
299
글번호 51364
답변완료
항상 친절하게 질문에 답변해주셔서 고맙습니다. 문의드리는 내용은 data2에서 setstoploss(1, percentstop)이 실행이되면(즉 data2에서 진입가격대비 1%하락시) data1에서 매수가 실행되도록 하려고 아래 식을 적용해 보았는데 잘 안되어서 문의드립니다. if data2(setstoploss(1, percentstop)) then buy(); 이것을 적용하면 data2에서 발생한 신호보다 많이 발생, if data2(corssdown(C, EntryPrice*0.99)) then buy(); 또는 if data2(C <= EntryPrice*0.99) then buy(); 이것을 적용하면 매수신호가 안나옵니다. 어느부분에 문제가 있는지요? 부탁드립니다.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2012-05-29 10:29:31

안녕하세요 예스스탁입니다. 강제청산이나 수식안에 atstop,atlimit와 모든 포지션 관련 함수는 주종목(data1)만 감시하게 되어 있습니다. 그러므로 data2(setstoploss(1, percentstop)) buy('b",atstop,data2(h+0.1)); 와 같이는 작성이 되지 않으며 참조데이터는 모두 봉완성시(if문)로만 작성해서 사용하셔야 합니다. var : d2c(0,data1); d2c = data2(c); if MarketPosition == -1 and data2(C) <= d2C[BarsSinceEntry]*0.99 Then buy(); 즐거운 하루되세요 > 민기삼촌 님이 쓴 글입니다. > 제목 : setstoploss와 관련 문의드립니다. > 항상 친절하게 질문에 답변해주셔서 고맙습니다. 문의드리는 내용은 data2에서 setstoploss(1, percentstop)이 실행이되면(즉 data2에서 진입가격대비 1%하락시) data1에서 매수가 실행되도록 하려고 아래 식을 적용해 보았는데 잘 안되어서 문의드립니다. if data2(setstoploss(1, percentstop)) then buy(); 이것을 적용하면 data2에서 발생한 신호보다 많이 발생, if data2(corssdown(C, EntryPrice*0.99)) then buy(); 또는 if data2(C <= EntryPrice*0.99) then buy(); 이것을 적용하면 매수신호가 안나옵니다. 어느부분에 문제가 있는지요? 부탁드립니다.