커뮤니티

함수요청

프로필 이미지
흰둥이아빠
2021-09-07 15:36:17
696
글번호 152092
답변완료
안녕하세요? 아래의 전략에 대해 스크립트 작성 요청드립니다. 글번호 73686번 연장선입니다. 국내선물 3분봉으로 일중거래를 하고자 합니다. (9시 개장 후에 첫신호가 나오면 진입하고 당일 청산으로 거래를 마감하고자 합니다. 진입과 청산을 각 1회하고자 합니다.) - MACD오실레이터가 9시 3분 완성봉의 첫 히스토그램이 양의 값이면 그 값 포함부터 MACD오실레이터 값이 음으로 반전할 때까지의(첫봉의 MACD오실레이터 값 및 음으로 변환할 때포함) 주가의 고점과 저점을 잡되 data2와 data3의 전일 대비 등락률이 모두 +이면서 data1의 등락률보다 크면(data2, 3 가 1보다 더 상승) 현주가가 고점 돌파 완성시 익봉시가 매수 진입 - MACD오실레이터가 9시 3분 완성봉의 첫 히스토그램이 음의 값이면 그 값 포함부터 MACD오실레이터 값이 음으로 반전할 때까지의(첫봉의 MACD오실레이터 값 및 음으로 변환할 때포함) 주가의 고점과 저점을 잡되 data2와 data3의 전일 대비 등락률이 모두 -이면서 data1의 등락률보다 작으면(data2, 3가 1보다 더 하락) 현주가가 저점 이탈 완성시 익봉시가 매도 진입 - 전영업일 일봉상 캔들이 양봉이면서 현주가가 전일의 고가를 돌파 완성시 익봉 시가에 매수청산 - 전영업일 일봉상 캔들이 음봉이면서 현주가가 전일의 저가를 돌파 완성시 익봉 시가에 매도청산 - 진입봉과 청산봉이 동일한 봉에서 동시에 신호가 생성되서는 안되며 15시 15분 완성 익봉 강제 청산하고자 합니다.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2021-09-08 10:04:35

안녕하세요 예스스탁입니다. Input : short(12), long(26), signal(9); Var : MACDv(0,Data1), MACDs(0,Data1),macdo(0,Data1),T(0,Data1),HH(0,Data1),LL(0,Data1); var : R1(0,Data1),R2(0,Data1),R3(0,data1); var : V1(0,Data1),V2(0,Data1),V3(0,data1),V4(0,Data1),V5(0,Data1); MACDv = MACD(short, long); MACDs = ema(MACDv,signal); macdo = MACDv-MACDs; if Bdate != Bdate[1] Then { T = 0; if MACDO > 0 Then { T = 1; HH = data1(H); LL = data1(L); } if MACDO < 0 Then { T = -1; HH = data1(H); LL = data1(L); } } Else { if T != 0 Then { if data1(H) > HH Then HH = data1(H); if data1(L) < LL Then LL = data1(L); } if T == 1 and MACDO < 0 Then { T = 2; v1 = HH; V2 = LL; R1 = Data1((C-DayClose(1))/DayClose(1)*100); R2 = Data2((C-CloseD(1))/DayClose(1)*100); R3 = Data3((C-CloseD(1))/DayClose(1)*100); } if T == -1 and MACDO > 0 Then { T = -2; v1 = HH; V2 = LL; R1 = Data1((C-DayClose(1))/DayClose(1)*100); R2 = Data2((C-CloseD(1))/DayClose(1)*100); R3 = Data3((C-CloseD(1))/DayClose(1)*100); } if T == 2 and H > v1 and sTime < 151500 and R1 > 0 and R2 > 0 and R3 > 0 and R2 > R1 and R3 > R1 Then { T = 3; Buy("b",AtMarket); } if T == -2 and L < v2 and sTime < 151500 and R1 < 0 and R2 < 0 and R3 < 0 and R2 < R1 and R3 < R1 Then { T = -3; Sell("s",AtMarket); } if MarketPosition == 1 and BarsSinceEntry >= 1 and DayClose(1) > DayOpen(1) and C > DayHigh(1) Then ExitLong("bx1",AtMarket); if MarketPosition == -1 and BarsSinceEntry >= 1 and DayClose(1) < DayOpen(1) and C < DayLow(1) Then ExitShort("sx1",AtMarket); if sTime == 151500 Then { if MarketPosition == 1 Then ExitLong("bx2",AtMarket); if MarketPosition == -1 Then ExitShort("sx2",AtMarket); } } 즐거운 하루되세요 > 흰둥이아빠 님이 쓴 글입니다. > 제목 : 함수요청 > 안녕하세요? 아래의 전략에 대해 스크립트 작성 요청드립니다. 글번호 73686번 연장선입니다. 국내선물 3분봉으로 일중거래를 하고자 합니다. (9시 개장 후에 첫신호가 나오면 진입하고 당일 청산으로 거래를 마감하고자 합니다. 진입과 청산을 각 1회하고자 합니다.) - MACD오실레이터가 9시 3분 완성봉의 첫 히스토그램이 양의 값이면 그 값 포함부터 MACD오실레이터 값이 음으로 반전할 때까지의(첫봉의 MACD오실레이터 값 및 음으로 변환할 때포함) 주가의 고점과 저점을 잡되 data2와 data3의 전일 대비 등락률이 모두 +이면서 data1의 등락률보다 크면(data2, 3 가 1보다 더 상승) 현주가가 고점 돌파 완성시 익봉시가 매수 진입 - MACD오실레이터가 9시 3분 완성봉의 첫 히스토그램이 음의 값이면 그 값 포함부터 MACD오실레이터 값이 음으로 반전할 때까지의(첫봉의 MACD오실레이터 값 및 음으로 변환할 때포함) 주가의 고점과 저점을 잡되 data2와 data3의 전일 대비 등락률이 모두 -이면서 data1의 등락률보다 작으면(data2, 3가 1보다 더 하락) 현주가가 저점 이탈 완성시 익봉시가 매도 진입 - 전영업일 일봉상 캔들이 양봉이면서 현주가가 전일의 고가를 돌파 완성시 익봉 시가에 매수청산 - 전영업일 일봉상 캔들이 음봉이면서 현주가가 전일의 저가를 돌파 완성시 익봉 시가에 매도청산 - 진입봉과 청산봉이 동일한 봉에서 동시에 신호가 생성되서는 안되며 15시 15분 완성 익봉 강제 청산하고자 합니다.