아래 전략에 대해 스크립트 작성을 요청드립니다.
크루드 오일 5분봉으로 거래를 하고자 합니다.
5ma > 20ma 이고 MACD오실레이터 > 0 이면 완성 익봉 시가 매수진입
5ma < 20ma 이고 MACD오실레이터 < 0 이면 완성 익봉 시가 매도진입
5ma < 20ma 이거나 MACD오실레이터 < 0 이면 완성 익봉 시가 매수청산
5ma > 20ma 이거나 MACD오실레이터 > 0 이면 완성 익봉 시가 매도청산
단, 신규진입의 경우 직전 진입의 신호와 반대가 되어야 합니다.
즉 매수진입-> 매수청산-> 매수진입은 아니라 매수진입-> 매수청산-> 매도진입이어야 합니다.
아울러 매도진입-> 매도청산-> 매도진입이 아니라 매도진입-> 매도청산-> 매수진입이어야 합니다.
진입과 청산기준으로 매매횟수를 20번으로 제한하고자 합니다.(진입 후 청산-> 1번으로 카운팅)
진입봉에서 청산이 되면 안되며 청산봉에서 진입이 되면 안됩니다.
감사합니다.
답변 2
흰둥이아빠
2022-04-06 17:13:14
흰둥이아빠 님에 의해 삭제된 답변입니다.
예스스탁
예스스탁 답변
2022-04-07 09:41:44
안녕하세요
예스스탁입니다.
input : p1(5),p2(20);
Input : short(12), long(26), signal(9);
Var : MACDv(0), MACDs(0),macdo(0),entry(0);
if Bdate != Bdate[1] Then
entry = 0;
if (MarketPosition != 0 and MarketPosition != MarketPosition[1]) Or
(MarketPosition == MarketPosition[1] and TotalTrades > TotalTrades[1]) Then
entry = entry+1;
var1 = ma(C,p1);
Var2 = ma(C,p2);
MACDv = MACD(short, long);
MACDs = ema(MACDv,signal);
macdo = MACDv-MACDs;
if entry < 20 and
MarketPosition == 0 and MarketPosition(1) != 1 and
var1 > Var2 and macdo > 0 Then
Buy("b",AtMarket);
if MarketPosition == 1 and var1 < Var2 and macdo < 0 Then
ExitLong("bx",AtMarket);
if entry < 20 and
MarketPosition == 0 and MarketPosition(1) != -1 and
var1 < Var2 and macdo < 0 Then
Sell("s",AtMarket);
if MarketPosition == -1 and var1 > Var2 and macdo > 0 Then
ExitShort("sx",AtMarket);
즐거운 하루되세요
> 흰둥이아빠 님이 쓴 글입니다.
> 제목 : 함수요청
> 아래 전략에 대해 스크립트 작성을 요청드립니다.
크루드 오일 5분봉으로 거래를 하고자 합니다.
5ma > 20ma 이고 MACD오실레이터 > 0 이면 완성 익봉 시가 매수진입
5ma < 20ma 이고 MACD오실레이터 < 0 이면 완성 익봉 시가 매도진입
5ma < 20ma 이거나 MACD오실레이터 < 0 이면 완성 익봉 시가 매수청산
5ma > 20ma 이거나 MACD오실레이터 > 0 이면 완성 익봉 시가 매도청산
단, 신규진입의 경우 직전 진입의 신호와 반대가 되어야 합니다.
즉 매수진입-> 매수청산-> 매수진입은 아니라 매수진입-> 매수청산-> 매도진입이어야 합니다.
아울러 매도진입-> 매도청산-> 매도진입이 아니라 매도진입-> 매도청산-> 매수진입이어야 합니다.
진입과 청산기준으로 매매횟수를 20번으로 제한하고자 합니다.(진입 후 청산-> 1번으로 카운팅)
진입봉에서 청산이 되면 안되며 청산봉에서 진입이 되면 안됩니다.
감사합니다.