커뮤니티

수식 다시한번 검토 부탁드립니다..

프로필 이미지
bigdeal
2015-07-09 18:13:43
109
글번호 88251
답변완료
안녕하세요. 수고많으십니다.. 당일 누적 수익이 2포인트 이상이거나 손실이 -1포인트가 넘으면 진입을 금지하고 진입된 포지션이 있는 경우 즉시 청산하는 수식 문의에 아래와 같은 수식으로 답변주셨는데 시스템식에 적용해보니 모든봉에서 신호가 나옵니다 다시한번 검토 부탁드립니다.. input : 당일수익(2),당일손실(-1); var : NP(0),PreNP(0),DayPL(0); NP = NetProfit; if date != date[1] Then preNP = NP[1]; dayPL = NP-PreNP; if daypl < 당일수익 and daypl > 당일손실 Then{ if 매수조건 then buy(); if 매도조건 Then sell(); } if MarketPosition == 1 Then{ ExitLong("bx1",AtLimit,EntryPrice+(하루수익-daypl)); ExitLong("bx2",AtStop,EntryPrice+하루손실-dayPL); } if MarketPosition == -1 Then{ ExitShort("sx1",AtLimit,EntryPrice-(하루수익-daypl) ); ExitShort("sx2",AtStop,EntryPrice-하루손실+daypl ); }
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2015-07-10 08:56:49

안녕하세요 예스스탁입니다. 해당식 첨부된 그림과 같이 모든 봉에서 신호가 발생하지 않습니다. 적용한 수식은 아래와 같습니다. 외부변수와 수식에 적은 변수명이 달라 해당 부분 수정했습니다. input : 당일수익(2),당일손실(-1); var : NP(0),PreNP(0),DayPL(0); NP = NetProfit; if date != date[1] Then preNP = NP[1]; dayPL = NP-PreNP; if daypl < 당일수익 and daypl > 당일손실 Then{ if crossup(ma(c,5),ma(c,20)) then buy(); if CrossDown(ma(c,5),ma(c,20)) Then sell(); } if MarketPosition == 1 Then{ ExitLong("bx1",AtLimit,EntryPrice+(당일수익-daypl)); ExitLong("bx2",AtStop,EntryPrice+당일손실-dayPL); } if MarketPosition == -1 Then{ ExitShort("sx1",AtLimit,EntryPrice-(당일수익-daypl) ); ExitShort("sx2",AtStop,EntryPrice-당일손실+daypl ); } 올려드린 식은 기본틀입니다. 진입조건이나 방법에 따라 다르게 작성해야 하는 경우도 있습니다. 처리가 잘 되지 않으시면 적용하신 식을 올려주시기 바랍니다. 즐거운 하루되세요 > bigdeal 님이 쓴 글입니다. > 제목 : 수식 다시한번 검토 부탁드립니다.. > 안녕하세요. 수고많으십니다.. 당일 누적 수익이 2포인트 이상이거나 손실이 -1포인트가 넘으면 진입을 금지하고 진입된 포지션이 있는 경우 즉시 청산하는 수식 문의에 아래와 같은 수식으로 답변주셨는데 시스템식에 적용해보니 모든봉에서 신호가 나옵니다 다시한번 검토 부탁드립니다.. input : 당일수익(2),당일손실(-1); var : NP(0),PreNP(0),DayPL(0); NP = NetProfit; if date != date[1] Then preNP = NP[1]; dayPL = NP-PreNP; if daypl < 당일수익 and daypl > 당일손실 Then{ if 매수조건 then buy(); if 매도조건 Then sell(); } if MarketPosition == 1 Then{ ExitLong("bx1",AtLimit,EntryPrice+(하루수익-daypl)); ExitLong("bx2",AtStop,EntryPrice+하루손실-dayPL); } if MarketPosition == -1 Then{ ExitShort("sx1",AtLimit,EntryPrice-(하루수익-daypl) ); ExitShort("sx2",AtStop,EntryPrice-하루손실+daypl ); }