답변완료
ALMA Smoothed Gaussian Moving Average 수식 변경 요청 합니다
항상 감사 드립니다.
아래의 수식은 트레이딩뷰 사이트 에서 사용되는 수식 입니다.
이 수식을 예스트레이더에서 사용 할수 있도록 변경 부탁드립니다..
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © profitprotrading
//@version=5
indicator("ALMA Smoothed Gaussian Moving Average", shorttitle = "ASGMA", overlay=true)
//ALMA Smoothing
src = input(close, title='Source', group = "ALMA Smoothing")
smooth = input.int(1, title='Smoothing', minval=1, group = "ALMA Smoothing")
length1 = input.int(25, title='Lookback', minval=1, group = "ALMA Smoothing")
offset = 0.85
sigma1 = 7
pchange = ta.change(src, smooth) / src * 100
avpchange = ta.alma(pchange, length1, offset, sigma1)
//RSI
rsi = ta.rsi(close, 14)
rsiL = rsi > rsi[1]
rsiS = rsi < rsi[1]
//Chande Momentum
length11 = 9
src1 = close
momm = ta.change(src1)
f1(m) => m >= 0.0 ? m : 0.0
f2(m) => m >= 0.0 ? 0.0 : -m
m1 = f1(momm)
m2 = f2(momm)
sm1 = math.sum(m1, length11)
sm2 = math.sum(m2, length11)
percent(nom, div) => 100 * nom / div
chandeMO = percent(sm1-sm2, sm1+sm2)
cL = chandeMO > chandeMO[1]
cS = chandeMO < chandeMO[1]
//GAMA credit to author: © LeafAlgo https://www.tradingview.com/v/th7NZUPM/
length = input.int(14, minval=1, title="Length", group = "Gaussian Adaptive Moving Average")
adaptive = input.bool(true, title="Adaptive Parameters", group = "Gaussian Adaptive Moving Average")
volatilityPeriod = input.int(20, minval=1, title="Volatility Period", group = "Gaussian Adaptive Moving Average")
// Calculate Gaussian Moving Average
gma = 0.0
sumOfWeights = 0.0
sigma = adaptive ? ta.stdev(close, volatilityPeriod) : input.float(1.0, minval=0.1, title="Standard Deviation", group = "Gaussian Adaptive Moving Average")
for i = 0 to length - 1
weight = math.exp(-math.pow(((i - (length - 1)) / (2 * sigma)), 2) / 2)
value = ta.highest(avpchange, i + 1) + ta.lowest(avpchange, i + 1)
gma := gma + (value * weight)
sumOfWeights := sumOfWeights + weight
gma := (gma / sumOfWeights) / 2
gma:= ta.ema(gma, 7)
gmaColor = avpchange >= gma ? color.rgb(0, 161, 5) : color.rgb(215, 0, 0)
// Color bars based on signals until the next signal occurs
var int currentSignal = 0
currentSignal := avpchange >= gma ? 1 : -1//le_final ? -1 : currentSignal
var color barColor = na
if currentSignal == 1
barColor := color.rgb(0, 186, 6)
else if currentSignal == -1
barColor := color.rgb(176, 0, 0)
barcolor(barColor)
plotcandle(open, high, low, close, "Bar Color", barColor, barColor, bordercolor = barColor)
//Plotting
ema = ta.ema(close, 7)
plot(ema, color=gmaColor, linewidth=3, title="Gaussian Moving Average")
plotshape(ta.crossover(avpchange,gma) and barstate.isconfirmed, "Buy Signal", text = "B", textcolor = color.white, style = shape.labelup, location = location.belowbar, color = color.rgb(0, 161, 5), offset = -1)
plotshape(ta.crossunder(avpchange,gma) and barstate.isconfirmed, "Sell Signal", text = "S", textcolor = color.white, style = shape.labeldown, location = location.abovebar, color = color.rgb(215, 0, 0), offset = -1)
bgcolor(ta.crossover(avpchange,gma) and barstate.isconfirmed and rsiL and cL ? color.rgb(0, 162, 5, 85): na, offset = -1)
bgcolor(ta.crossunder(avpchange,gma) and barstate.isconfirmed and rsiS and cS ? color.rgb(207, 0, 0, 85): na, offset = -1)
barcolor(gmaColor)
alertcondition(ta.crossover(avpchange,gma) and barstate.isconfirmed, title="Buy Signal", message="Go Long! {{exchange}}:{{ticker}}")
alertcondition(ta.crossunder(avpchange,gma) and barstate.isconfirmed, title="Sell Signal", message="Go Short! {{exchange}}:{{ticker}}")
2024-05-08
1205
글번호 179256
강조
답변완료
문의 드립니다.
아래 식에서 매수는 주가가 당일 시가 위에서
스토케스틱 10 5 5 기준선20 아래서 위로 돌파시 매수 진입하고
매도 청산완료에서 당일 시가를 아래로 이탈할 때 매도 청산완료로 수정하고자 합니다.
그리고 매도의 경우도 매도는 주가가 당일 시가 아래서
스토케스틱 10 5 5 기준선80 위에서 아래로 돌파시 매도 진입하고
매수 청산완료에서 당일 시가를 위로 돌파 시 매수 청산완료로 수정하고자 합니다.
부탁드립니다.
Input : Period(10), Period1(5),수량(10);
Var : value(0);
value = StochasticsK(Period,Period1);
If CrossUP(value, 20) Then
{
Buy("b",OnClose,Def,수량);
}
if MarketPosition == 1 Then
{
If CrossDown(value, 20) Then
ExitLong();
If CrossDown(value, 80) Then
ExitLong();
}
Input : Period(10), Period1(5),수량(10);
Var : value(0);
value = StochasticsK(Period,Period1);
If CrossDown(value, 80) Then
Sell("s",OnClose,Def,수량);
if MarketPosition == -1 Then
{
If CrossUP(value, 80) Then
ExitShort();
If CrossUP(value, 20) Then
ExitShort();
}
2024-05-08
999
글번호 179249
시스템
답변완료
검색
input : atrPeriod(10),factor(3);
var : src(0),atrv(0),direction(0),prevSuperTrend(0);
var : upperBand(0),lowerBand(0),prevLowerBand(0),prevUpperBand(0);
var : superTrend(0),linecolor(0);
src = (h+l)/2;
atrv = atr(atrPeriod);
upperBand = src + factor * atrv;
lowerBand = src - factor * atrv;
###
prevLowerBand = Iff(IsNan(lowerBand[1])==False,lowerBand[1],0);
prevUpperBand = Iff(IsNan(upperBand[1])==False,upperBand[1],0);
if !(lowerBand > prevLowerBand or close[1] < prevLowerBand) Then
lowerBand = prevLowerBand;
if !(upperBand < prevUpperBand or close[1] > prevUpperBand) Then
upperBand = prevUpperBand;
prevSuperTrend = superTrend[1];
if isnan(atrv[1]) Then
direction = 1;
else if prevSuperTrend == prevUpperBand Then
direction = iff(close > upperBand , -1 , 1);
else
direction = iff(close < lowerBand , 1 , -1);
superTrend = iff(direction == -1 , lowerBand , upperBand);
linecolor = IFF(direction == -1 , Green, Red);
Plot1(upperBand);
Plot2(lowerBand);
이거 쓰고 잇는데 플롯2에 저가나 종가가 하단 돌파했을때
검색식과 동그라미로 표시되는거좀 부탁드립니다
2024-05-08
963
글번호 179236
검색
답변완료
수식 변환 부탁 드립니다.
안녕하세.
수식 변환 부탁합니다.
감사합니다.
U1 = if (c>= o, highestsince(1, c(1)<o(1) && c>= o, close), 0);
U2 = if (c>= o, lowestsince(1, c(1)<o(1) && c>= o, open), 0);
U3 = (u1+u2) / 2;
U4 = valuewhen (1, c(1)>= o(1) && c<o, u3(1));
d1 = if (c<= o, highestsince(1, c(1)>=o(1) && c<= o, open), 0);
d2 = if (c<= o, lowestsince(1, c(1)>=o(1) && c<= o, close), 0);
d3 = (d1+d2) / 2;
d4 = valuewhen(1, c(1)<= o(1) && c>o, d3(1));
x1 = if (c>= o, d4, u4);
xx = if (c>= x1, volume, 0);
xx(1) == 0 && xx>0
2024-05-08
872
글번호 179230
지표