예스스탁
예스스탁 답변
2023-11-17 16:56:50
안녕하세요
예스스탁입니다.
input : P(20),dv(2);
var : bbup(0),bbmd(0),bbdn(0);
bbup = BollBandUp(P,dv);
bbmd = ma(C,P);
bbdn = BollBandDown(P,dv);
if MarketPosition == 0 and L[1] <= BBdn and H[1] > BBdn and C > C[1] and C > BBdn Then
{
Buy("b",OnClose,Def,4);
ExitLong("bp",AtLimit,C+PriceScale*20);
ExitLong("bl",AtStop,L);
}
if MarketPosition == 1 Then
{
ExitLong("Bp1",AtLimit,EntryPrice+PriceScale*20,"",2,1);
ExitLong("Bp2",AtLimit,BBup);
if CurrentContracts == MaxContracts Then
ExitLong("bl1",AtStop,L[BarsSinceEntry]);
Else
ExitLong("bl2",AtStop,EntryPrice);
}
if MarketPosition == 0 and L[1] <= BBup and H[1] > BBup and C < C[1] and C < BBup Then
{
Sell("s",OnClose,Def,4);
ExitShort("sp",AtLimit,C-PriceScale*20);
ExitShort("sl",AtStop,H);
}
if MarketPosition == -1 Then
{
ExitShort("sp1",AtLimit,EntryPrice-PriceScale*20,"",2,1);
ExitShort("sp2",AtLimit,BBdn);
if CurrentContracts == MaxContracts Then
ExitShort("sl1",AtStop,H[BarsSinceEntry]);
Else
ExitShort("sl2",AtStop,EntryPrice);
}
즐거운 하루되세요
> 종호 님이 쓴 글입니다.
> 제목 : 문의드립니다.
> A = 볼린저밴드 상단값
B = 볼린저밴드 하단값
C = 볼린저밴드 중간값
매수식:
무포지션에서 L[1] <= B and H[1] > B and C > C[1] and C > B 이면
4계약 매수합니다.
이 때 매수가격을 매수가격 D 라고 합니다.
이 때 매수봉의 저가가 손절가 F 라고 합니다.
손절청산:
매수후 종가가 아닌 현재가가 손절가 F 를 하향하면 전부 손절청산합니다.
이익청산후 손절가 보정:
매수후 80틱 이익이 나면 2계약을 일부 매도하고
손절가 F = 매수가격 D 로 손절가를 수정합니다.
이후 남은 2계약 청산:
종가가 아닌 현재가가 보정된 손절가 F 를 하향하면 전부 청산하고
이익이 계속 나서 종가가 아닌 현재가가 볼린저 밴드 상단값 A 위로 올라가면
전부 이익 청산합니다.
매도수식: 반대논리로 부탁드립니다.