답변완료
부탁드립니다
수고하십니다
예스로 부탁드립니다
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// Credits to the original s c ript - Range Filter DonovanWall https://www.tradingview.com/s c ript/lut7sBgG-Range-Filter-DW/
// This version is the old version of the Range Filter with less settings to tinker with
//@version=4
study(title="Range Filter - B&S Signals", shorttitle="RF - B&S Signals", overlay=true)
//-----------------------------------------------------------------------------------------------------------------------------------------------------------------
//Functions
//-----------------------------------------------------------------------------------------------------------------------------------------------------------------
//Range Size Function
rng_size(x, qty, n)=>
// AC = Cond_EMA(abs(x - x[1]), 1, n)
wper = (n*2) - 1
avrng = ema(abs(x - x[1]), n)
AC = ema(avrng, wper)*qty
rng_size = AC
//Range Filter Function
rng_filt(x, rng_, n)=>
r = rng_
var rfilt = array.new_float(2, x)
array.set(rfilt, 1, array.get(rfilt, 0))
if x - r > array.get(rfilt, 1)
array.set(rfilt, 0, x - r)
if x + r < array.get(rfilt, 1)
array.set(rfilt, 0, x + r)
rng_filt1 = array.get(rfilt, 0)
hi_band = rng_filt1 + r
lo_band = rng_filt1 - r
rng_filt = rng_filt1
[hi_band, lo_band, rng_filt]
//-----------------------------------------------------------------------------------------------------------------------------------------------------------------
//Inputs
//-----------------------------------------------------------------------------------------------------------------------------------------------------------------
//Range Source
rng_src = input(defval=close, type=input.source, title="Swing Source")
//Range Period
rng_per = input(defval=20, minval=1, title="Swing Period")
//Range Size Inputs
rng_qty = input(defval=3.5, minval=0.0000001, title="Swing Multiplier")
//Bar Colors
use_barcolor = input(defval=false, type=input.bool, title="Bar Colors On/Off")
//-----------------------------------------------------------------------------------------------------------------------------------------------------------------
//Definitions
//-----------------------------------------------------------------------------------------------------------------------------------------------------------------
//Range Filter Values
[h_band, l_band, filt] = rng_filt(rng_src, rng_size(rng_src, rng_qty, rng_per), rng_per)
//Direction Conditions
var fdir = 0.0
fdir := filt > filt[1] ? 1 : filt < filt[1] ? -1 : fdir
upward = fdir==1 ? 1 : 0
downward = fdir==-1 ? 1 : 0
//Trading Condition
longCond = rng_src > filt and rng_src > rng_src[1] and upward > 0 or rng_src > filt and rng_src < rng_src[1] and upward > 0
shortCond = rng_src < filt and rng_src < rng_src[1] and downward > 0 or rng_src < filt and rng_src > rng_src[1] and downward > 0
CondIni = 0
CondIni := longCond ? 1 : shortCond ? -1 : CondIni[1]
longCondition = longCond and CondIni[1] == -1
shortCondition = shortCond and CondIni[1] == 1
//Colors
filt_color = upward ? #05ff9b : downward ? #ff0583 : #cccccc
bar_color = upward and (rng_src > filt) ? (rng_src > rng_src[1] ? #05ff9b : #00b36b) :
downward and (rng_src < filt) ? (rng_src < rng_src[1] ? #ff0583 : #b8005d) : #cccccc
//-----------------------------------------------------------------------------------------------------------------------------------------------------------------
//Outputs
//-----------------------------------------------------------------------------------------------------------------------------------------------------------------
//Filter Plot
filt_plot = plot(filt, color=filt_color, transp=67, linewidth=3, title="Filter")
//Band Plots
h_band_plot = plot(h_band, color=color.new(#05ff9b, 100), title="High Band")
l_band_plot = plot(l_band, color=color.new(#ff0583, 100), title="Low Band")
//Band Fills
fill(h_band_plot, filt_plot, color=color.new(#00b36b, 92), title="High Band Fill")
fill(l_band_plot, filt_plot, color=color.new(#b8005d, 92), title="Low Band Fill")
//Bar Color
barcolor(use_barcolor ? bar_color : na)
//Plot Buy and Sell Labels
plotshape(longCondition, title = "Buy Signal", text ="BUY", textcolor = color.white, style=shape.labelup, size = size.normal, location=location.belowbar, color = color.new(color.green, 0))
plotshape(shortCondition, title = "Sell Signal", text ="SELL", textcolor = color.white, style=shape.labeldown, size = size.normal, location=location.abovebar, color = color.new(color.red, 0))
//Alerts
alertcondition(longCondition, title="Buy Alert", message = "BUY")
alertcondition(shortCondition, title="Sell Alert", message = "SELL")
답변완료
키움 수식을 검색식으로 변환 부탁 드립니다.
수고가 많으십니다. 아래의 3가지 수식을 검색식으로 부탁드립니다. 감사합니다.
1.
A=eavg(if(C>avg(c,20),V,if(C<avg(C,20),-V,0)),9);
B=ma(A,9);
Crossup(A,B) && C>O
2.
Period: 20
signal: 10;
A=avg(abs(이전종가()-C),Period);
B=ma(avg(abs(이전종가()-C),Period),signal);
Crossup(A,B) && C>O
3.
지표변수: con1(10), con2(5),con3(10);
x1=avg(c,5)<avg(c,200) &&
avg(c,10)<avg(c,200) &&
avg(c,20)<avg(c,200) &&
avg(c,60)< avg(c,200);
x2=c(10)<avg(c,200,10) &&
c(30)<avg(c,200,30) &&
c(60)<avg(c,200,60);
x3=abs(avg(c,5,1) / avg(c,10,1)-1) *100<=con1;
x4=abs(avg(c,10,1) / avg(c,20,1)-1) *100<=con1;
x5=abs(avg(c,20,1) / avg(c,60,1)-1) *100<=con1;
x6=avg(c,5)>avg(c,10) && avg(c,10)>avg(c,20);
x7=(c/o-1)*100>=con2;
x8=(c(1)/o(3)-1)*100<=con3;
x9=v>avg(v,20)*2;
x1 && x2 && x3 && x4 && x5 && x6 && x7 && x8 && x9;
답변완료
종목 검색 부탁드립니다.
1. 아래수식을 참조하여,일봉기준
수식4) 가 현재 기준선0 위에 있는 종목중
전일보다 상승한 종목 (기준선0을 돌파한 종목 포함)
검색식 부탁드려요
----------아래--------------------
수식1)
// 캔들 구성 요소 계산
upper_wick = if(C>O, H-C, H-O);
lower_wick = if(C>O, O-L, C-L);
spread = H-L;
body_length = spread - (upper_wick + lower_wick);
// 비율 계산
percent_upper_wick = upper_wick/spread;
percent_lower_wick = lower_wick/spread;
percent_body_length = body_length/spread;
// 매수 거래량
buying_volume = if(C>O, (percent_body_length + (percent_upper_wick + percent_lower_wick)/2)*V, ((percent_upper_wick + percent_lower_wick)/2)*V);
// 누적 매수 거래량
eavg(buying_volume, cumulation_length)
수식2)
// 기본 계산 (수식1과 동일)
upper_wick = if(C>O, H-C, H-O);
lower_wick = if(C>O, O-L, C-L);
spread = H-L;
body_length = spread - (upper_wick + lower_wick);
percent_upper_wick = upper_wick/spread;
percent_lower_wick = lower_wick/spread;
percent_body_length = body_length/spread;
// 매도 거래량
selling_volume = if(C<O, (percent_body_length + (percent_upper_wick + percent_lower_wick)/2)*V, ((percent_upper_wick + percent_lower_wick)/2)*V);
// 누적 매도 거래량
eavg(selling_volume, cumulation_length)
수식3)
// 누적 거래량 계산
cumulative_buying = eavg(if(C>O, (((H-L)-(if(C>O,H-C,H-O)+if(C>O,O-L,C-L)))/(H-L) + ((if(C>O,H-C,H-O)+if(C>O,O-L,C-L))/2)/(H-L))*V, (((if(C>O,H-C,H-O)+if(C>O,O-L,C-L))/2)/(H-L))*V), cumulation_length);
cumulative_selling = eavg(if(C<O, (((H-L)-(if(C>O,H-C,H-O)+if(C>O,O-L,C-L)))/(H-L) + ((if(C>O,H-C,H-O)+if(C>O,O-L,C-L))/2)/(H-L))*V, (((if(C>O,H-C,H-O)+if(C>O,O-L,C-L))/2)/(H-L))*V), cumulation_length);
// 거래량 강도 파동의 EMA
volume_strength = if(cumulative_buying > cumulative_selling, cumulative_buying, cumulative_selling);
eavg(volume_strength, cumulation_length)
수식4)
// 매수/매도 거래량 재계산
buying_vol = eavg(if(C>O, (((H-L)-(if(C>O,H-C,H-O)+if(C>O,O-L,C-L)))/(H-L) + ((if(C>O,H-C,H-O)+if(C>O,O-L,C-L))/2)/(H-L))*V, (((if(C>O,H-C,H-O)+if(C>O,O-L,C-L))/2)/(H-L))*V), cumulation_length);
selling_vol = eavg(if(C<O, (((H-L)-(if(C>O,H-C,H-O)+if(C>O,O-L,C-L)))/(H-L) + ((if(C>O,H-C,H-O)+if(C>O,O-L,C-L))/2)/(H-L))*V, (((if(C>O,H-C,H-O)+if(C>O,O-L,C-L))/2)/(H-L))*V), cumulation_length);
// 델타 계산
buying_vol - selling_vol
-------
지표조건
cumulation_leng 28
-------
기준선 0