커뮤니티

함수요청

프로필 이미지
흰둥이아빠
2024-01-31 16:08:58
763
글번호 176293
답변완료
안녕하세요? 아래 글번호 85642번 재질문입니다. 아래의 전략에 대해 스크립트 작성 부탁드립니다. 국내선물 60분봉으로 포지션 거래를 하고자 합니다. MACD 오실레이터가 양에서 음의 값으로 변화하고 그 음의 값이 감소하되(플러스로 전환하면 안되고 음의 값에서) 재차 증가하면 익봉 시가에 매도 진입 (가령 0.5-> -0.1-> -0.5-> -0.4 -> -0.3-> -0.1> -0.2 : -0.2 익봉 시가에 매도 진입) 직전 봉 대비 MACD 오실레이터 값이 상승하면 매도 청산 (가령 0.5-> -0.1-> -0.5-> -0.4 -> -0.3-> -0.1> -0.2-> -0.3(시가에 매도 진입)-> -0.4-> -0.2-> -0.1(시가에 매도청산)) MACD 오실레이터가 음에서 양의 값으로 변화하고 그 양의 값이 감소하되(마이너스로 전환하면 안되고 양의 값에서) 재차 증가하면 익봉 시가에 매수 진입 (가령 -0.3-> 0.1-> 0.2-> 0.4 -> 0.3-> 0.5 : 0.5 익봉 시가 매수 진입) 직전 봉 대비 MACD 오실레이터 값이 상승하면 익봉시가에 매수 청산 (가령 -0.3-> 0.1-> 0.2-> 0.4 -> 0.3-> 0.5-> 0.6(시가에 매수 진입)-> 0.5-> 0.4(시가에 매수청산) 매수청산이 되고 다음 신호는 매수신호가 아니라 매도신호가 되어야 합니다. 또한 매도청산이되고 다음 신호는 매도 신호가 아니라 매수신호이어야 합니다. 아울러 기본적으로 MACD 오실레이터가 양의 값을 가질 때 매도신호가 나오면 안되고 MACD오실레이터가 음의 값을 가질 때 매수신호가 나와서는 안됩니다. 검증 부탁드립니다.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2024-02-01 11:07:35

안녕하세요 예스스탁입니다. Input : short(12), long(26),signal(9); Var : macdv(0) , macds(0),macdo(0),t(0),s(0); macdv = MACD(short, long); macds = ema(macdv,signal); macdo = macdv-macds; if macdo > macdo[1] Then T = 1; if macdo < macdo[1] Then T = -1; if CrossUp(macdo,0) Then S = 1; if CrossDown(macdo,0) Then S = -1; if S == -1 Then { if t == -1 and t[1] == 1 Then { S = -2; if (MarketPosition == 0 and MarketPosition(1) != -1) or MarketPosition == 1 Then Sell("s",AtMarket); } } if MarketPosition == -1 and T == 1 Then ExitShort(); if S == 1 Then { if t == 1 and t[1] == -1 Then { S = 2; if (MarketPosition == 0 and MarketPosition(1) != 1) or MarketPosition == -1 Then Buy("b",AtMarket); } } if MarketPosition == 1 and T == -1 Then ExitLong(); 즐거운 하루되세요 > 흰둥이아빠 님이 쓴 글입니다. > 제목 : 함수요청 > 안녕하세요? 아래 글번호 85642번 재질문입니다. 아래의 전략에 대해 스크립트 작성 부탁드립니다. 국내선물 60분봉으로 포지션 거래를 하고자 합니다. MACD 오실레이터가 양에서 음의 값으로 변화하고 그 음의 값이 감소하되(플러스로 전환하면 안되고 음의 값에서) 재차 증가하면 익봉 시가에 매도 진입 (가령 0.5-> -0.1-> -0.5-> -0.4 -> -0.3-> -0.1> -0.2 : -0.2 익봉 시가에 매도 진입) 직전 봉 대비 MACD 오실레이터 값이 상승하면 매도 청산 (가령 0.5-> -0.1-> -0.5-> -0.4 -> -0.3-> -0.1> -0.2-> -0.3(시가에 매도 진입)-> -0.4-> -0.2-> -0.1(시가에 매도청산)) MACD 오실레이터가 음에서 양의 값으로 변화하고 그 양의 값이 감소하되(마이너스로 전환하면 안되고 양의 값에서) 재차 증가하면 익봉 시가에 매수 진입 (가령 -0.3-> 0.1-> 0.2-> 0.4 -> 0.3-> 0.5 : 0.5 익봉 시가 매수 진입) 직전 봉 대비 MACD 오실레이터 값이 상승하면 익봉시가에 매수 청산 (가령 -0.3-> 0.1-> 0.2-> 0.4 -> 0.3-> 0.5-> 0.6(시가에 매수 진입)-> 0.5-> 0.4(시가에 매수청산) 매수청산이 되고 다음 신호는 매수신호가 아니라 매도신호가 되어야 합니다. 또한 매도청산이되고 다음 신호는 매도 신호가 아니라 매수신호이어야 합니다. 아울러 기본적으로 MACD 오실레이터가 양의 값을 가질 때 매도신호가 나오면 안되고 MACD오실레이터가 음의 값을 가질 때 매수신호가 나와서는 안됩니다. 검증 부탁드립니다.