예스스탁
예스스탁 답변
2023-09-11 18:17:55
안녕하세요
예스스탁입니다.
input : length(10),avg_len(10);
var : mfi_high(0),mfi_mid(0),mfi_low(0);
var : prc(0),raw(0),pos_day(0),neg_day(0);
var : pos_period(0),neg_period(0);
var : mf_ratio(0),mf_index(0),mfi_sma(0);
mfi_high = 80;
mfi_mid = 50;
mfi_low = 20;
prc = avg(high, low, close);
raw = prc * volume;
pos_day = IFf((prc[0] >= prc[1]) , raw , 0);
neg_day = IFf((prc[0] <= prc[1]) , raw , 0);
pos_period = AccumN(pos_day, length);
neg_period = AccumN(neg_day, length);
mf_ratio = (pos_period / neg_period);
mf_index = 100 - (100 / (1 + mf_ratio));
mfi_sma = ma(mf_index, avg_len);
plot1(mf_index, "Money Flow Index", blue);
plot2(mfi_sma, "Money Flow SMA", gray);
plot3(mfi_high,"High Line", green);
plot4(mfi_mid,"Mid Line", silver);
plot5(mfi_low, "Low Line", red);
즐거운 하루되세요
> 신대륙발견 님이 쓴 글입니다.
> 제목 : 문의 드립니다.
> //@version=3
study(title="Money Flow Index")
// Typical price = (high price + low price + closing price) / 3
// Raw money flow = typical price x volume
// Money flow ratio = (14-day Positive Money Flow) / (14-day Negative Money Flow)
// Positive money flow is calculated by summing up all of the money flow on the days in the period
// where the typical price is higher than the previous typical price. This same logic applies for the negative money flow.
// MFI = 100 - 100 / (1 + money flow ratio)
length = input(title="Period Length", type=integer, defval=10, minval=1)
show_value = input(title="Show which value", type=string, options=["Raw Money Flow", "Money Flow Ratio", "Money Flow Index"], defval="Money Flow Index")
show_raw = (show_value == "Raw Money Flow")
show_ratio = (show_value == "Money Flow Ratio")
show_index = (show_value == "Money Flow Index")
show_sma = input(title="Show MFI SMA", type=bool, defval=true)
avg_len = input(title="SMA Length", type=integer, defval=5, minval=1)
mfi_high = 80
mfi_mid = 50
mfi_low = 20
prc = avg(high, low, close)
raw = prc * volume
pos_day = (prc[0] >= prc[1]) ? raw : 0
neg_day = (prc[0] <= prc[1]) ? raw : 0
pos_period = sum(pos_day, length)
neg_period = sum(neg_day, length)
mf_ratio = (pos_period / neg_period)
mf_index = 100 - (100 / (1 + mf_ratio))
mfi_sma = sma(mf_index, avg_len)
plot(show_raw ? pos_period : na, "Positive Flow", green, linewidth=2, transp=0)
plot(show_raw ? neg_period : na, "Negative Flow", red, linewidth=2, transp=0)
plot(show_ratio ? mf_ratio : na, "Money Flow Ratio", black, linewidth=2, transp=0)
plot(show_index ? mf_index : na, "Money Flow Index", blue, linewidth=2, transp=0)
plot(show_index and show_sma ? mfi_sma : na, "Money Flow SMA", gray, linewidth=1, transp=0)
plot(show_index ? mfi_high : na, "High Line", green)
plot(show_index ? mfi_mid : na, "Mid Line", silver)
plot(show_index ? mfi_low : na, "Low Line", red)
트레이딩뷰 수식인데 위 수식에서 Money Flow Index선과 시그널선
그리고 기준선만 예스로 좀 바꿔주세요.