커뮤니티
수식문의
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();
}
다음글
이전글