답변완료
강조 추세선 부탁 드립니다.
안녕 하세요
Input : Period(20), MultiD1(1), MultiD2(2), MultiD3(3);
var : MAv(0),BBup1(0),BBdn1(0),BBup2(0),BBdn2(0),BBup3(0),BBdn3(0);
MAv = ma(C,Period);
BBup1 = BollBandUp(Period,MultiD1);
BBdn1 = BollBandDown(Period,MultiD1);
BBup2 = BollBandUp(Period,MultiD2);
BBdn2 = BollBandDown(Period,MultiD2);
BBup3 = BollBandUp(Period,MultiD3);
BBdn3 = BollBandDown(Period,MultiD3);
Plot1(MAv, "이평");
Plot2(BBup1, "상단밴드1");
Plot3(BBdn1, "하단밴드1");
Plot4(BBup2, "상단밴드2");
Plot5(BBdn2, "하단밴드2");
Plot6(BBup3, "상단밴드3");
Plot7(BBdn3, "하단밴드3");
안녕하세요
예스스탁입니다.
===================================================================
1 강조식
input : MaPeriod(6),MaPeriod2(2);
var : maOpen(0),maClose(0),maLow(0),maHigh(0);
var : haOpen(0),haClose(0),haLow(0),haHigh(0);
var : ExtMapBuffer5(0),ExtMapBuffer6(0),ExtMapBuffer4(0),ExtMapBuffer3(0),ExtMapBuffer2(0),ExtMapBuffer1(0);
var : ExtMapBuffer7(0),ExtMapBuffer8(0);
var : r(0),g(0),b(0);
if Index == 0 Then
{
maOpen=Open;
maClose=Close;
maLow=Low;
maHigh=High;
}
Else
{
maOpen=(maOpen[1]*(MAperiod-1)+Open)/MAPeriod;
maClose=(maClose[1]*(MAperiod-1)+Close)/MAPeriod;
maLow=(maLow[1]*(MAperiod-1)+Low)/MAPeriod;
maHigh=(maHigh[1]*(MAperiod-1)+High)/MAPeriod;
haOpen=(ExtMapBuffer5[1]+ExtMapBuffer6[1])/2;
haClose=(maOpen+maHigh+maLow+maClose)/4;
haHigh=Max(maHigh, Max(haOpen, haClose));
haLow=Min(maLow, Min(haOpen, haClose));
if (haOpen<haClose) then
{
r=0;
g=191;
b=255;
ExtMapBuffer7=haLow;
ExtMapBuffer8=haHigh;
}
else
{
r=255;
g=10;
b=0;
ExtMapBuffer7=haHigh;
ExtMapBuffer8=haLow;
}
ExtMapBuffer5=haOpen;
ExtMapBuffer6=haClose;
ExtMapBuffer1=WMA(ExtMapBuffer7,MAperiod2);
ExtMapBuffer2=WMA(ExtMapBuffer8,MAperiod2);
ExtMapBuffer3=WMA(ExtMapBuffer5,MAperiod2);
ExtMapBuffer4=WMA(ExtMapBuffer6,MAperiod2);
}
PlotPaintBar(ExtMapBuffer2,ExtMapBuffer1,ExtMapBuffer3,ExtMapBuffer4,"강조",Rgb(r,g,b));
2 시스템
input : MaPeriod(6),MaPeriod2(2);
var : maOpen(0),maClose(0),maLow(0),maHigh(0);
var : haOpen(0),haClose(0),haLow(0),haHigh(0);
var : ExtMapBuffer5(0),ExtMapBuffer6(0),ExtMapBuffer4(0),ExtMapBuffer3(0),ExtMapBuffer2(0),ExtMapBuffer1(0);
var : ExtMapBuffer7(0),ExtMapBuffer8(0);
var : r(0),g(0),b(0),short(False),long(False);
if Index == 0 Then
{
maOpen=Open;
maClose=Close;
maLow=Low;
maHigh=High;
}
Else
{
maOpen=(maOpen[1]*(MAperiod-1)+Open)/MAPeriod;
maClose=(maClose[1]*(MAperiod-1)+Close)/MAPeriod;
maLow=(maLow[1]*(MAperiod-1)+Low)/MAPeriod;
maHigh=(maHigh[1]*(MAperiod-1)+High)/MAPeriod;
haOpen=(ExtMapBuffer5[1]+ExtMapBuffer6[1])/2;
haClose=(maOpen+maHigh+maLow+maClose)/4;
haHigh=Max(maHigh, Max(haOpen, haClose));
haLow=Min(maLow, Min(haOpen, haClose));
if (haOpen<haClose) then
{
r=0;
g=191;
b=255;
ExtMapBuffer7=haLow;
ExtMapBuffer8=haHigh;
}
else
{
r=255;
g=10;
b=0;
ExtMapBuffer7=haHigh;
ExtMapBuffer8=haLow;
}
ExtMapBuffer5=haOpen;
ExtMapBuffer6=haClose;
ExtMapBuffer1=WMA(ExtMapBuffer7,MAperiod2);
ExtMapBuffer2=WMA(ExtMapBuffer8,MAperiod2);
ExtMapBuffer3=WMA(ExtMapBuffer5,MAperiod2);
ExtMapBuffer4=WMA(ExtMapBuffer6,MAperiod2);
}
short = ExtMapBuffer7[1]>ExtMapBuffer8[1] and ExtMapBuffer7[2]<ExtMapBuffer8[2] and ExtMapBuffer7[0]>ExtMapBuffer8[0];
long = ExtMapBuffer7[1]<ExtMapBuffer8[1] and ExtMapBuffer7[2]>ExtMapBuffer8[2] and ExtMapBuffer7[0]<ExtMapBuffer8[0];
if long Then
Buy();
if short Then
Sell();
즐거운 하루되세요
> 흑수돌 님이 쓴 글입니다.
> 제목 : 수식 문의
> 아래 지표는 하캔아쉬 지표를 더욱 스무드하게 만든 지표 입니다..
아래 수식을 예트로 변환하고 싶습니다.
링크 첨부 해 드립니다.
여러 회원님들도 도움 되시기 바랍니다.
이미 문의하신 회원님 계실 수 있겠는데
찾을 수가 없어 다시 문의 드립니다.
부탁좀 드리겠습니다. 감사합니다
==============================================
아래 두식을 한로직에 같이 쓸수 없나요?
따로 따로 쓸려니가 불편해서요
input : N(10), per1(23.6),per2(38.2),per3(50.0),per4(61.8),per5(76.4);
var : HH(0),LL(0);
HH = Highest(H,N)[1];
LL = Highest(L,N)[1];
var1 = LL-(HH-LL)*(Per1/100);
var2 = LL-(HH-LL)*(Per2/100);
var3 = LL-(HH-LL)*(Per3/100);
var4 = LL-(HH-LL)*(Per4/100);
var5 = LL-(HH-LL)*(Per5/100);
Plot1(HH);
Plot2(var1,"per1");
Plot3(Var2,"per2");
Plot4(Var3,"per3");
Plot5(Var4,"per4");
Plot6(Var5,"per5");
Plot7(LL);
즐거운 하루되세요
Input : af(0.02), maxAF(0.2);
var1 = SAR(af,maxAF);
if C > var1 Then
PlotPaintBar(High, Low, "파라볼릭",MAGENTA);
else
NoPlot(1);
Input : BWvalue(-2),maperiod(20), RocPeriod(12), stoPeriod1(5), stoPeriod2(3);
var1 = BW(maperiod, RocPeriod, stoPeriod1, stoPeriod2);
if var1 <= BWvalue Then
PlotPaintBar(High, Low, "바이너리웨이브",LGREEN);
else
NoPlot(1);
좋은 한주 되십시요.
2024-08-27
642
글번호 178102
강조
답변완료
수식변환 문의
수고하십니다.
트레이딩뷰지표인 'HIGH AND LOW Optimized Trend Tracker'를
예스로 변환부탁 드립니다.
================================================
'HIGH AND LOW Optimized Trend Tracker'
//@version=5
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © KivancOzbilgic
//created by: @Anil_Ozeksi
//developer: ANIL ÖZEKŞİ
//author: @kivancozbilgic
indicator('HIGH AND LOW Optimized Trend Tracker', 'HL OTT', overlay=true)
length = input.int(2, 'OTT Period', minval=1)
percent = input.float(0.6, 'OTT Optimization Coeff', step=0.1, minval=0)
hllength = input.int(10, 'Highest and Lowest Length', minval=1)
src = ta.highest(high, hllength)
srcl = ta.lowest(low, hllength)
highlighting = input(title='Highlighter On/Off ?', defval=true)
mav = input.string(title='Moving Average Type', defval='VAR', options=['SMA', 'EMA', 'WMA', 'DEMA', 'TMA', 'VAR', 'WWMA', 'ZLEMA', 'TSF', 'HULL'])
Var_Func(src, length) =>
valpha = 2 / (length + 1)
vud1 = src > src[1] ? src - src[1] : 0
vdd1 = src < src[1] ? src[1] - src : 0
vUD = math.sum(vud1, 9)
vDD = math.sum(vdd1, 9)
vCMO = nz((vUD - vDD) / (vUD + vDD))
VAR = 0.0
VAR := nz(valpha * math.abs(vCMO) * src) + (1 - valpha * math.abs(vCMO)) * nz(VAR[1])
VAR
VAR = Var_Func(src, length)
DEMA = 2 * ta.ema(src, length) - ta.ema(ta.ema(src, length), length)
Wwma_Func(src, length) =>
wwalpha = 1 / length
WWMA = 0.0
WWMA := wwalpha * src + (1 - wwalpha) * nz(WWMA[1])
WWMA
WWMA = Wwma_Func(src, length)
Zlema_Func(src, length) =>
zxLag = length / 2 == math.round(length / 2) ? length / 2 : (length - 1) / 2
zxEMAData = src + src - src[zxLag]
ZLEMA = ta.ema(zxEMAData, length)
ZLEMA
ZLEMA = Zlema_Func(src, length)
Tsf_Func(src, length) =>
lrc = ta.linreg(src, length, 0)
lrc1 = ta.linreg(src, length, 1)
lrs = lrc - lrc1
TSF = ta.linreg(src, length, 0) + lrs
TSF
TSF = Tsf_Func(src, length)
HMA = ta.wma(2 * ta.wma(src, length / 2) - ta.wma(src, length), math.round(math.sqrt(length)))
Var_Funcl(srcl, length) =>
valphal = 2 / (length + 1)
vud1l = srcl > srcl[1] ? srcl - srcl[1] : 0
vdd1l = srcl < srcl[1] ? srcl[1] - srcl : 0
vUDl = math.sum(vud1l, 9)
vDDl = math.sum(vdd1l, 9)
vCMOl = nz((vUDl - vDDl) / (vUDl + vDDl))
VARl = 0.0
VARl := nz(valphal * math.abs(vCMOl) * srcl) + (1 - valphal * math.abs(vCMOl)) * nz(VARl[1])
VARl
VARl = Var_Funcl(srcl, length)
DEMAl = 2 * ta.ema(srcl, length) - ta.ema(ta.ema(srcl, length), length)
Wwma_Funcl(srcl, length) =>
wwalphal = 1 / length
WWMAl = 0.0
WWMAl := wwalphal * srcl + (1 - wwalphal) * nz(WWMAl[1])
WWMAl
WWMAl = Wwma_Funcl(srcl, length)
Zlema_Funcl(srcl, length) =>
zxLagl = length / 2 == math.round(length / 2) ? length / 2 : (length - 1) / 2
zxEMADatal = srcl + srcl - srcl[zxLagl]
ZLEMAl = ta.ema(zxEMADatal, length)
ZLEMAl
ZLEMAl = Zlema_Funcl(srcl, length)
Tsf_Funcl(srcl, length) =>
lrcl = ta.linreg(srcl, length, 0)
lrc1l = ta.linreg(srcl, length, 1)
lrsl = lrcl - lrc1l
TSFl = ta.linreg(srcl, length, 0) + lrsl
TSFl
TSFl = Tsf_Funcl(srcl, length)
HMAl = ta.wma(2 * ta.wma(srcl, length / 2) - ta.wma(srcl, length), math.round(math.sqrt(length)))
getMA(src, length) =>
ma = 0.0
if mav == 'SMA'
ma := ta.sma(src, length)
ma
if mav == 'EMA'
ma := ta.ema(src, length)
ma
if mav == 'WMA'
ma := ta.wma(src, length)
ma
if mav == 'DEMA'
ma := DEMA
ma
if mav == 'TMA'
ma := ta.sma(ta.sma(src, math.ceil(length / 2)), math.floor(length / 2) + 1)
ma
if mav == 'VAR'
ma := VAR
ma
if mav == 'WWMA'
ma := WWMA
ma
if mav == 'ZLEMA'
ma := ZLEMA
ma
if mav == 'TSF'
ma := TSF
ma
if mav == 'HULL'
ma := HMA
ma
ma
getMAl(srcl, length) =>
mal = 0.0
if mav == 'SMA'
mal := ta.sma(srcl, length)
mal
if mav == 'EMA'
mal := ta.ema(srcl, length)
mal
if mav == 'WMA'
mal := ta.wma(srcl, length)
mal
if mav == 'DEMA'
mal := DEMAl
mal
if mav == 'TMA'
mal := ta.sma(ta.sma(srcl, math.ceil(length / 2)), math.floor(length / 2) + 1)
mal
if mav == 'VAR'
mal := VARl
mal
if mav == 'WWMA'
mal := WWMAl
mal
if mav == 'ZLEMA'
mal := ZLEMAl
mal
if mav == 'TSF'
mal := TSFl
mal
if mav == 'HULL'
mal := HMAl
mal
mal
MAvg = getMA(src, length)
fark = MAvg * percent * 0.01
longStop = MAvg - fark
longStopPrev = nz(longStop[1], longStop)
longStop := MAvg > longStopPrev ? math.max(longStop, longStopPrev) : longStop
shortStop = MAvg + fark
shortStopPrev = nz(shortStop[1], shortStop)
shortStop := MAvg < shortStopPrev ? math.min(shortStop, shortStopPrev) : shortStop
dir = 1
dir := nz(dir[1], dir)
dir := dir == -1 and MAvg > shortStopPrev ? 1 : dir == 1 and MAvg < longStopPrev ? -1 : dir
MT = dir == 1 ? longStop : shortStop
HOTT = MAvg > MT ? MT * (200 + percent) / 200 : MT * (200 - percent) / 200
HOTTC = color.blue
MAvgl = getMAl(srcl, length)
farkl = MAvgl * percent * 0.01
longStopl = MAvgl - farkl
longStopPrevl = nz(longStopl[1], longStopl)
longStopl := MAvgl > longStopPrevl ? math.max(longStopl, longStopPrevl) : longStopl
shortStopl = MAvgl + farkl
shortStopPrevl = nz(shortStopl[1], shortStopl)
shortStopl := MAvgl < shortStopPrevl ? math.min(shortStopl, shortStopPrevl) : shortStopl
dirl = 1
dirl := nz(dirl[1], dirl)
dirl := dirl == -1 and MAvgl > shortStopPrevl ? 1 : dirl == 1 and MAvgl < longStopPrevl ? -1 : dirl
MTl = dirl == 1 ? longStopl : shortStopl
LOTT = MAvgl > MTl ? MTl * (200 + percent) / 200 : MTl * (200 - percent) / 200
LOTTC = color.red
HOTTLine = plot(nz(HOTT[2]), title='HOTT', color=color.new(HOTTC, 0), linewidth=2, style=plot.style_line)
LOTTLine = plot(nz(LOTT[2]), title='LOTT', color=color.new(LOTTC, 0), linewidth=2, style=plot.style_line)
FillColor = highlighting ? color.new(#9915FF, 80) : na
fill(HOTTLine, LOTTLine, title='Highligter', color=FillColor)
color1 = close > HOTT[2] ? #00FFFF : close < LOTT[2] ? #FF00FF : na
barcolor(color1)
alertcondition(ta.crossover(close, HOTT[2]), title='Price Crossover Alarm', message='PRICE OVER HOTT - BUY SIGNAL!')
alertcondition(ta.crossunder(close, LOTT[2]), title='Price Crossunder Alarm', message='PRICE UNDER LOTT - SELL SIGNAL!')
2024-03-30
1183
글번호 178098
지표
답변완료
종목검색부탁드립니다
안녕하세요
5분봉입니다
A 하단라인
대금S=sum(V*C);
VV=sum(V);
대금20=대금S-대금S(기간);
VV20=VV-VV(기간);
대금20/VV20-D1*stdev(C, 기간);
B 중심라인
대금S=sum(V*C);
VV=sum(V);
대금20=대금S-대금S(기간);
VV20=VV-VV(기간);
대금20/VV20;
가중기간 = 25일
선행스팬1 = shift((highest(high,shortPeriod)+lowest(low,shortPeriod)+highest(high,midPeriod)+lowest(low,midPeriod))/4,midPeriod-1);
전환선 = (highest(high,shortPeriod)+lowest(low,shortPeriod))/2;
가 = 3봉전종가가 DayLow
나 = 2봉전 종가가 A하단라인 안으로 진입
다 = 1봉전 ma(ma(c,기간25/2,가중)*2-ma(c,기간25,가중),SQRT(기간25),가중);
가중 라인안으로 진입 (종가C > 25일가중라인)
라 = 0봉전 가중라인안에서 1봉전값과비교가 같거나 크다 =<
마 = (OR) 선행스팬1 [양운]
바 = (OR) C(가격1일선라인) > 전환선 (캔들이 전환선 라인 위로)1봉전 =< 0봉전
사 = (OR) 0봉전 전환선> 기준선
아 = (OR) 0봉전 신고가 5/8/9/10/15
마 = and (기준선,전환선)1봉전 =< 0봉전
바 = [OR] CrossUp(StochasticsSlow(Period1,Period2),
eavg(StochasticsSlow(Period1,Period2),Period3)); [Period1,2,3 = 5,3,3]
감사합니다
2024-03-31
782
글번호 178096
종목검색