커뮤니티

수식 변환 부탁드립니다.

프로필 이미지
사노소이
2023-12-18 20:55:04
876
글번호 174971
답변완료
변환 가능한 수식이면 지표식 부탁드리고요. 아래 시스템식에도 ema 대신 이것으로 적용시켜 수정해 주시면 감사하겠습니다. 1. 변환할 지표식 study(title="T3 Averages", shorttitle="T3", overlay = true) Length = input(5, minval=1) xPrice = close xe1 = ema(xPrice, Length) xe2 = ema(xe1, Length) xe3 = ema(xe2, Length) xe4 = ema(xe3, Length) xe5 = ema(xe4, Length) xe6 = ema(xe5, Length) b = 0.7 c1 = -b*b*b c2 = 3*b*b+3*b*b*b c3 = -6*b*b-3*b-3*b*b*b c4 = 1+3*b+b*b*b+3*b*b nT3Average = c1 * xe6 + c2 * xe5 + c3 * xe4 + c4 * xe3 plot(nT3Average, color=lime, title="T3") ======================================================================== 2. 시스템식 input : keyvalue(5),P(100); input : atrperiod(10); var : src(0),xatr(0),nloss(0),xATRTrailingStop(0),pos(0),xcolor(0); var : Emav(0); src = close; xATR = atr(atrperiod); nLoss = keyvalue * xATR; xATRTrailingStop = 0.0; xATRTrailingStop = iff(src > iff(IsNan(xATRTrailingStop[1]) == true, 0,xATRTrailingStop[1]) and src[1] > iff(IsNan(xATRTrailingStop[1]) == true, 0,xATRTrailingStop[1]), max(iff(IsNan(xATRTrailingStop[1]) == true, 0,xATRTrailingStop[1]), src - nLoss), iff(src < iff(IsNan(xATRTrailingStop[1]) == true, 0,xATRTrailingStop[1]) and src[1] < iff(IsNan(xATRTrailingStop[1]) == true, 0,xATRTrailingStop[1]), min(iff(IsNan(xATRTrailingStop[1]) == true, 0,xATRTrailingStop[1]), src + nLoss), iff(src > iff(IsNan(xATRTrailingStop[1]) == true, 0,xATRTrailingStop[1]), src - nLoss, src + nLoss))); pos = 0; pos = iff(src[1] < iff(IsNan(xATRTrailingStop[1]) == true, 0,xATRTrailingStop[1]) and src > iff(IsNan(xATRTrailingStop[1]) == true, 0,xATRTrailingStop[1]), 1, iff(src[1] > iff(IsNan(xATRTrailingStop[1]) == true, 0,xATRTrailingStop[1]) and src < iff(IsNan(xATRTrailingStop[1]) == true, 0,xATRTrailingStop[1]), -1, iff(IsNan(pos[1])==true, 0,pos[1]))); xcolor = iff(pos == -1 , red , iff(pos == 1 , green ,blue)); Condition1 = CrossUp(src,xATRTrailingStop); Condition2 = CrossDown(src,xATRTrailingStop); Emav = Ema(C,P); if Condition1 == true Then { if C > Emav Then Buy(); Else ExitShort("SX"); } if Condition2 == true Then { if C < Emav Then Sell("Sell"); Else ExitLong("BX"); }
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2023-12-19 15:09:12

안녕하세요 예스스탁입니다. 1 input : Length(5),xPrice(close); var : xe1(0),xe2(0),xe3(0),xe4(0),xe5(0),xe6(0); var : b(0),c1(0),c2(0),c3(0),c4(0),nT3Average(0); xe1 = ema(xPrice, Length); xe2 = ema(xe1, Length); xe3 = ema(xe2, Length); xe4 = ema(xe3, Length); xe5 = ema(xe4, Length); xe6 = ema(xe5, Length); b = 0.7; c1 = -b*b*b; c2 = 3*b*b+3*b*b*b; c3 = -6*b*b-3*b-3*b*b*b; c4 = 1+3*b+b*b*b+3*b*b; nT3Average = c1 * xe6 + c2 * xe5 + c3 * xe4 + c4 * xe3; plot1(nT3Average,"T3",lime); 2 input : keyvalue(5); input : atrperiod(10); input : Length(5),xPrice(close); var : src(0),xatr(0),nloss(0),xATRTrailingStop(0),pos(0),xcolor(0); var : xe1(0),xe2(0),xe3(0),xe4(0),xe5(0),xe6(0); var : b(0),c1(0),c2(0),c3(0),c4(0),nT3Average(0); src = close; xATR = atr(atrperiod); nLoss = keyvalue * xATR; xATRTrailingStop = 0.0; xATRTrailingStop = iff(src > iff(IsNan(xATRTrailingStop[1]) == true, 0,xATRTrailingStop[1]) and src[1] > iff(IsNan(xATRTrailingStop[1]) == true, 0,xATRTrailingStop[1]), max(iff(IsNan(xATRTrailingStop[1]) == true, 0,xATRTrailingStop[1]), src - nLoss), iff(src < iff(IsNan(xATRTrailingStop[1]) == true, 0,xATRTrailingStop[1]) and src[1] < iff(IsNan(xATRTrailingStop[1]) == true, 0,xATRTrailingStop[1]), min(iff(IsNan(xATRTrailingStop[1]) == true, 0,xATRTrailingStop[1]), src + nLoss), iff(src > iff(IsNan(xATRTrailingStop[1]) == true, 0,xATRTrailingStop[1]), src - nLoss, src + nLoss))); pos = 0; pos = iff(src[1] < iff(IsNan(xATRTrailingStop[1]) == true, 0,xATRTrailingStop[1]) and src > iff(IsNan(xATRTrailingStop[1]) == true, 0,xATRTrailingStop[1]), 1, iff(src[1] > iff(IsNan(xATRTrailingStop[1]) == true, 0,xATRTrailingStop[1]) and src < iff(IsNan(xATRTrailingStop[1]) == true, 0,xATRTrailingStop[1]), -1, iff(IsNan(pos[1])==true, 0,pos[1]))); xcolor = iff(pos == -1 , red , iff(pos == 1 , green ,blue)); Condition1 = CrossUp(src,xATRTrailingStop); Condition2 = CrossDown(src,xATRTrailingStop); xe1 = ema(xPrice, Length); xe2 = ema(xe1, Length); xe3 = ema(xe2, Length); xe4 = ema(xe3, Length); xe5 = ema(xe4, Length); xe6 = ema(xe5, Length); b = 0.7; c1 = -b*b*b; c2 = 3*b*b+3*b*b*b; c3 = -6*b*b-3*b-3*b*b*b; c4 = 1+3*b+b*b*b+3*b*b; nT3Average = c1 * xe6 + c2 * xe5 + c3 * xe4 + c4 * xe3; if Condition1 == true Then { if C > nT3Average Then Buy(); Else ExitShort("SX"); } if Condition2 == true Then { if C < nT3Average Then Sell("Sell"); Else ExitLong("BX"); } 즐거운 하루되세요 > 사노소이 님이 쓴 글입니다. > 제목 : 수식 변환 부탁드립니다. > 변환 가능한 수식이면 지표식 부탁드리고요. 아래 시스템식에도 ema 대신 이것으로 적용시켜 수정해 주시면 감사하겠습니다. 1. 변환할 지표식 study(title="T3 Averages", shorttitle="T3", overlay = true) Length = input(5, minval=1) xPrice = close xe1 = ema(xPrice, Length) xe2 = ema(xe1, Length) xe3 = ema(xe2, Length) xe4 = ema(xe3, Length) xe5 = ema(xe4, Length) xe6 = ema(xe5, Length) b = 0.7 c1 = -b*b*b c2 = 3*b*b+3*b*b*b c3 = -6*b*b-3*b-3*b*b*b c4 = 1+3*b+b*b*b+3*b*b nT3Average = c1 * xe6 + c2 * xe5 + c3 * xe4 + c4 * xe3 plot(nT3Average, color=lime, title="T3") ======================================================================== 2. 시스템식 input : keyvalue(5),P(100); input : atrperiod(10); var : src(0),xatr(0),nloss(0),xATRTrailingStop(0),pos(0),xcolor(0); var : Emav(0); src = close; xATR = atr(atrperiod); nLoss = keyvalue * xATR; xATRTrailingStop = 0.0; xATRTrailingStop = iff(src > iff(IsNan(xATRTrailingStop[1]) == true, 0,xATRTrailingStop[1]) and src[1] > iff(IsNan(xATRTrailingStop[1]) == true, 0,xATRTrailingStop[1]), max(iff(IsNan(xATRTrailingStop[1]) == true, 0,xATRTrailingStop[1]), src - nLoss), iff(src < iff(IsNan(xATRTrailingStop[1]) == true, 0,xATRTrailingStop[1]) and src[1] < iff(IsNan(xATRTrailingStop[1]) == true, 0,xATRTrailingStop[1]), min(iff(IsNan(xATRTrailingStop[1]) == true, 0,xATRTrailingStop[1]), src + nLoss), iff(src > iff(IsNan(xATRTrailingStop[1]) == true, 0,xATRTrailingStop[1]), src - nLoss, src + nLoss))); pos = 0; pos = iff(src[1] < iff(IsNan(xATRTrailingStop[1]) == true, 0,xATRTrailingStop[1]) and src > iff(IsNan(xATRTrailingStop[1]) == true, 0,xATRTrailingStop[1]), 1, iff(src[1] > iff(IsNan(xATRTrailingStop[1]) == true, 0,xATRTrailingStop[1]) and src < iff(IsNan(xATRTrailingStop[1]) == true, 0,xATRTrailingStop[1]), -1, iff(IsNan(pos[1])==true, 0,pos[1]))); xcolor = iff(pos == -1 , red , iff(pos == 1 , green ,blue)); Condition1 = CrossUp(src,xATRTrailingStop); Condition2 = CrossDown(src,xATRTrailingStop); Emav = Ema(C,P); if Condition1 == true Then { if C > Emav Then Buy(); Else ExitShort("SX"); } if Condition2 == true Then { if C < Emav Then Sell("Sell"); Else ExitLong("BX"); }