예스스탁
예스스탁 답변
2024-03-07 14:37:50
안녕하세요
예스스탁입니다.
1 지표
input : sslper(100);
input : clsper(1);
input : t3hot(0.7);
input : t3swt(1);#1:true, 0:False
var : a(0),_c1(0),_c2(0),_c3(0),_c4(0),alpha(0),alpha1(0);
var : _t30(0),_t31(0),_t32(0),_t33(0),_t34(0),_t35(0),varHigh(0);
var : _t40(0),_t41(0),_t42(0),_t43(0),_t44(0),_t45(0),varLow(0);
var : _t50(0),_t51(0),_t52(0),_t53(0),_t54(0),_t55(0),varClose(0);
var : Hlv(0),sslDown(0),sslUp(0);
a = t3hot;
_c1 = -a * a * a;
_c2 = 3 * a * a + 3 * a * a * a;
_c3 = -6 * a * a - 3 * a - 3 * a * a * a;
_c4 = 1 + 3 * a + a * a * a + 3 * a * a;
alpha = 0;
if (t3swt == 1) Then
alpha = 2.0 / (1.0 + sslper);
else
alpha = 2.0 / (2.0 + (sslper - 1.0) / 2.0);
alpha1 = 0;
if (t3swt == 1) Then
alpha1 = 2.0 / (1.0 + clsper);
else
alpha1 = 2.0 / (2.0 + (clsper - 1.0) / 2.0);
_t30 = high;
_t31 = high;
_t32 = high;
_t33 = high;
_t34 = high;
_t35 = high;
_t30 = iff(IsNaN(_t30[1])==true,0,_t30[1]) + alpha * (high - iff(IsNaN(_t30[1])==true,0,_t30[1]));
_t31 = iff(IsNaN(_t31[1])==true,0,_t31[1]) + alpha * (_t30 - iff(IsNaN(_t31[1])==true,0,_t31[1]));
_t32 = iff(IsNaN(_t32[1])==true,0,_t32[1]) + alpha * (_t31 - iff(IsNaN(_t32[1])==true,0,_t32[1]));
_t33 = iff(IsNaN(_t33[1])==true,0,_t33[1]) + alpha * (_t32 - iff(IsNaN(_t33[1])==true,0,_t33[1]));
_t34 = iff(IsNaN(_t34[1])==true,0,_t34[1]) + alpha * (_t33 - iff(IsNaN(_t34[1])==true,0,_t34[1]));
_t35 = iff(IsNaN(_t35[1])==true,0,_t35[1]) + alpha * (_t34 - iff(IsNaN(_t35[1])==true,0,_t35[1]));
varHigh = _c1 * _t35 + _c2 * _t34 + _c3 * _t33 + _c4 * _t32;
_t40 = Low;
_t41 = Low;
_t42 = Low;
_t43 = Low;
_t44 = Low;
_t45 = Low;
_t40 = iff(IsNaN(_t40[1])==true,0,_t40[1]) + alpha * (Low - iff(IsNaN(_t40[1])==true,0,_t40[1]));
_t41 = iff(IsNaN(_t41[1])==true,0,_t41[1]) + alpha * (_t40 - iff(IsNaN(_t41[1])==true,0,_t41[1]));
_t42 = iff(IsNaN(_t42[1])==true,0,_t42[1]) + alpha * (_t41 - iff(IsNaN(_t42[1])==true,0,_t42[1]));
_t43 = iff(IsNaN(_t43[1])==true,0,_t43[1]) + alpha * (_t42 - iff(IsNaN(_t43[1])==true,0,_t43[1]));
_t44 = iff(IsNaN(_t44[1])==true,0,_t44[1]) + alpha * (_t43 - iff(IsNaN(_t44[1])==true,0,_t44[1]));
_t45 = iff(IsNaN(_t45[1])==true,0,_t45[1]) + alpha * (_t44 - iff(IsNaN(_t45[1])==true,0,_t45[1]));
varLow = _c1 * _t45 + _c2 * _t44 + _c3 * _t43 + _c4 * _t42;
_t50 = close;
_t51 = close;
_t52 = close;
_t53 = close;
_t54 = close;
_t55 = close;
_t50 = iff(IsNaN(_t50[1])==true,0,_t50[1]) + alpha1 * (close - iff(IsNaN(_t50[1])==true,0,_t50[1]));
_t51 = iff(IsNaN(_t51[1])==true,0,_t51[1]) + alpha1 * (_t50 - iff(IsNaN(_t51[1])==true,0,_t51[1]));
_t52 = iff(IsNaN(_t52[1])==true,0,_t52[1]) + alpha1 * (_t51 - iff(IsNaN(_t52[1])==true,0,_t52[1]));
_t53 = iff(IsNaN(_t53[1])==true,0,_t53[1]) + alpha1 * (_t52 - iff(IsNaN(_t53[1])==true,0,_t53[1]));
_t54 = iff(IsNaN(_t54[1])==true,0,_t54[1]) + alpha1 * (_t53 - iff(IsNaN(_t54[1])==true,0,_t54[1]));
_t55 = iff(IsNaN(_t55[1])==true,0,_t55[1]) + alpha1 * (_t54 - iff(IsNaN(_t55[1])==true,0,_t55[1]));
varClose = _c1 * _t55 + _c2 * _t54 + _c3 * _t53 + _c4 * _t52;
Hlv = 0;
Hlv = iff(varClose > varHigh , 1 , IFf( varClose < varLow , -1 , Hlv));
sslDown = iff(Hlv < 0 , varHigh , varLow);
sslUp = iff(Hlv < 0 , varLow , varHigh);
plot1(sslUp,"sslup", Green);
plot2(sslDown,"sslDown",Red);
2 시스템
input : sslper(100);
input : clsper(1);
input : t3hot(0.7);
input : t3swt(1);#1:true, 0:False
var : a(0),_c1(0),_c2(0),_c3(0),_c4(0),alpha(0),alpha1(0);
var : _t30(0),_t31(0),_t32(0),_t33(0),_t34(0),_t35(0),varHigh(0);
var : _t40(0),_t41(0),_t42(0),_t43(0),_t44(0),_t45(0),varLow(0);
var : _t50(0),_t51(0),_t52(0),_t53(0),_t54(0),_t55(0),varClose(0);
var : Hlv(0),sslDown(0),sslUp(0);
a = t3hot;
_c1 = -a * a * a;
_c2 = 3 * a * a + 3 * a * a * a;
_c3 = -6 * a * a - 3 * a - 3 * a * a * a;
_c4 = 1 + 3 * a + a * a * a + 3 * a * a;
alpha = 0;
if (t3swt == 1) Then
alpha = 2.0 / (1.0 + sslper);
else
alpha = 2.0 / (2.0 + (sslper - 1.0) / 2.0);
alpha1 = 0;
if (t3swt == 1) Then
alpha1 = 2.0 / (1.0 + clsper);
else
alpha1 = 2.0 / (2.0 + (clsper - 1.0) / 2.0);
_t30 = high;
_t31 = high;
_t32 = high;
_t33 = high;
_t34 = high;
_t35 = high;
_t30 = iff(IsNaN(_t30[1])==true,0,_t30[1]) + alpha * (high - iff(IsNaN(_t30[1])==true,0,_t30[1]));
_t31 = iff(IsNaN(_t31[1])==true,0,_t31[1]) + alpha * (_t30 - iff(IsNaN(_t31[1])==true,0,_t31[1]));
_t32 = iff(IsNaN(_t32[1])==true,0,_t32[1]) + alpha * (_t31 - iff(IsNaN(_t32[1])==true,0,_t32[1]));
_t33 = iff(IsNaN(_t33[1])==true,0,_t33[1]) + alpha * (_t32 - iff(IsNaN(_t33[1])==true,0,_t33[1]));
_t34 = iff(IsNaN(_t34[1])==true,0,_t34[1]) + alpha * (_t33 - iff(IsNaN(_t34[1])==true,0,_t34[1]));
_t35 = iff(IsNaN(_t35[1])==true,0,_t35[1]) + alpha * (_t34 - iff(IsNaN(_t35[1])==true,0,_t35[1]));
varHigh = _c1 * _t35 + _c2 * _t34 + _c3 * _t33 + _c4 * _t32;
_t40 = Low;
_t41 = Low;
_t42 = Low;
_t43 = Low;
_t44 = Low;
_t45 = Low;
_t40 = iff(IsNaN(_t40[1])==true,0,_t40[1]) + alpha * (Low - iff(IsNaN(_t40[1])==true,0,_t40[1]));
_t41 = iff(IsNaN(_t41[1])==true,0,_t41[1]) + alpha * (_t40 - iff(IsNaN(_t41[1])==true,0,_t41[1]));
_t42 = iff(IsNaN(_t42[1])==true,0,_t42[1]) + alpha * (_t41 - iff(IsNaN(_t42[1])==true,0,_t42[1]));
_t43 = iff(IsNaN(_t43[1])==true,0,_t43[1]) + alpha * (_t42 - iff(IsNaN(_t43[1])==true,0,_t43[1]));
_t44 = iff(IsNaN(_t44[1])==true,0,_t44[1]) + alpha * (_t43 - iff(IsNaN(_t44[1])==true,0,_t44[1]));
_t45 = iff(IsNaN(_t45[1])==true,0,_t45[1]) + alpha * (_t44 - iff(IsNaN(_t45[1])==true,0,_t45[1]));
varLow = _c1 * _t45 + _c2 * _t44 + _c3 * _t43 + _c4 * _t42;
_t50 = close;
_t51 = close;
_t52 = close;
_t53 = close;
_t54 = close;
_t55 = close;
_t50 = iff(IsNaN(_t50[1])==true,0,_t50[1]) + alpha1 * (close - iff(IsNaN(_t50[1])==true,0,_t50[1]));
_t51 = iff(IsNaN(_t51[1])==true,0,_t51[1]) + alpha1 * (_t50 - iff(IsNaN(_t51[1])==true,0,_t51[1]));
_t52 = iff(IsNaN(_t52[1])==true,0,_t52[1]) + alpha1 * (_t51 - iff(IsNaN(_t52[1])==true,0,_t52[1]));
_t53 = iff(IsNaN(_t53[1])==true,0,_t53[1]) + alpha1 * (_t52 - iff(IsNaN(_t53[1])==true,0,_t53[1]));
_t54 = iff(IsNaN(_t54[1])==true,0,_t54[1]) + alpha1 * (_t53 - iff(IsNaN(_t54[1])==true,0,_t54[1]));
_t55 = iff(IsNaN(_t55[1])==true,0,_t55[1]) + alpha1 * (_t54 - iff(IsNaN(_t55[1])==true,0,_t55[1]));
varClose = _c1 * _t55 + _c2 * _t54 + _c3 * _t53 + _c4 * _t52;
Hlv = 0;
Hlv = iff(varClose > varHigh , 1 , IFf( varClose < varLow , -1 , Hlv));
sslDown = iff(Hlv < 0 , varHigh , varLow);
sslUp = iff(Hlv < 0 , varLow , varHigh);
if CrossUp(sslUp,sslDown) Then
Buy();
if CrossDown(sslUp,sslDown) Then
Sell();
즐거운 하루되세요
> 사노소이 님이 쓴 글입니다.
> 제목 : 수식 부탁드립니다
> 매번 감사드립니다. 지표식과 시스템식 두가지 부탁드립니다.
indicator("T SSL",
shorttitle="T SSL",
overlay = true)
greencolor = #35ff02
redcolor = #ff0134
_iT3(src, per, hot, org)=>
a = hot
_c1 = -a * a * a
_c2 = 3 * a * a + 3 * a * a * a
_c3 = -6 * a * a - 3 * a - 3 * a * a * a
_c4 = 1 + 3 * a + a * a * a + 3 * a * a
alpha = 0.
if (org)
alpha := 2.0 / (1.0 + per)
else
alpha := 2.0 / (2.0 + (per - 1.0) / 2.0)
_t30 = src, _t31 = src
_t32 = src, _t33 = src
_t34 = src, _t35 = src
_t30 := nz(_t30[1]) + alpha * (src - nz(_t30[1]))
_t31 := nz(_t31[1]) + alpha * (_t30 - nz(_t31[1]))
_t32 := nz(_t32[1]) + alpha * (_t31 - nz(_t32[1]))
_t33 := nz(_t33[1]) + alpha * (_t32 - nz(_t33[1]))
_t34 := nz(_t34[1]) + alpha * (_t33 - nz(_t34[1]))
_t35 := nz(_t35[1]) + alpha * (_t34 - nz(_t35[1]))
out =
_c1 * _t35 + _c2 * _t34 +
_c3 * _t33 + _c4 * _t32
out
_ssl(per, clper, hot, org)=>
varHigh =_iT3(high, per, hot, org)
varLow = _iT3(low, per, hot, org)
varClose = _iT3(close, clper, hot, org)
Hlv = 0.
Hlv := varClose > varHigh ? 1 : varClose < varLow ? -1 : Hlv[1]
sslDown = Hlv < 0 ? varHigh : varLow
sslUp = Hlv < 0 ? varLow : varHigh
[sslUp, sslDown]
sslper = input.int(100, "SSL Period", group = "Basic Settings")
clsper = input.int(1, "Close Period", group = "Basic Settings", minval = 0)
t3hot = input.float(0.7, "T3 Factor", step = 0.01, maxval = 1, minval = 0, group = "T3 Settings")
t3swt = input.bool(true, "T3 Original?", group = "T3 Settings")
showSigs = input.bool(true, "Show signals?", group= "UI Options")
[sslUp, sslDown] = _ssl(sslper, clsper, t3hot, t3swt)
plot(sslUp, color = greencolor, linewidth = 2)
plot(sslDown, color = redcolor, linewidth = 2)
goUp = ta.crossover(sslUp, sslDown)
goDown = ta.crossover(sslDown, sslUp)
plotshape(showSigs and goUp, title = "Uptrend", color = #35ff02, textcolor = #35ff02, style = shape.triangleup, location = location.belowbar, size = size.normal)
plotshape(showSigs and goDown, title = "Downtrend", color = #ff0134, textcolor = #ff0134, style = shape.triangledown, location = location.abovebar, size = size.normal)