커뮤니티

함수요청

프로필 이미지
흰둥이아빠
2022-01-11 15:09:31
1270
글번호 155354
답변완료
안녕하세요? 기작성주신 아래 글번호 75023번의 지표와 74425번의 지표를 활용하여 국내선물 3분봉으로 일중거래를 하고자 합니다. HH, LL, HV, LV 값이 모두 생성되되 HH < HV, LL > LV 이면서 - 무포지션에서 현주가가 HH 돌파 완성시 익봉시가에 매도 진입 - 매도 진입 이후 LL 이탈 완성시 익봉시가에 매도 청산 - 무포지션에서 현주가가 LL 이탈 완성시 익봉시가에 매수 진입 - 매수 진입 현주가가 HH 돌파 완성시 익봉시가에 매수 청산 - 15시 15분 종가청산으로 오버나이트를 하지 않고자 합니다. - 진입기준으로 최대 2회입니다. ----------------------------------------------------------------------------------- [지표 75023] Input : short(12), long(26), signal(9); Var : MACDv(0), MACDs(0),macdo(0),T(0),HH(0),LL(0); var : d1(0),t1(0),tl1(0),tl2(0); MACDv = MACD(short, long); MACDs = ema(MACDv,signal); macdo = MACDv-MACDs; if Bdate != Bdate[1] Then { d1 = sDate; t1 = sTime; HH = 0; LL = 0; Condition1 = False; } if d1 > 0 Then { if macdo > hh Then hh = macdo; if macdo < ll Then ll = macdo; if Condition1 == False and hh >= ll+0.5 Then { Condition1 = true; var1 = DayHigh; Var2 = DayLow; TL1 = TL_New(d1,t1,var1,NextBarSdate,NextBarStime,var1); TL2 = TL_New(d1,t1,var2,NextBarSdate,NextBarStime,var2); } if Condition1 == true Then { TL_SetEnd(TL1,sDate,sTime,var1); TL_SetEnd(TL2,sDate,sTime,var2); } } [지표 74425] Input : short(12), long(26), signal(9); Var : MACDv(0), MACDs(0),macdo(0),T(0),HV(0),LV(0); var : d1(0),t1(0),tl1(0),tl2(0); MACDv = MACD(short, long); MACDs = ema(MACDv,signal); macdo = MACDv-MACDs; if Bdate != Bdate[1] Then { d1 = sDate; t1 = sTime; T = 0; if MACDO > 0 Then { T = 1; HV = H; LV = L; } if MACDO < 0 Then { T = -1; HV = H; LV = L; } } Else { if ABS(T) < 2 Then { if H > HV Then HV = H; if L < LV Then LV = L; } if T == 1 and CrossUp(MACDO,0) Then { T = 2; var1 = HV; Var2 = LV; TL1 = TL_New(d1,t1,var1,sDate,sTime,var1); TL2 = TL_New(d1,t1,var2,sDate,sTime,var2); } if T == -1 and CrossDown(MACDO,0) Then { T = -2; var1 = HV; Var2 = LV; TL1 = TL_New(d1,t1,var1,sDate,sTime,var1); TL2 = TL_New(d1,t1,var2,sDate,sTime,var2); } if T == 2 or T == -2 Then { TL_SetEnd(TL1,sDate,sTime,var1); TL_SetEnd(TL2,sDate,sTime,var2); } }
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2022-01-12 10:49:33

안녕하세요 예스스탁입니다. Input : short(12),long(26),signal(9); Var : MACDv(0), MACDs(0),macdo(0),T(0),HH(0),LL(0); var : d1(0),t1(0),tl1(0),tl2(0); Var : ,HV(0),LV(0),tl3(0),tl4(0),entry(0); MACDv = MACD(short, long); MACDs = ema(MACDv,signal); macdo = MACDv-MACDs; if Bdate != Bdate[1] Then { d1 = sDate; t1 = sTime; HH = 0; LL = 0; Condition1 = False; entry = 0; } if d1 > 0 Then { if macdo > hh Then hh = macdo; if macdo < ll Then ll = macdo; if Condition1 == False and hh >= ll+0.5 Then { Condition1 = true; var1 = DayHigh; Var2 = DayLow; TL1 = TL_New(d1,t1,var1,NextBarSdate,NextBarStime,var1); TL2 = TL_New(d1,t1,var2,NextBarSdate,NextBarStime,var2); } if Condition1 == true Then { TL_SetEnd(TL1,sDate,sTime,var1); TL_SetEnd(TL2,sDate,sTime,var2); } } if Bdate != Bdate[1] Then { d1 = sDate; t1 = sTime; T = 0; if MACDO > 0 Then { T = 1; HV = H; LV = L; } if MACDO < 0 Then { T = -1; HV = H; LV = L; } } Else { if ABS(T) < 2 Then { if H > HV Then HV = H; if L < LV Then LV = L; } if T == 1 and CrossUp(MACDO,0) Then { T = 2; var3 = HV; Var4 = LV; TL1 = TL_New(d1,t1,var3,sDate,sTime,var3); TL2 = TL_New(d1,t1,var4,sDate,sTime,var4); } if T == -1 and CrossDown(MACDO,0) Then { T = -2; var3 = HV; Var4 = LV; TL1 = TL_New(d1,t1,var3,sDate,sTime,var3); TL2 = TL_New(d1,t1,var4,sDate,sTime,var4); } if T == 2 or T == -2 Then { TL_SetEnd(TL1,sDate,sTime,var3); TL_SetEnd(TL2,sDate,sTime,var4); } } if (MarketPosition != 0 and MarketPosition != MarketPosition[1]) or (MarketPosition == MarketPosition[1] and TotalTrades > TotalTrades[1]) Then entry = entry+1; if Condition1 == true and (T >= 2 or T <= -2) Then { if MarketPosition == 0 and CrossUp(C,var1) and entry < 2 Then Sell("s",AtMarket); if MarketPosition == -1 and CrossDown(c,Var2) Then ExitShort("sx",AtMarket); if MarketPosition == 0 and CrossDown(C,var2) and entry < 2 Then Buy("b",AtMarket); if MarketPosition == 1 and CrossUp(c,Var2) Then ExitLong("bx",AtMarket); } SetStopEndofday(151500); 즐거운 하루되세요 > 흰둥이아빠 님이 쓴 글입니다. > 제목 : 함수요청 > 안녕하세요? 기작성주신 아래 글번호 75023번의 지표와 74425번의 지표를 활용하여 국내선물 3분봉으로 일중거래를 하고자 합니다. HH, LL, HV, LV 값이 모두 생성되되 HH < HV, LL > LV 이면서 - 무포지션에서 현주가가 HH 돌파 완성시 익봉시가에 매도 진입 - 매도 진입 이후 LL 이탈 완성시 익봉시가에 매도 청산 - 무포지션에서 현주가가 LL 이탈 완성시 익봉시가에 매수 진입 - 매수 진입 현주가가 HH 돌파 완성시 익봉시가에 매수 청산 - 15시 15분 종가청산으로 오버나이트를 하지 않고자 합니다. - 진입기준으로 최대 2회입니다. ----------------------------------------------------------------------------------- [지표 75023] Input : short(12), long(26), signal(9); Var : MACDv(0), MACDs(0),macdo(0),T(0),HH(0),LL(0); var : d1(0),t1(0),tl1(0),tl2(0); MACDv = MACD(short, long); MACDs = ema(MACDv,signal); macdo = MACDv-MACDs; if Bdate != Bdate[1] Then { d1 = sDate; t1 = sTime; HH = 0; LL = 0; Condition1 = False; } if d1 > 0 Then { if macdo > hh Then hh = macdo; if macdo < ll Then ll = macdo; if Condition1 == False and hh >= ll+0.5 Then { Condition1 = true; var1 = DayHigh; Var2 = DayLow; TL1 = TL_New(d1,t1,var1,NextBarSdate,NextBarStime,var1); TL2 = TL_New(d1,t1,var2,NextBarSdate,NextBarStime,var2); } if Condition1 == true Then { TL_SetEnd(TL1,sDate,sTime,var1); TL_SetEnd(TL2,sDate,sTime,var2); } } [지표 74425] Input : short(12), long(26), signal(9); Var : MACDv(0), MACDs(0),macdo(0),T(0),HV(0),LV(0); var : d1(0),t1(0),tl1(0),tl2(0); MACDv = MACD(short, long); MACDs = ema(MACDv,signal); macdo = MACDv-MACDs; if Bdate != Bdate[1] Then { d1 = sDate; t1 = sTime; T = 0; if MACDO > 0 Then { T = 1; HV = H; LV = L; } if MACDO < 0 Then { T = -1; HV = H; LV = L; } } Else { if ABS(T) < 2 Then { if H > HV Then HV = H; if L < LV Then LV = L; } if T == 1 and CrossUp(MACDO,0) Then { T = 2; var1 = HV; Var2 = LV; TL1 = TL_New(d1,t1,var1,sDate,sTime,var1); TL2 = TL_New(d1,t1,var2,sDate,sTime,var2); } if T == -1 and CrossDown(MACDO,0) Then { T = -2; var1 = HV; Var2 = LV; TL1 = TL_New(d1,t1,var1,sDate,sTime,var1); TL2 = TL_New(d1,t1,var2,sDate,sTime,var2); } if T == 2 or T == -2 Then { TL_SetEnd(TL1,sDate,sTime,var1); TL_SetEnd(TL2,sDate,sTime,var2); } }