커뮤니티

79419 시스템 검토및 수정 부탁드립니다

프로필 이미지
매치다는
2022-11-02 21:46:55
1047
글번호 163490
답변완료

첨부 이미지

### 다시부탁 드려요 과거의 신호도 부탁 드려요 @@@@ 79419 번입니다 1,번 input : length(12),reverse(false); var : hh(0),ll(0),ps(0),pssig(0); hh = highest(high, length); ll = lowest(low, length); if C > hh[1] Then ps = 1; if C < ll[1] Then ps = -1; pssig = iff(reverse and ps == 1, -1, iff(reverse and ps == -1, 1, ps)); if pssig == 1 then buy(); if pssig == -1 then sell(); 2,번 input : Period1(5),Period2(10),d1(2),period(40); var : RSIv(0),rsis(0),stdv(0),t1(0),t2(0),b(0),s(0); RSIv = RSI(Period1); RSIs = ema(RSIv,period2); stdv = std(rsiv,period2); t1 = ema(ema(ema(C,5),5),5); t2 = ema(ema(ema(C,10),10),10); var1 = lrl(c,period)+lrs(c,period); b = 0; if RSIV > rsis+d1*stdv Then b = b+1; if t1 > t2 Then b = b+1; if var1 > var1[1] Then b = b+1; s = 0; if RSIV < rsis-d1*stdv Then s = s+1; if t1 < t2 Then s = s+ 1; if var1 < var1[1] Then s = s+ 1; if b >= 2 Then buy(); if s >= 2 Then sell(); 3,번 Input : Period(3),Period1(4),Period2(5),Period3(6),Period4(7), LPercent(30), SPercent(65); var : Relative(0),Relative1(0),Relative2(0),Relative3(0),Relative4(0); Relative = RSI(Period); Relative1 = RSI(Period1); Relative2 = RSI(Period2); Relative3 = RSI(Period3); Relative4 = RSI(Period4); Var : value(0); value = RSI(Period); # 매수/매도청산 If Relative > 65 && Relative1 > 65 && Relative2 > 65 && Relative3 > 65 && Relative4[1] < 65 && CrossUP(Relative4, sPercent) Then { Buy(); } # 매도/매수청산 If CrossDown(Relative1, lPercent) Then { Sell(); } 4,번 input : dayLen(18); var : ii(0); Var1 = (close - close[DayLen - 1]) / (DayLen - 1); Var2 = 0; For ii = 2 To DayLen - 1 begin Var2 = Var2 + abs(close[DayLen - ii] - Close[DayLen - 1] - (ii - 1) * Var1); end; If Var2 <> 0 Then { If DayLen / 2 == 0 Then Var3 = accumN(close, DayLen) - DayLen * close[DayLen - 1] - (DayLen * (DayLen - 2) / 2 + DayLen / 2) * Var1; Else Var3 = accumN(close, DayLen) - DayLen * close[DayLen - 1] - DayLen * (DayLen - 1) / 2 * Var1; If Var3 > 0 Then Var4 = (Var2 - Var3) / 2 + Var3; Else Var4 = (Var2 + Var3) / 2; Var5 = Var4 / Var2 * 100; If Var1 > 0 And Var5 < 20 Then buy("매수", Atmarket); If Var1 < 0 And Var5 > 80 Then sell("매도", Atmarket); } 위 1번 2번 3번 4번 시스템을 하나로 부탁드립니다 ## 각각의 신호에 번호 부여 부탁 드립니다 ## 첨부사진1 1 2 3 4 시스템 인데 과거 신호 두 없네요 첨부사진2 1번은 오늘만들어주신호 옆사진은 신호식 1번 인데 매수신호가 1과 2번 신호가 상이하네요
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2022-11-03 14:14:59

안녕하세요 예스스탁입니다. 피라미딩을 설정하고 적용하셔야 합니다. 시스템은 기본적으로 1회진입하고 청산을 반복하게 되므로 동일포지션에 대해 중복으로 진입하는 로직이면 설정창에서 피라미딩을 설정하고 적용하셔야 합니다. 피라미딩을 모든진입신호로 설정하시고 하단의 최대누적수량 및 횟수를 크게 지정해 주시면 됩니다. 각 전략이 매수-> 청산하는 내용이므로 각 전략에서 매수후 청산조건발생후에 다시 매수조건이 발생핼때 다시 매수가 발생하게 수정해 드립니다. input : length(12),reverse(false); input : Period1(5),Period2(10),d1(2),period(40); Input : P(3),P1(4),P2(5),P3(6),P4(7), LPercent(30), SPercent(65); var : hh(0),ll(0),ps(0),pssig(0); var : RSIv(0),rsis(0),stdv(0),t1(0),t2(0),b(0),s(0); var : Relative(0),Relative1(0),Relative2(0),Relative3(0),Relative4(0); Var : value(0); var : s1(0),s2(0),s3(0),s4(0); hh = highest(high, length); ll = lowest(low, length); if C > hh[1] Then ps = 1; if C < ll[1] Then ps = -1; pssig = iff(reverse and ps == 1, -1, iff(reverse and ps == -1, 1, ps)); if s1 <= 0 and pssig == 1 then { s1= 1; buy("b1"); } if s1 <= 0 and pssig == -1 then { s1 = -1; } RSIv = RSI(Period1); RSIs = ema(RSIv,period2); stdv = std(rsiv,period2); t1 = ema(ema(ema(C,5),5),5); t2 = ema(ema(ema(C,10),10),10); var1 = lrl(c,period)+lrs(c,period); b = 0; if RSIV > rsis+d1*stdv Then b = b+1; if t1 > t2 Then b = b+1; if var1 > var1[1] Then b = b+1; s = 0; if RSIV < rsis-d1*stdv Then s = s+1; if t1 < t2 Then s = s+ 1; if var1 < var1[1] Then s = s+ 1; if s2 <= 0 and b >= 2 Then { s2 = 1; buy("b2"); } if s2 >= 0 and s >= 2 Then s2 = -1; Relative = RSI(P); Relative1 = RSI(P1); Relative2 = RSI(P2); Relative3 = RSI(P3); Relative4 = RSI(P4); value = RSI(P); # 매수/매도청산 If s3 <= 0 and Relative > 65 && Relative1 > 65 && Relative2 > 65 && Relative3 > 65 && Relative4[1] < 65 && CrossUP(Relative4, sPercent) Then { s3 = 1; Buy("b3"); } # 매도/매수청산 If s3 >= 0 and CrossDown(Relative1, lPercent) Then { s3 = -1; } input : dayLen(18); var : ii(0),v1(0),v2(0),v3(0),v4(0),v5(0); v1 = (close - close[DayLen - 1]) / (DayLen - 1); v2 = 0; For ii = 2 To DayLen - 1 begin v2 = v2 + abs(close[DayLen - ii] - Close[DayLen - 1] - (ii - 1) * v1); end; If v2 <> 0 Then { If DayLen / 2 == 0 Then v3 = accumN(close, DayLen) - DayLen * close[DayLen - 1] - (DayLen * (DayLen - 2) / 2 + DayLen / 2) * v1; Else v3 = accumN(close, DayLen) - DayLen * close[DayLen - 1] - DayLen * (DayLen - 1) / 2 * v1; If v3 > 0 Then v4 = (v2 - v3) / 2 + v3; Else v4 = (v2 + v3) / 2; v5 = v4 / v2 * 100; If s4 <= 0 and v1 > 0 And v5 < 20 Then { s4 = 1; buy("b4", Atmarket); } If V1 < 0 And V5 > 80 Then { s4 = -1; } } 즐거운 하루되세요 > 매치다는 님이 쓴 글입니다. > 제목 : 79419 시스템 검토및 수정 부탁드립니다 > ### 다시부탁 드려요 과거의 신호도 부탁 드려요 @@@@ 79419 번입니다 1,번 input : length(12),reverse(false); var : hh(0),ll(0),ps(0),pssig(0); hh = highest(high, length); ll = lowest(low, length); if C > hh[1] Then ps = 1; if C < ll[1] Then ps = -1; pssig = iff(reverse and ps == 1, -1, iff(reverse and ps == -1, 1, ps)); if pssig == 1 then buy(); if pssig == -1 then sell(); 2,번 input : Period1(5),Period2(10),d1(2),period(40); var : RSIv(0),rsis(0),stdv(0),t1(0),t2(0),b(0),s(0); RSIv = RSI(Period1); RSIs = ema(RSIv,period2); stdv = std(rsiv,period2); t1 = ema(ema(ema(C,5),5),5); t2 = ema(ema(ema(C,10),10),10); var1 = lrl(c,period)+lrs(c,period); b = 0; if RSIV > rsis+d1*stdv Then b = b+1; if t1 > t2 Then b = b+1; if var1 > var1[1] Then b = b+1; s = 0; if RSIV < rsis-d1*stdv Then s = s+1; if t1 < t2 Then s = s+ 1; if var1 < var1[1] Then s = s+ 1; if b >= 2 Then buy(); if s >= 2 Then sell(); 3,번 Input : Period(3),Period1(4),Period2(5),Period3(6),Period4(7), LPercent(30), SPercent(65); var : Relative(0),Relative1(0),Relative2(0),Relative3(0),Relative4(0); Relative = RSI(Period); Relative1 = RSI(Period1); Relative2 = RSI(Period2); Relative3 = RSI(Period3); Relative4 = RSI(Period4); Var : value(0); value = RSI(Period); # 매수/매도청산 If Relative > 65 && Relative1 > 65 && Relative2 > 65 && Relative3 > 65 && Relative4[1] < 65 && CrossUP(Relative4, sPercent) Then { Buy(); } # 매도/매수청산 If CrossDown(Relative1, lPercent) Then { Sell(); } 4,번 input : dayLen(18); var : ii(0); Var1 = (close - close[DayLen - 1]) / (DayLen - 1); Var2 = 0; For ii = 2 To DayLen - 1 begin Var2 = Var2 + abs(close[DayLen - ii] - Close[DayLen - 1] - (ii - 1) * Var1); end; If Var2 <> 0 Then { If DayLen / 2 == 0 Then Var3 = accumN(close, DayLen) - DayLen * close[DayLen - 1] - (DayLen * (DayLen - 2) / 2 + DayLen / 2) * Var1; Else Var3 = accumN(close, DayLen) - DayLen * close[DayLen - 1] - DayLen * (DayLen - 1) / 2 * Var1; If Var3 > 0 Then Var4 = (Var2 - Var3) / 2 + Var3; Else Var4 = (Var2 + Var3) / 2; Var5 = Var4 / Var2 * 100; If Var1 > 0 And Var5 < 20 Then buy("매수", Atmarket); If Var1 < 0 And Var5 > 80 Then sell("매도", Atmarket); } 위 1번 2번 3번 4번 시스템을 하나로 부탁드립니다 ## 각각의 신호에 번호 부여 부탁 드립니다 ## 첨부사진1 1 2 3 4 시스템 인데 과거 신호 두 없네요 첨부사진2 1번은 오늘만들어주신호 옆사진은 신호식 1번 인데 매수신호가 1과 2번 신호가 상이하네요