예스스탁
예스스탁 답변
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");
}