커뮤니티
수식문의
2019-10-09 20:49:40
126
글번호 132633
안녕하세요
MACD oscillator로 진입하는 수식을 부탁드립니다.
기본적으로 0보다 크면 매수 진입, 0보다 작으면 매도 진입입니다.
조건은 하기와 같습니다.
1. 최초 진입은 3개로 부탁드립니다.
1차청산은 10틱
2차 청산은 30틱
3차 청산은 다음 신호로 바뀔때 입니다.
2. 볼린져 밴드 상단과 하단의 폭이 20틱 미만일때는,
매수 진입 상태에서 가격이 상단밴드에 닿으면 수익과 상관없이 전체 청산합니다.
매도 진입 상태에서 가격이 하단밴드에 닾으면 수익과 상관없이 전체 청산합니다.
3.
메수 신호 발생시 해당봉이 볼린져 밴드 상단을 터치한 상태일때는 진입하지 않습니다.
매도 신호 발생시 해당봉이 볼린져 밴드 하단을 터치한 상태일때는 진입하지 않습니다.
감사합니다.
답변 1
예스스탁 예스스탁 답변
2019-10-10 11:49:40
안녕하세요
예스스탁입니다.
Input : short(12), long(26), signal(9);
Input : Period(20), MultiD(2);
Var : MACDv(0), MACDs(0),macdo(0) ;
var : BBmd(0),BBup(0),BBdn(0);
MACDv = MACD(short, long);
MACDs = ema(MACDv,signal);
macdo = MACDv-MACDs;
BBmd = ma(C,Period);
BBup = BollBandUp(Period,MultiD);
BBdn = BollBandDown(Period,MultiD);
if MarketPosition <= 0 and crossup(MACDO,0) and H < BBup Then
buy("b",OnClose,def,3);
if MarketPosition >= 0 and CrossDown(MACDO,0) and L > BBdn Then
sell("s",OnClose,def,3);
if MarketPosition == 1 then
{
if CurrentContracts == 3 Then
ExitLong("bp1",atlimit,EntryPrice+PriceScale*10,"",1,1);
if CurrentContracts == 2 Then
ExitLong("bp2",atlimit,EntryPrice+PriceScale*30,"",1,1);
exitlong("bx",atlimit,bbup);
}
if MarketPosition == -1 then
{
if CurrentContracts == 3 Then
ExitShort("sp1",atlimit,EntryPrice-PriceScale*10,"",1,1);
if CurrentContracts == 2 Then
ExitShort("sp2",atlimit,EntryPrice-PriceScale*30,"",1,1);
ExitShort("sx",atlimit,bbdn);
}
즐거운 하루되세요
> softtoug 님이 쓴 글입니다.
> 제목 : 수식문의
> 안녕하세요
MACD oscillator로 진입하는 수식을 부탁드립니다.
기본적으로 0보다 크면 매수 진입, 0보다 작으면 매도 진입입니다.
조건은 하기와 같습니다.
1. 최초 진입은 3개로 부탁드립니다.
1차청산은 10틱
2차 청산은 30틱
3차 청산은 다음 신호로 바뀔때 입니다.
2. 볼린져 밴드 상단과 하단의 폭이 20틱 미만일때는,
매수 진입 상태에서 가격이 상단밴드에 닿으면 수익과 상관없이 전체 청산합니다.
매도 진입 상태에서 가격이 하단밴드에 닾으면 수익과 상관없이 전체 청산합니다.
3.
메수 신호 발생시 해당봉이 볼린져 밴드 상단을 터치한 상태일때는 진입하지 않습니다.
매도 신호 발생시 해당봉이 볼린져 밴드 하단을 터치한 상태일때는 진입하지 않습니다.
감사합니다.