커뮤니티

식수정

프로필 이미지
아트정
2022-12-03 11:03:14
1486
글번호 164323
답변완료
input : P1(5),P2(20); Input : short(12), long(26), signal(9); input : BBP(20),dv(2); input : StartTime(80000),EndTime(30000); var : mav1(0),mav2(0),bbup(0),bbdn(0); Var : MACDv(0), MACDs(0),macdo(0),T(0); var : Tcond(false); mav1 = ma(C,P1); mav2 = ma(C,P2); MACDv = MACD(short, long); MACDs = ema(MACDv,signal); macdo = MACDv-MACDs; bbup = BollBandUp(BBP,dv); bbdn = BollBandDown(BBP,dv); IF Endtime > starttime Then SetStopEndofday(Endtime); Else { if sDate != sDate[1] Then SetStopEndofday(Endtime); } if (sdate != sdate[1] and stime >= EndTime) or (sdate == sdate[1] and stime >= EndTime and stime[1] < EndTime) Then Tcond = False; if (sdate != sdate[1] and stime >= StartTime) or (sdate == sdate[1] and stime >= StartTime and stime[1] < StartTime) Then { Tcond = true; T = 0; var1 = 0; Var2 = 0; IF Endtime <= starttime Then { SetStopEndofday(0); } } if Tcond == true Then { var1 = var1+v; Var2 = Var2+1; Var3 = var1/Var2; if C < DayOpen and mav1 < mav1[1] Then T = 1; if T == 1 and MACDO > 0 and mav2 > mav2[1] Then { if (CrossUp(c,DayOpen) and C < BBup) or (C > DayOpen and C > bbup and CrossDown(C,mav1)) Then Buy(); } if C > DayOpen and mav1 > mav1[1] Then T = -1; if T == -1 and MACDO < 0 and mav2 < mav2[1] Then { if (CrossDown(c,DayOpen) and C > BBdn) or (C < DayOpen and C < bbdn and CrossUp(C,mav1)) Then Sell(); } if MarketPosition == 1 Then { # if CrossDown(C,DayOpen) Then # ExitLong(); # if v >= Var3[1]*5 then # ExitLong(); } if MarketPosition == -1 Then { # if CrossUp(C,DayOpen) Then # ExitShort(); # if v >= Var3[1]*5 then # ExitShort(); } } SetStopProfittarget(3.0,PercentStop); SetStopLoss(1.8,PercentStop); 안녕하세요 위 식에서 식추가 부탁드립니다. 익절.손절기능 삭제(SetStopProfittarget(3.0,PercentStop); SetStopLoss(1.8,PercentStop);) 추가 매수 당일 시가선위에서 매수 진입후 시가선 아래로 하향시 손절후 바로 매도 전환. 매도 당일 시가선아래서 매도 진입후 당일 시가선위로 상승시 손절후 바로 매수 진입전환.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2022-12-05 09:41:01

안녕하세요 예스스탁입니다. input : P1(5),P2(20); Input : short(12), long(26), signal(9); input : BBP(20),dv(2); input : StartTime(80000),EndTime(30000); var : mav1(0),mav2(0),bbup(0),bbdn(0); Var : MACDv(0), MACDs(0),macdo(0),T(0); var : Tcond(false); mav1 = ma(C,P1); mav2 = ma(C,P2); MACDv = MACD(short, long); MACDs = ema(MACDv,signal); macdo = MACDv-MACDs; bbup = BollBandUp(BBP,dv); bbdn = BollBandDown(BBP,dv); IF Endtime > starttime Then SetStopEndofday(Endtime); Else { if sDate != sDate[1] Then SetStopEndofday(Endtime); } if (sdate != sdate[1] and stime >= EndTime) or (sdate == sdate[1] and stime >= EndTime and stime[1] < EndTime) Then Tcond = False; if (sdate != sdate[1] and stime >= StartTime) or (sdate == sdate[1] and stime >= StartTime and stime[1] < StartTime) Then { Tcond = true; T = 0; var1 = 0; Var2 = 0; IF Endtime <= starttime Then { SetStopEndofday(0); } } if Tcond == true Then { var1 = var1+v; Var2 = Var2+1; Var3 = var1/Var2; if C < DayOpen and mav1 < mav1[1] Then T = 1; if T == 1 and MACDO > 0 and mav2 > mav2[1] Then { if (CrossUp(c,DayOpen) and C < BBup) or (C > DayOpen and C > bbup and CrossDown(C,mav1)) Then Buy(); } if C > DayOpen and mav1 > mav1[1] Then T = -1; if T == -1 and MACDO < 0 and mav2 < mav2[1] Then { if (CrossDown(c,DayOpen) and C > BBdn) or (C < DayOpen and C < bbdn and CrossUp(C,mav1)) Then Sell(); } if MarketPosition == 1 Then { if CrossDown(c,DayOpen) Then Sell("bs"); # if CrossDown(C,DayOpen) Then # ExitLong(); # if v >= Var3[1]*5 then # ExitLong(); } if MarketPosition == -1 Then { if CrossUp(C,DayOpen) Then Buy("sb"); # if CrossUp(C,DayOpen) Then # ExitShort(); # if v >= Var3[1]*5 then # ExitShort(); } } 즐거운 하루되세요 > 아트정 님이 쓴 글입니다. > 제목 : 식수정 > input : P1(5),P2(20); Input : short(12), long(26), signal(9); input : BBP(20),dv(2); input : StartTime(80000),EndTime(30000); var : mav1(0),mav2(0),bbup(0),bbdn(0); Var : MACDv(0), MACDs(0),macdo(0),T(0); var : Tcond(false); mav1 = ma(C,P1); mav2 = ma(C,P2); MACDv = MACD(short, long); MACDs = ema(MACDv,signal); macdo = MACDv-MACDs; bbup = BollBandUp(BBP,dv); bbdn = BollBandDown(BBP,dv); IF Endtime > starttime Then SetStopEndofday(Endtime); Else { if sDate != sDate[1] Then SetStopEndofday(Endtime); } if (sdate != sdate[1] and stime >= EndTime) or (sdate == sdate[1] and stime >= EndTime and stime[1] < EndTime) Then Tcond = False; if (sdate != sdate[1] and stime >= StartTime) or (sdate == sdate[1] and stime >= StartTime and stime[1] < StartTime) Then { Tcond = true; T = 0; var1 = 0; Var2 = 0; IF Endtime <= starttime Then { SetStopEndofday(0); } } if Tcond == true Then { var1 = var1+v; Var2 = Var2+1; Var3 = var1/Var2; if C < DayOpen and mav1 < mav1[1] Then T = 1; if T == 1 and MACDO > 0 and mav2 > mav2[1] Then { if (CrossUp(c,DayOpen) and C < BBup) or (C > DayOpen and C > bbup and CrossDown(C,mav1)) Then Buy(); } if C > DayOpen and mav1 > mav1[1] Then T = -1; if T == -1 and MACDO < 0 and mav2 < mav2[1] Then { if (CrossDown(c,DayOpen) and C > BBdn) or (C < DayOpen and C < bbdn and CrossUp(C,mav1)) Then Sell(); } if MarketPosition == 1 Then { # if CrossDown(C,DayOpen) Then # ExitLong(); # if v >= Var3[1]*5 then # ExitLong(); } if MarketPosition == -1 Then { # if CrossUp(C,DayOpen) Then # ExitShort(); # if v >= Var3[1]*5 then # ExitShort(); } } SetStopProfittarget(3.0,PercentStop); SetStopLoss(1.8,PercentStop); 안녕하세요 위 식에서 식추가 부탁드립니다. 익절.손절기능 삭제(SetStopProfittarget(3.0,PercentStop); SetStopLoss(1.8,PercentStop);) 추가 매수 당일 시가선위에서 매수 진입후 시가선 아래로 하향시 손절후 바로 매도 전환. 매도 당일 시가선아래서 매도 진입후 당일 시가선위로 상승시 손절후 바로 매수 진입전환.