커뮤니티

수식문의

프로필 이미지
칼봉산
2013-12-09 14:10:19
137
글번호 70265
답변완료
[청산조건] if MarketPosition == 1 Then{ if countif(C<O,3) == 3 and C < EntryPrice Then ExitLong(); } if MarketPosition == -1 Then{ if countif(C>O,3) == 3 and C > EntryPrice Then ExitShort(); } 위 수식은 기존수식(아래수식 참고)중의 여러가지 청산조건중에 한가지 청산조건입니다. 청산기준은 해당봉 완성 기준입니다. 1. 위의 청산 조건에서 청산시 반대방향으로 바로 진입이 가능하게 설정하고 싶습니다. (매수로 ExitLong 났을때, 바로 매도진입 / 매도는 반대로) 2. 현재 1계약으로 운용하고 있으며, 이 1계약은 기존의 진입 수식대로 움직이고 1번의 진입 신호 발생시만 여분의 1계약 진입이 가능하도록 수식 부탁드립니다. 따라서, 총 2계약이 운용되게 됩니다. 3. 1번의 경우 ExitLong, ExitShort의 손절이 -1pt 이상 일때만 진입이 가능하도록 수정바랍니다. 따라서, -1pt 미만일때는 진입이 안되기때문에 1계약만 기존 신호대로 운용되게 됩니다. 4. 1번 진입 신호 발생후 손익이 1pt 이상 일때 청산되도록 부탁드리고, 진입신호 발생후 손절이 -1pt 이상 일때 청산되도록 부탁드립니다. [기존수식] input : BBP(20),dv(2); var : BBup(0),BBdn(0); BBup = BollBandUp(BBP,dv); BBdn = BollBandDown(BBp,Dv); if C > O and C <= BBdn Then var1 = 1; if MarketPosition == 0 and var1 == 1 and C > O Then{ Buy("매수"); } if C < O and C >= BBdn Then var1 = -1; if MarketPosition == 0 and var1 == -1 and C < O Then{ sell("매도"); } if MarketPosition == 1 Then{ if countif(C<O,3) == 3 and C < EntryPrice Then ExitLong(); } if MarketPosition == -1 Then{ if countif(C>O,3) == 3 and C > EntryPrice Then ExitShort(); }
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2013-12-09 17:29:21

안녕하세요 예스스탁입니다. input : BBP(20),dv(2); var : BBup(0),BBdn(0); BBup = BollBandUp(BBP,dv); BBdn = BollBandDown(BBp,Dv); if C > O and C <= BBdn Then var1 = 1; if MarketPosition == 0 and var1 == 1 and C > O Then{ Buy("매수",OnClose,def,1); #1계약 진입 } if C < O and C >= BBdn Then var1 = -1; if MarketPosition == 0 and var1 == -1 and C < O Then{ sell("매도",OnClose,def,1); #1계약 진입 } if MarketPosition == 1 Then{ #손실이 1포인트 이하에서는 청산만 if countif(C<O,3) == 3 and C < EntryPrice and C > EntryPrice-1 Then ExitLong("bx"); #손실이 1포인트 이상에서는 매도로 스위칭(2계약 진입) if countif(C<O,3) == 3 and C <= EntryPrice-1 Then sell("BxS",OnClose,def,2); } if MarketPosition == -1 Then{ #손실이 1포인트 이하에서는 청산만 if countif(C>O,3) == 3 and C > EntryPrice and C < EntryPrice+1 Then ExitShort("Sx"); #손실이 1포인트 이상에서는 매수로 스위칭(2계약 진입) if countif(C>O,3) == 3 and C >= EntryPrice+1 Then Buy("SxB",OnClose,def,2); } #"BxS"진입만 1포인트 손절, 1포인트 익절 if MarketPosition == 1 and IsEntryName("SxB") == true Then{ ExitLong("BP",atlimit,EntryPrice+1); ExitLong("BL",AtStop,EntryPrice-1); } #"SxB"진입만 1포인트 손절, 1포인트 익절 if MarketPosition == -1 and IsEntryName("BxS") == true Then{ ExitShort("SP",atlimit,EntryPrice-1); ExitShort("SL",AtStop,EntryPrice+1); } 즐거운 하루되세요 > 칼봉산 님이 쓴 글입니다. > 제목 : 수식문의 > [청산조건] if MarketPosition == 1 Then{ if countif(C<O,3) == 3 and C < EntryPrice Then ExitLong(); } if MarketPosition == -1 Then{ if countif(C>O,3) == 3 and C > EntryPrice Then ExitShort(); } 위 수식은 기존수식(아래수식 참고)중의 여러가지 청산조건중에 한가지 청산조건입니다. 청산기준은 해당봉 완성 기준입니다. 1. 위의 청산 조건에서 청산시 반대방향으로 바로 진입이 가능하게 설정하고 싶습니다. (매수로 ExitLong 났을때, 바로 매도진입 / 매도는 반대로) 2. 현재 1계약으로 운용하고 있으며, 이 1계약은 기존의 진입 수식대로 움직이고 1번의 진입 신호 발생시만 여분의 1계약 진입이 가능하도록 수식 부탁드립니다. 따라서, 총 2계약이 운용되게 됩니다. 3. 1번의 경우 ExitLong, ExitShort의 손절이 -1pt 이상 일때만 진입이 가능하도록 수정바랍니다. 따라서, -1pt 미만일때는 진입이 안되기때문에 1계약만 기존 신호대로 운용되게 됩니다. 4. 1번 진입 신호 발생후 손익이 1pt 이상 일때 청산되도록 부탁드리고, 진입신호 발생후 손절이 -1pt 이상 일때 청산되도록 부탁드립니다. [기존수식] input : BBP(20),dv(2); var : BBup(0),BBdn(0); BBup = BollBandUp(BBP,dv); BBdn = BollBandDown(BBp,Dv); if C > O and C <= BBdn Then var1 = 1; if MarketPosition == 0 and var1 == 1 and C > O Then{ Buy("매수"); } if C < O and C >= BBdn Then var1 = -1; if MarketPosition == 0 and var1 == -1 and C < O Then{ sell("매도"); } if MarketPosition == 1 Then{ if countif(C<O,3) == 3 and C < EntryPrice Then ExitLong(); } if MarketPosition == -1 Then{ if countif(C>O,3) == 3 and C > EntryPrice Then ExitShort(); }