커뮤니티

함수요청

프로필 이미지
흰둥이아빠
2023-02-24 12:55:23
1165
글번호 166664
답변완료
아래 글번호 80923번 재질문입니다. 신호가 생성되지 않습니다. 검수 부탁드립니다. 아울러 진입 조건을 추가해서 MACD 오실레이터가 음전환시 MACD 값이 30이상일 경우 매도 MACD 오실레이터가 양전환시 MACD 값이 -30 이하일 경우 매수하는 걸로 변경 부탁드립니다. =================================================================================== 국내선물 3분봉으로 일중거래를 하고자 합니다. 개장 후 첫봉(9시 3분봉 완성봉)의 저가 > 전영업일 종가이면서 MACD오실레이터의 음전환(교차)시 MACD 값이 30 이상이면 익봉시가에 매도 개장 후 첫봉(9시 3분봉 완성봉)의 고가 < 전영업일 종가이면서 MACD오실레이터의 양전환(교차)시 MACD 값이 -30 이하이면 익봉시가에 매수 당일고점을 완성봉으로 돌파하거나 100MA를 하향 이탈하거나 시가를 하향 이탈하면 매도청산 당일저점을 완성봉으로 이탈하거나 100MA를 상향 돌파하거나 시가를 상향 돌파하면 매수청산 매수든 매도든 당일 최대 1번 진입하되 15시 20분에는 강제청산합니다. --------------------------------------------------------------------------------- 안녕하세요 예스스탁입니다. input : short(12),long(26),sig(9),P(100); var : T(0); var : macdo(0),mav(0); macdo = MACD_OSc(short,long,sig); mav = ma(C,P); if Bdate != Bdate[1] Then { T = 0; if L > C[1] Then T = -1; if H < C[1] Then T = 1; } if T == -1 and CrossDown(macdo,0) Then { T = -2; Sell(); } if T == 1 and CrossUp(macdo,0) Then { T = 2; Buy(); } if MarketPosition == -1 Then { if C > DayHigh(0)[1] Then ExitShort(); if CrossDown(c,mav) Then ExitShort(); if CrossDown(c,DayOpen) Then ExitShort(); } if MarketPosition == 1 Then { if C < DayHigh(0)[1] Then ExitLong(); if CrossUp(c,mav) Then ExitLong(); if CrossUp(c,DayOpen) Then ExitLong(); } SetStopEndofday(15200); 즐거운 하루되세요 > 흰둥이아빠 님이 쓴 글입니다. > 제목 : 함수요청 > 안녕하세요? 아래 전략에 대해 스크립트 작성 요청드립니다. 국내선물 3분봉으로 일중거래를 하고자 합니다. 개장 후 첫봉(9시 3분봉 완성봉)의 저가 > 전영업일 종가이면서 MACD오실레이터의 음전환(교차)시 익봉시가에 매도 개장 후 첫봉(9시 3분봉 완성봉)의 고가 < 전영업일 종가이면서 MACD오실레이터의 양전환(교차)시 익봉시가에 매수 당일고점을 완성봉으로 돌파하거나 100MA를 하향 이탈하거나 시가를 하향 이탈하면 매도청산 당일저점을 완성봉으로 이탈하거나 100MA를 상향 돌파하거나 시가를 상향 돌파하면 매수청산 매수든 매도든 당일 최대 1번 진입하되 15시 20분에는 강제청산합니다. 언제나 감사드립니다.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2023-02-24 13:03:21

안녕하세요 예스스탁입니다. 1 당일청산시간이 1시52분으로 지정되어 있어 신호가 발생하지 않았습니다. 15시 20분으로 수정해 드립니다. input : short(12),long(26),sig(9),P(100); var : T(0); var : macdo(0),mav(0); macdo = MACD_OSc(short,long,sig); mav = ma(C,P); if Bdate != Bdate[1] Then { T = 0; if L > C[1] Then T = -1; if H < C[1] Then T = 1; } if T == -1 and CrossDown(macdo,0) Then { T = -2; Sell(); } if T == 1 and CrossUp(macdo,0) Then { T = 2; Buy(); } if MarketPosition == -1 Then { if C > DayHigh(0)[1] Then ExitShort(); if CrossDown(c,mav) Then ExitShort(); if CrossDown(c,DayOpen) Then ExitShort(); } if MarketPosition == 1 Then { if C < DayHigh(0)[1] Then ExitLong(); if CrossUp(c,mav) Then ExitLong(); if CrossUp(c,DayOpen) Then ExitLong(); } SetStopEndofday(152000); 2 macd가 단기지수이평과 장기지수이평의 차이값입니다. 국내선물에서 30과 -30은 큰값이므로 값 조절해서 적용해 보시기 바랍니다. input : short(12),long(26),sig(9),P(100); var : T(0); var : macdv(0),macdo(0),mav(0); macdv = macd(short,long); macdo = MACD_OSc(short,long,sig); mav = ma(C,P); if Bdate != Bdate[1] Then { T = 0; if L > C[1] Then T = -1; if H < C[1] Then T = 1; } if T == -1 and CrossDown(macdo,0) and macdv > 30 Then { T = -2; Sell(); } if T == 1 and CrossUp(macdo,0) and macdv < -30 Then { T = 2; Buy(); } if MarketPosition == -1 Then { if C > DayHigh(0)[1] Then ExitShort(); if CrossDown(c,mav) Then ExitShort(); if CrossDown(c,DayOpen) Then ExitShort(); } if MarketPosition == 1 Then { if C < DayHigh(0)[1] Then ExitLong(); if CrossUp(c,mav) Then ExitLong(); if CrossUp(c,DayOpen) Then ExitLong(); } SetStopEndofday(152000); 즐거운 하루되세요 > 흰둥이아빠 님이 쓴 글입니다. > 제목 : 함수요청 > 아래 글번호 80923번 재질문입니다. 신호가 생성되지 않습니다. 검수 부탁드립니다. 아울러 진입 조건을 추가해서 MACD 오실레이터가 음전환시 MACD 값이 30이상일 경우 매도 MACD 오실레이터가 양전환시 MACD 값이 -30 이하일 경우 매수하는 걸로 변경 부탁드립니다. =================================================================================== 국내선물 3분봉으로 일중거래를 하고자 합니다. 개장 후 첫봉(9시 3분봉 완성봉)의 저가 > 전영업일 종가이면서 MACD오실레이터의 음전환(교차)시 MACD 값이 30 이상이면 익봉시가에 매도 개장 후 첫봉(9시 3분봉 완성봉)의 고가 < 전영업일 종가이면서 MACD오실레이터의 양전환(교차)시 MACD 값이 -30 이하이면 익봉시가에 매수 당일고점을 완성봉으로 돌파하거나 100MA를 하향 이탈하거나 시가를 하향 이탈하면 매도청산 당일저점을 완성봉으로 이탈하거나 100MA를 상향 돌파하거나 시가를 상향 돌파하면 매수청산 매수든 매도든 당일 최대 1번 진입하되 15시 20분에는 강제청산합니다. --------------------------------------------------------------------------------- 안녕하세요 예스스탁입니다. input : short(12),long(26),sig(9),P(100); var : T(0); var : macdo(0),mav(0); macdo = MACD_OSc(short,long,sig); mav = ma(C,P); if Bdate != Bdate[1] Then { T = 0; if L > C[1] Then T = -1; if H < C[1] Then T = 1; } if T == -1 and CrossDown(macdo,0) Then { T = -2; Sell(); } if T == 1 and CrossUp(macdo,0) Then { T = 2; Buy(); } if MarketPosition == -1 Then { if C > DayHigh(0)[1] Then ExitShort(); if CrossDown(c,mav) Then ExitShort(); if CrossDown(c,DayOpen) Then ExitShort(); } if MarketPosition == 1 Then { if C < DayHigh(0)[1] Then ExitLong(); if CrossUp(c,mav) Then ExitLong(); if CrossUp(c,DayOpen) Then ExitLong(); } SetStopEndofday(15200); 즐거운 하루되세요 > 흰둥이아빠 님이 쓴 글입니다. > 제목 : 함수요청 > 안녕하세요? 아래 전략에 대해 스크립트 작성 요청드립니다. 국내선물 3분봉으로 일중거래를 하고자 합니다. 개장 후 첫봉(9시 3분봉 완성봉)의 저가 > 전영업일 종가이면서 MACD오실레이터의 음전환(교차)시 익봉시가에 매도 개장 후 첫봉(9시 3분봉 완성봉)의 고가 < 전영업일 종가이면서 MACD오실레이터의 양전환(교차)시 익봉시가에 매수 당일고점을 완성봉으로 돌파하거나 100MA를 하향 이탈하거나 시가를 하향 이탈하면 매도청산 당일저점을 완성봉으로 이탈하거나 100MA를 상향 돌파하거나 시가를 상향 돌파하면 매수청산 매수든 매도든 당일 최대 1번 진입하되 15시 20분에는 강제청산합니다. 언제나 감사드립니다.