답변완료
문의 드립니다
안녕하세요
트레이딩지표 전환 부탁드립니다
1.
res1 = input(title="Close Time Frame", type=resolution, defval="D")
cld=security(tickerid, res1, close[1])
opd=security(tickerid,res1, open[1])
tu=(cld +opd)/2
plot( tu, "Breakout",color=black ,style=line,linewidth=2,transp=0)
2.다음지표에 현재가을 추가해주세요
input : Periods(10);
input : Multiplier(3.0);
input : changeATR(1);#1:SMA 0:RMA
var : src(0),alpha(0),source(0),ATR1(0),ATR2(0),ATRV(0);
var : up(0),up1(0),dn(0),dn1(0),trend(0),tx(0);
src = (H+L)/2;
alpha = 1 / Periods;
atr1 = IFf(IsNan(atr1[1]) == true , ma(TrueRange, Periods) , alpha * TrueRange + (1 - alpha) * atr1[1]);
atr2 = ATR(Periods);
atrv = IFf(changeATR == 1 , atr1 , atr2);
up=src-(Multiplier*atrv);
up1 = IFf(IsNan(up[1]) == False,up[1],up);
up = iff(close[1] > up1 , max(up,up1) , up);
dn=src+(Multiplier*atrv);
dn1 = IFf(IsNan(dn[1]) == False,dn[1], dn);
dn = iff(close[1] < dn1 , min(dn, dn1) , dn);
trend = 1;
trend = IFf(IsNan(trend[1]) == False,trend[1], trend);
trend = IFf(trend == -1 and close > dn1 , 1 , iff(trend == 1 and close < up1 , -1 , trend));
if trend == 1 Then
plot1(up,"UpTrend",green);
Else
NoPlot(1);
if trend == -1 then
Plot2(dn,"Down Trend",red);
Else
NoPlot(2);
if trend == 1 and trend[1] == -1 Then
{
tx =Text_New(sDate,sTime,up,"●");
Text_SetStyle(tx,2,2);
Text_SetColor(tx,Green);
}
if trend == -1 and trend[1] == 1 Then
{
tx =Text_New(sDate,sTime,dn,"●");
Text_SetStyle(tx,2,2);
Text_SetColor(tx,Red);
}
감사합니다
2024-10-31
664
글번호 184812
지표
답변완료
순매수체결량 30분전보다 우상향 검색식
안녕하세요
순매수체결량을 어찌어찌해서 잘 활용하고 있습니다
//Upvol "상승형 체결거래량";
//DownVol "하락형 체결거래량"
input: 막대굵기 (1);
var : sumPL(0);
if sDate != sDate[1] Then
{
sumPL = 0;
}
Else
{
sumPL = sumPL + (Upvol-DownVol);
if sumPL > 0 Then
Plot1(sumPL, "순매수체결량", RgB(255,0,0), Def, 막대굵기 );
Else
Plot1(sumPL, "순매수체결량", RgB(0,0,255), Def, 막대굵기 );
}
PlotBaseLine1(0, "기준선0");
지표수식은 위에 것으로 쓰고 있지만 뭐가 뭔지 거의 모릅니다
이걸 종목검색으로 활용하고 싶어서 순매수체결량이 30분전보다 증가한 종목을 찾고 싶어서 검색식을 만들어볼려고 합니다
아래부분에다
if var1>var1[30] then
find(1);
이렇게 붙여넣으면 될 줄 알았는데 검증을 클릭하면 오류라고 뜨네요
도움을 주실 수 있는지요? 꾸벅
2024-10-30
700
글번호 184807
종목검색
답변완료
문의 드립니다.
//@version=5
indicator(
"Fourier For Loop [BackQuant]",
shorttitle="",
overlay=false,timeframe="",
timeframe_gaps=true
)
const string ui = "UI Settings"
const string inputs = "Calculation Settings"
const string scoring = "Signals"
xval = input.source(hlc3, "Calculation Source", group = inputs, inline = "2222")
N = input.int(1, minval=1, title="Calculation Period", group = inputs, inline = "2222")
start = input.int(1, "Calculation Start", group = inputs,inline = "1s")
end = input.int(45, maxval = 50, title = "Calculation End", group = inputs,inline = "1s")
upper = input.int(40, "Long Threshold",group = scoring)
lower = input.int(-10, "Short Threshold",group = scoring)
simple bool showthres = input.bool(true, "Show Threshold Lines?", group = ui)
simple bool paintCandles = input.bool(false, "Color Bars According to Trend?", group = ui)
simple bool bgcol_ = input.bool(false, "Background Colour", group = ui)
int linew = input.int(3, "Signal Line Width", 1,4,1, group = ui)
color longcol = input.color(#00ff00, "Long Colour", group = ui, inline = "xxxx")
color shortcol = input.color(#ff0000, "Short Colour", group = ui, inline = "xxxx")
DFT(x, y, Nx, _dir) =>
float _arg = 0.0
float _cos = 0.0
float _sin = 0.0
float xArr_i = 0.0
float yArr_i = 0.0
xArr = array.new_float(array.size(x))
yArr = array.new_float(array.size(y))
for i = 0 to Nx - 1 by 1
xArr_i := 0.0
yArr_i := 0.0
kx = float(i) / float(Nx)
_arg := -_dir * 2 * math.pi * kx
for k = 0 to Nx - 1 by 1
_cos := math.cos(k * _arg)
_sin := math.sin(k * _arg)
xArr_i += array.get(x, k) * _cos - array.get(y, k) * _sin
yArr_i += array.get(x, k) * _sin + array.get(y, k) * _cos
yArr_i
array.set(xArr, i, xArr_i)
array.set(yArr, i, yArr_i)
if _dir == 1
for i = 0 to Nx - 1 by 1
array.set(x, i, array.get(xArr, i) / float(Nx))
array.set(y, i, array.get(yArr, i) / float(Nx))
else
for i = 0 to Nx - 1 by 1
array.set(x, i, array.get(xArr, i))
array.set(y, i, array.get(yArr, i))
x = array.new_float(N, 0.0)
y = array.new_float(N, 0.0)
for i = 0 to N - 1
array.set(x, i, xval[i])
array.set(y, i, 0.0)
DFT(x, y, N, 1)
mag = array.new_float(N, 0.0)
for i = 0 to N - 1
mag_i = math.sqrt(math.pow(array.get(x, i), 2) + math.pow(array.get(y, i), 2))
array.set(mag, i, mag_i)
subject = array.get(mag,0)
forloop(start, end) =>
return_val = 0.0
for i = start to end by 1
return_val += (subject > subject[i] ? 1 : -1)
return_val
return_val
score = forloop(start, end)
L = score > upper
S = ta.crossunder(score, lower)
var out = 0
if L and not S
out := 1
if S
out := -1
plot(score, "FFL", color = out == 1 ? longcol : out == -1 ? shortcol : color.gray, linewidth = linew)
barcolor(paintCandles ? (out == 1 ? longcol : out == -1 ? shortcol : color.gray) : na)
plot(showthres?upper:na, "Long Threshold", longcol)
plot(showthres?lower:na, "Short Threshold", shortcol)
bgcolor(bgcol_?(out == 1 ? color.new(longcol,90) : out == -1 ? color.new(shortcol,90) : color.gray):na)
alertcondition(L and not S, title="Fourier FL Long", message="Fourier FL Long - {{ticker}} - {{interval}}")
alertcondition(S, title="Fourier FL Short", message="Fourier FL Short - {{ticker}} - {{interval}}")
트레이딩뷰 수식인데 예스로 좀 바꿔주세요.
2024-10-30
683
글번호 184806
지표
답변완료
질문 드리겠습니다
지난 답변 감사드립니다
몇가지 더 여쭤보고 싶은데요
질문1.
if t == -1 Then
{
if h > hh Then
hh = h;
if l < ll Then
ll = l;
IF H > M2 TheN PLOT11(HIGH,"HIGH",Cyan,DeF,1);
# ElsE NoPloT(11);
}
이 부분에서 고가가 M2 (이평선) 보다 높을때 PLOT11로 출력을 했는데요
추세선 TL1 TL2 으로 표현한 구간( 두개의 MA 가 crossdown 했다가 up 하는 구간) 이 아닌 곳에서는 NOPLOT 을 하려면 어떻게 해야될까요??
ELSE NOPLOT(11); 을 추가해봤는데 안되네요.
*NOPLOT으로 값은 없지만(n/a) 두개의 지점을 이어주는 선을 없앨 수 있지 않나요??
질문2.
1번 질문에서의 IF H>M2 가 해당될때의 HIGH 값들 중에서 ,최고 HIGH 와 최저 HIGH 를 표시하고 싶습니다
질문3. 추세선 구간에 해당되지 않는 부분 (조건 만족하지 않는 봉들)에서의 최고 최저값을 작성하고 싶습니다. (최고가는 MA5 보다 클 때만 ). 추세선 구간을 지나는 연결선은 NOPLOT 으로 처리해주세요. 감사드립니다
[아래는 수식입니다]
VAR : P1(0),P2(0);
var : m1(0),m2(0),T(0),HH(0),LL(0);
var : upd(0),upt(0),dnd(0),dnt(0),TL1(0),TL2(0);
P1=5;
P2=30;
m1 = ma(C,P1);
m2 = ma(C,P2);
#이평
Plot1(M1,"M1",Green,DeF,1);
plot2(M2,"M2",OrangE,DeF,1);
if CrossUp(m1,m2) Then
{
T = 1;
upd = sDate;
upt = sTime;
value1 = hh;
Value2 = ll;
#직전 데드와 골드사이에는 추세선으로 출력
TL1 = TL_New(dnd,dnt,hh,upd,upt,hh);
TL_SetColoR(TL1,YelloW);
TL_SetSizE(TL1,1);
TL2 = TL_New(dnd,dnt,ll,upd,upt,ll);
TL_SetColoR(TL2,YelloW);
TL_SetSizE(TL2,1);
#Plot11(HIGH,"HIGH1",RED,DeF,1);
#plot3(value1,"HH EXT",LightGreen,DeF,1);
#plot4(LL,"LL EXT",BluE,DeF,1);
}
if CrossDown(m1,m2) Then
{
T = -1;
hh = h;
ll = l;
dnd = sDate;
dnt = sTime;
}
if t == -1 Then
{
if h > hh Then
hh = h;
if l < ll Then
ll = l;
IF H > M2 TheN PLOT11(HIGH,"HIGH",Cyan,DeF,1);
}
2024-10-31
591
글번호 184805
지표