커뮤니티

문의드립니다

프로필 이미지
곽민수
2016-10-18 04:51:27
127
글번호 103040
답변완료
1. Input : short(12),long(26),sig(9),시작시간(90000),종료시간(150000),당일수익틱수(10),텍스트표시소숫점자리수(2); Var : MACDv(0),MACDS(0),MACDO(0),T1(0),tx(0),NP(0),N1(0),Tcond(false),당일수익(0); var : daypl(0),Xcond(false),Bcond(false),Scond(false); NP = NetProfit; MACDv = MACD(short, long); MACDs = ema(MACDv,sig); MACDO = MACDV-MACDS; 당일수익 = PriceScale*당일수익틱수; if MACDV > MACDS Then T1 = 1; Else T1 = -1; if stime == 시작시간 or (stime > 시작시간 and stime[1] <시작시간) Then{ Tcond = true; Xcond = false; N1 = Np; } daypl = NP-N1; if TotalTrades > TotalTrades[1] and IsExitName("bp",1) == true Then{ Xcond = true; tx = Text_New(sdate,stime,H,"매수청산"+NumToStr(ExitPrice(1),텍스트표시소숫점자리수)); Text_SetStyle(tx,2,2); Text_SetColor(tx,blue); } if TotalTrades > TotalTrades[1] and IsExitName("sp",1) == true Then{ Xcond = true; tx = Text_New(sdate,stime,H,"매도청산"+NumToStr(ExitPrice(1),텍스트표시소숫점자리수)); Text_SetStyle(tx,2,2); Text_SetColor(tx,red); } if stime == 종료시간 or (stime > 종료시간 and stime[1] < 종료시간) Then{ Tcond = false; if MarketPosition != 0 then{ tx = Text_New(sdate,stime,H,"당일청산"+NumToStr(ExitPrice(1),텍스트표시소숫점자리수)); Text_SetStyle(tx,2,2); Text_SetColor(tx,BLACK); } } bcond = T1 == 1; Scond = T1 == -1; if Tcond == true and Xcond == false then{ if MarketPosition <= 0 and Bcond == true and Bcond[1] == false Then{ buy("b"); tx = Text_New(sdate,stime,H,"매수진입 :"+NumToStr(C,텍스트표시소숫점자리수)); Text_SetStyle(tx,2,2); Text_SetColor(tx,RED); } if MarketPosition >= 0 and Scond == true and Scond[1] == false Then{ sell("s"); tx = Text_New(sdate,stime,H,"매도진입 :"+NumToStr(C,텍스트표시소숫점자리수)); Text_SetStyle(tx,2,2); Text_SetColor(tx,blue); } if MarketPosition == 1 Then ExitLong("bp",AtLimit,EntryPrice+당일수익-daypl); if MarketPosition == -1 Then ExitShort("sp",AtLimit,EntryPrice-당일수익+daypl); } SetStopEndofday(150000); 2. Input : Period(12),당일수익틱수(50); var : NP(0),N1(0),dayPl(0),당일수익(0),Xcond(false); NP = NetProfit; 당일수익 = PriceScale*당일수익틱수; if bdate != Bdate[1] Then{ N1 = NP; Xcond = false; } dayPl = Np-N1; value1 = TRIX(Period); if TotalTrades > TotalTrades[1] and (IsExitName("dbp",1) or IsExitName("sdp",1)) Then Xcond = false; # 매수/매도청산 If CrossUP(value1, 0) Then { Buy(); } # 매도/매수청산 If CrossDown(value1, 0) Then { Sell(); } if MarketPosition == 1 Then ExitLong("bdp",atlimit,EntryPrice+daypl-daypl); if MarketPosition == -1 Then ExitShort("sdp",atlimit,EntryPrice-daypl+daypl); SetStopEndofday(150000); 1번시스템을 2번시스템에 대입을해볼려고 ...손을써봐도 당일수익틱수 가 문제가있는지 신호가 계속 연속적으로 뜹니다 1번시스템을 2번시스템으로 수정좀부탁드리겠습니다..
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2016-10-18 11:20:09

안녕하세요 예스스탁입니다. 당일수익청산신호가(bdp,sdp)이 발생하면 Xcond는 true가 되게 하고 각 진익식에는 Xcond가 false일때만 진인하는 조건을 추가해야 합니다. Input : Period(12),당일수익틱수(50); var : NP(0),N1(0),dayPl(0),당일수익(0),Xcond(false); NP = NetProfit; 당일수익 = PriceScale*당일수익틱수; if bdate != Bdate[1] Then{ N1 = NP; Xcond = false; } dayPl = Np-N1; value1 = TRIX(Period); if TotalTrades > TotalTrades[1] and (IsExitName("dbp",1) or IsExitName("sdp",1)) Then Xcond = true; # 매수/매도청산 If Xcond == false and CrossUP(value1, 0) Then { Buy(); } # 매도/매수청산 If Xcond == false and CrossDown(value1, 0) Then { Sell(); } if MarketPosition == 1 Then ExitLong("bdp",atlimit,EntryPrice+daypl-daypl); if MarketPosition == -1 Then ExitShort("sdp",atlimit,EntryPrice-daypl+daypl); SetStopEndofday(150000); 즐거운 하루되세요 > 곽민수 님이 쓴 글입니다. > 제목 : 문의드립니다 > 1. Input : short(12),long(26),sig(9),시작시간(90000),종료시간(150000),당일수익틱수(10),텍스트표시소숫점자리수(2); Var : MACDv(0),MACDS(0),MACDO(0),T1(0),tx(0),NP(0),N1(0),Tcond(false),당일수익(0); var : daypl(0),Xcond(false),Bcond(false),Scond(false); NP = NetProfit; MACDv = MACD(short, long); MACDs = ema(MACDv,sig); MACDO = MACDV-MACDS; 당일수익 = PriceScale*당일수익틱수; if MACDV > MACDS Then T1 = 1; Else T1 = -1; if stime == 시작시간 or (stime > 시작시간 and stime[1] <시작시간) Then{ Tcond = true; Xcond = false; N1 = Np; } daypl = NP-N1; if TotalTrades > TotalTrades[1] and IsExitName("bp",1) == true Then{ Xcond = true; tx = Text_New(sdate,stime,H,"매수청산"+NumToStr(ExitPrice(1),텍스트표시소숫점자리수)); Text_SetStyle(tx,2,2); Text_SetColor(tx,blue); } if TotalTrades > TotalTrades[1] and IsExitName("sp",1) == true Then{ Xcond = true; tx = Text_New(sdate,stime,H,"매도청산"+NumToStr(ExitPrice(1),텍스트표시소숫점자리수)); Text_SetStyle(tx,2,2); Text_SetColor(tx,red); } if stime == 종료시간 or (stime > 종료시간 and stime[1] < 종료시간) Then{ Tcond = false; if MarketPosition != 0 then{ tx = Text_New(sdate,stime,H,"당일청산"+NumToStr(ExitPrice(1),텍스트표시소숫점자리수)); Text_SetStyle(tx,2,2); Text_SetColor(tx,BLACK); } } bcond = T1 == 1; Scond = T1 == -1; if Tcond == true and Xcond == false then{ if MarketPosition <= 0 and Bcond == true and Bcond[1] == false Then{ buy("b"); tx = Text_New(sdate,stime,H,"매수진입 :"+NumToStr(C,텍스트표시소숫점자리수)); Text_SetStyle(tx,2,2); Text_SetColor(tx,RED); } if MarketPosition >= 0 and Scond == true and Scond[1] == false Then{ sell("s"); tx = Text_New(sdate,stime,H,"매도진입 :"+NumToStr(C,텍스트표시소숫점자리수)); Text_SetStyle(tx,2,2); Text_SetColor(tx,blue); } if MarketPosition == 1 Then ExitLong("bp",AtLimit,EntryPrice+당일수익-daypl); if MarketPosition == -1 Then ExitShort("sp",AtLimit,EntryPrice-당일수익+daypl); } SetStopEndofday(150000); 2. Input : Period(12),당일수익틱수(50); var : NP(0),N1(0),dayPl(0),당일수익(0),Xcond(false); NP = NetProfit; 당일수익 = PriceScale*당일수익틱수; if bdate != Bdate[1] Then{ N1 = NP; Xcond = false; } dayPl = Np-N1; value1 = TRIX(Period); if TotalTrades > TotalTrades[1] and (IsExitName("dbp",1) or IsExitName("sdp",1)) Then Xcond = false; # 매수/매도청산 If CrossUP(value1, 0) Then { Buy(); } # 매도/매수청산 If CrossDown(value1, 0) Then { Sell(); } if MarketPosition == 1 Then ExitLong("bdp",atlimit,EntryPrice+daypl-daypl); if MarketPosition == -1 Then ExitShort("sdp",atlimit,EntryPrice-daypl+daypl); SetStopEndofday(150000); 1번시스템을 2번시스템에 대입을해볼려고 ...손을써봐도 당일수익틱수 가 문제가있는지 신호가 계속 연속적으로 뜹니다 1번시스템을 2번시스템으로 수정좀부탁드리겠습니다..