커뮤니티

부탁드립니다

프로필 이미지
매치다2
2023-03-14 11:42:34
759
글번호 167141
답변완료
### 매도청산신호 추가부탁드립니다 ### 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; } }
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2023-03-14 14:58:04

안녕하세요 예스스탁입니다. 반대 내용에 매도추가해 드립니다. 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; Sell("s1"); } 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; Sell("s2"); } 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; Sell("s3"); } 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; Sell("s4"); } } 즐거운 하루되세요 > 매치다2 님이 쓴 글입니다. > 제목 : 부탁드립니다 > ### 매도청산신호 추가부탁드립니다 ### 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; } }