커뮤니티

함수요청

프로필 이미지
흰둥이아빠
2022-02-15 16:58:54
1085
글번호 156321
답변완료
안녕하세요? 아래 작성주신 지표함수 (글번호 74517번)을 활용하여 전략을 작성하고 싶습니다. 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 = macdo; LL = macdo; 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); } } 선물 5분봉으로 거래를 하고자 하는데 9시에 장이 개장하고 상기 지표(의미있는 고점 HH, 의미있는 저점 LL) 에서 100ma가 HH 위에 있다가 아래로 이탈하면 익봉 시가에 매도 진입 100ma가 LL 아래에 있다가 위로 돌파하면 익봉 시가에 매수 진입 현주가가 100ma 상향돌파 완성하면 익봉 시가에 매도 청산 (역시 상향돌파의 의미가 그 값이 작다가 커졌다는 의미입니다. 즉 매도 진입 당시에는 현주가가 100ma 아래 있었고 매도 진입 이후 현주가가 100ma를 돌파하면 익봉시가에 매도분 청산입니다.) 현주가가 100ma 하향이탈 완성하면 익봉 시가에 매수 청산 (역시 하향이탈의 의미가 그 값이 컸다가 작아졌다는 의미입니다. 즉 매수 진입 당시에는 현주가가 100ma 위에 있었고 매수 진입 이후 현주가가 100ma를 돌파하면 익봉시가에 매수분 청산입니다.) 진입봉에서 청산이 발생하면 안됩니다. 매수든 매도든 진입과 청산은 각 1번입니다. 따라서 매수 신호 발생 후 매도 신호가 발생되면 매수청산만 하고 신규진입은 하지 않습니다. 15시 15분 강제청산입니다.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2022-02-16 09:21:09

안녕하세요 예스스탁입니다. Input : short(12), long(26), signal(9),P(100); Var : MACDv(0), MACDs(0),macdo(0),T(0),HH(0),LL(0); var : d1(0),t1(0),tl1(0),tl2(0),mav(0),entry(0); MACDv = MACD(short, long); MACDs = ema(MACDv,signal); macdo = MACDv-MACDs; mav = ma(C,P); if Bdate != Bdate[1] Then { d1 = sDate; t1 = sTime; HH = macdo; LL = macdo; Condition1 = False; entry = 0; } if (MarketPosition != 0 and MarketPosition != MarketPosition[1]) or (MarketPosition == MarketPosition[1] and TotalTrades > TotalTrades[1]) Then entry = entry+1; 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 CrossDown(mav,HH) Then { if MarketPosition == 0 and entry < 1 Then Sell("s",AtMarket); Else ExitLong("bx1",AtMarket); } if CrossUp(mav,LL) Then { if MarketPosition == 0 and entry < 1 Then Buy("b",AtMarket); Else ExitShort("sx1",AtMarket); } if MarketPosition == -1 and CrossUp(c,mav) Then ExitShort("sx",AtMarket); if MarketPosition == 1 and CrossDown(c,mav) Then ExitLong("bx",AtMarket); } } SetStopEndofday(151500); 즐거운 하루되세요 > 흰둥이아빠 님이 쓴 글입니다. > 제목 : 함수요청 > 안녕하세요? 아래 작성주신 지표함수 (글번호 74517번)을 활용하여 전략을 작성하고 싶습니다. 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 = macdo; LL = macdo; 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); } } 선물 5분봉으로 거래를 하고자 하는데 9시에 장이 개장하고 상기 지표(의미있는 고점 HH, 의미있는 저점 LL) 에서 100ma가 HH 위에 있다가 아래로 이탈하면 익봉 시가에 매도 진입 100ma가 LL 아래에 있다가 위로 돌파하면 익봉 시가에 매수 진입 현주가가 100ma 상향돌파 완성하면 익봉 시가에 매도 청산 (역시 상향돌파의 의미가 그 값이 작다가 커졌다는 의미입니다. 즉 매도 진입 당시에는 현주가가 100ma 아래 있었고 매도 진입 이후 현주가가 100ma를 돌파하면 익봉시가에 매도분 청산입니다.) 현주가가 100ma 하향이탈 완성하면 익봉 시가에 매수 청산 (역시 하향이탈의 의미가 그 값이 컸다가 작아졌다는 의미입니다. 즉 매수 진입 당시에는 현주가가 100ma 위에 있었고 매수 진입 이후 현주가가 100ma를 돌파하면 익봉시가에 매수분 청산입니다.) 진입봉에서 청산이 발생하면 안됩니다. 매수든 매도든 진입과 청산은 각 1번입니다. 따라서 매수 신호 발생 후 매도 신호가 발생되면 매수청산만 하고 신규진입은 하지 않습니다. 15시 15분 강제청산입니다.