커뮤니티

수식어 부탁드립니다

프로필 이미지
푸른
2021-03-31 07:25:17
1093
글번호 147539
답변완료

첨부 이미지

input : StartTime(100000),EndTime(055000),xtime(055500); var : 전환선(0),기준선(0),선행스팬1(0),선행스팬2(0); var : Tcond(false); if sDate != sDate[1] then SetStopEndofday(xtime); 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; SetStopEndofday(0); } INPUT : LENGTH(90); VAR : upv(0), dnv(0); upv = HIGHEST(HIGH, LENGTH); dnv = LOWEST(LOW, LENGTH); if MarketPosition <= 0 and L > dnv Then Buy("b",AtLimit,dnv); if MarketPosition >= 0 and H < upv Then Sell("s",AtLimit,upv); ---------------------------------------------------- 위 시스템의 추가하는 수식어 종류는 2가지 입니다. 1. buy 신호후 이격도 60의 기준선 crossup시 주문 sell 신호후 이격도 60의 기준선 crossdown시 주문 당일 손실 40틱 매매정지 당일 이익 150틱 매매정지 2. buy 신호후 30틱 아래에서 주문 sell 신호후 30틱 위에서 주문 당일 손실 40틱 매매정지 당일 이익 150틱 매매정지
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2021-03-31 12:50:36

안녕하세요 예스스탁입니다. 1 input : StartTime(100000),EndTime(055000),xtime(055500); INPUT : LENGTH(90); Input : 당일수익틱수(150),당일손실틱수(40); VAR : upv(0), dnv(0),dis(0),T(0); var : 전환선(0),기준선(0),선행스팬1(0),선행스팬2(0); var : Tcond(false); Var : N1(0),dayPl(0),당일수익(0),당일손실(0),Xcond(false); 당일수익 = PriceScale*당일수익틱수; 당일손실 = PriceScale*당일손실틱수; if sDate != sDate[1] then SetStopEndofday(xtime); 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; SetStopEndofday(0); T = 0; Xcond = false; N1 = NetProfit; } daypl = NetProfit-N1; if TotalTrades > TotalTrades[1] then { if daypl >= 당일수익 or daypl <= -당일손실 Then Xcond = true; if (IsExitName("dbp",1) == true or IsExitName("dbl",1) == true or IsExitName("dsp",1) == true or IsExitName("dsl",1) == true) then Xcond = true; } upv = HIGHEST(HIGH, LENGTH); dnv = LOWEST(LOW, LENGTH); dis = Disparity(60); if Tcond == true and Tcond[1] == true and Xcond == False Then { if T <= 0 and L <= dnv and L[1] > dnv[1] Then T = 1; if T >= 0 and H >= upv and H[1] < upv[1] Then T = -1; if MarketPosition >= 0 and T == 1 and CrossUp(dis,100) Then Buy(); if MarketPosition >= 0 and T == -1 and CrossDown(dis,100) Then Sell(); } if MarketPosition == 1 then{ ExitLong("dbp",atlimit,EntryPrice+((당일수익-daypl)/CurrentContracts)); ExitLong("dbl",AtStop,EntryPrice-((당일손실+daypl)/CurrentContracts)); } if MarketPosition == -1 then{ ExitShort("dsp",atlimit,EntryPrice-((당일수익-daypl)/CurrentContracts)); ExitShort("dsl",AtStop,EntryPrice+((당일손실+daypl)/CurrentContracts)); } 2 input : StartTime(100000),EndTime(055000),xtime(055500); INPUT : LENGTH(90); Input : 당일수익틱수(150),당일손실틱수(40); VAR : upv(0), dnv(0),dis(0),T(0); var : 전환선(0),기준선(0),선행스팬1(0),선행스팬2(0); var : Tcond(false),P(0); Var : N1(0),dayPl(0),당일수익(0),당일손실(0),Xcond(false); 당일수익 = PriceScale*당일수익틱수; 당일손실 = PriceScale*당일손실틱수; if sDate != sDate[1] then SetStopEndofday(xtime); 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; SetStopEndofday(0); T = 0; Xcond = false; N1 = NetProfit; } daypl = NetProfit-N1; if TotalTrades > TotalTrades[1] then { if daypl >= 당일수익 or daypl <= -당일손실 Then Xcond = true; if (IsExitName("dbp",1) == true or IsExitName("dbl",1) == true or IsExitName("dsp",1) == true or IsExitName("dsl",1) == true) then Xcond = true; } upv = HIGHEST(HIGH, LENGTH); dnv = LOWEST(LOW, LENGTH); dis = Disparity(60); if Tcond == true and Tcond[1] == true and Xcond == False Then { if T <= 0 and L <= dnv and L[1] > dnv[1] Then { T = 1; P = L; Condition1 = true; } if T >= 0 and H >= upv and H[1] < upv[1] Then { T = -1; P = H; Condition2 = true; } if Condition1 == true and MarketPosition >= 0 and T == 1 Then Buy("b",AtLimit,P-PriceScale*30); if Condition2 == true and MarketPosition >= 0 and T == -1 Then Sell("s",AtLimit,P+PriceScale*30); } if MarketPosition == 1 then { Condition1 = False; ExitLong("dbp",atlimit,EntryPrice+((당일수익-daypl)/CurrentContracts)); ExitLong("dbl",AtStop,EntryPrice-((당일손실+daypl)/CurrentContracts)); } if MarketPosition == -1 then { Condition1 = False; ExitShort("dsp",atlimit,EntryPrice-((당일수익-daypl)/CurrentContracts)); ExitShort("dsl",AtStop,EntryPrice+((당일손실+daypl)/CurrentContracts)); } 즐거운 하루되세요 > 푸른 님이 쓴 글입니다. > 제목 : 수식어 부탁드립니다 > input : StartTime(100000),EndTime(055000),xtime(055500); var : 전환선(0),기준선(0),선행스팬1(0),선행스팬2(0); var : Tcond(false); if sDate != sDate[1] then SetStopEndofday(xtime); 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; SetStopEndofday(0); } INPUT : LENGTH(90); VAR : upv(0), dnv(0); upv = HIGHEST(HIGH, LENGTH); dnv = LOWEST(LOW, LENGTH); if MarketPosition <= 0 and L > dnv Then Buy("b",AtLimit,dnv); if MarketPosition >= 0 and H < upv Then Sell("s",AtLimit,upv); ---------------------------------------------------- 위 시스템의 추가하는 수식어 종류는 2가지 입니다. 1. buy 신호후 이격도 60의 기준선 crossup시 주문 sell 신호후 이격도 60의 기준선 crossdown시 주문 당일 손실 40틱 매매정지 당일 이익 150틱 매매정지 2. buy 신호후 30틱 아래에서 주문 sell 신호후 30틱 위에서 주문 당일 손실 40틱 매매정지 당일 이익 150틱 매매정지