
یہ حکمت عملی کلاسیکی تکنیکی اشارے سی سی آئی اور خود مختار طور پر تیار کردہ وی سی آئی ، ایم سی آئی ڈبل انڈیکس کے ساتھ مل کر ٹریڈنگ سگنل تشکیل دیتی ہے۔ یہ ایک عام مقدار کی تجارت کی حکمت عملی ہے۔ یہ حجم اور قیمت میں تبدیلی کے رجحانات کی نشاندہی کرکے ، موجودہ مارکیٹ میں اہم تجارتی سمت اور طاقت کا اندازہ کرکے ، تجارتی سگنل تشکیل دیتا ہے۔ یہ ڈیجیٹل کرنسی ، غیر ملکی کرنسی اور اسٹاک جیسے مالی آلات پر وسیع پیمانے پر لاگو ہوسکتا ہے۔
یہ حکمت عملی دوہری سی سی آئی انڈیکس کے موازنہ کے ذریعے تجارتی سگنل بناتی ہے ، جس میں قیمت اور تجارت کے حجم جیسے متعدد عوامل پر غور کیا جاتا ہے ، اور مارکیٹ کی خرید و فروخت کی طاقت کا اندازہ لگایا جاتا ہے۔ یہ ایک عام اور عملی مقدار میں تجارت کی حکمت عملی ہے۔ لیکن اس حکمت عملی کو زیادہ سے زیادہ فائدہ اٹھانے کے ل other دوسرے معاون ٹولز کے ساتھ مل کر استعمال کرنے کی ضرورت ہے۔
/*backtest
start: 2023-10-28 00:00:00
end: 2023-11-27 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy("MCI and VCI - Modified CCI Formulas")
test = cci(ohlc4, 13)
test1 = cci(ohlc4, 20)
obv(src) => cum(change(src) > 0 ? volume : change(src) < 0 ? -volume : 0*volume)
mDisc = input(0, title="Mode Discrepency")
mDiv = input(0.015, title="Interval")
mean(_src, _length)=>
_return = sum(_src, _length) / _length
median(_src, _length)=>
_return = _src
for _i = 0 to _length
_return := _return == 0 ? _src : (_return + _src[_i]) / 2
_return
len = input(20, title="Standard (Average) Length")
mmm = input(20, title="Lookback length")
srcV = obv(input(ohlc4))
srcP = input(close)
x = sma(srcV, len)
MDV2 = abs(stdev(median(x, len), mmm))
MDV3 = abs(stdev(mean(x, len), mmm))
AMDV = (MDV2+MDV3)/2
pt1v = (srcV-ema(srcV, len))/ AMDV
pt2v = 1/mDiv
VCI=pt1v*pt2v
y = ema(srcP, len)
MDP2 = abs(stdev(median(y, len), mmm))
MDP3 = abs(stdev(mean(y, len), mmm))
AMDA = (MDP2 + MDP3)/2
pt1p = 1/mDiv
pt2p = (srcP-ema(srcP, len))/ AMDA
MCI = pt1p * pt2p
plot(VCI, color=yellow, title="VCI", style="Histogram")
plot(MCI, color=white, title="MCI")
plot(500, style=line)
plot(0, style=line, linewidth=2)
plot(-500, style=line)
long = crossover(MCI, 0) and VCI > MCI[2]
short = crossunder(MCI, 0) and VCI < MCI[2]
//Time Control
//Set date and time
FromMonth = input(defval = 9, title = "From Month", minval = 1, maxval = 12)
FromDay = input(defval = 13, title = "From Day", minval = 1, maxval = 31)
FromYear = input(defval = 2018, title = "From Year", minval = 2017)
ToMonth = input(defval = 1, title = "To Month", minval = 1, maxval = 12)
ToDay = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
ToYear = input(defval = 9999, title = "To Year", minval = 2017)
// === FUNCTION EXAMPLE ===
start = timestamp(FromYear, FromMonth, FromDay, 00, 00) // backtest start window
finish = timestamp(ToYear, ToMonth, ToDay, 23, 59) // backtest finish window
window() => time >= start and time <= finish ? true : false // create function "within window of time"
direction = input(0, title = "Strategy Direction", minval=-1, maxval=1)
strategy.risk.allow_entry_in(direction == 0 ? strategy.direction.all : (direction < 0 ? strategy.direction.short : strategy.direction.long))
if (long)
strategy.entry("Long", strategy.long, when=window(), limit=ohlc4, oca_name="BollingerBands", comment="BBandLE")
else
strategy.cancel(id="Long")
if (short)
strategy.entry("Short", strategy.short, when=window(), limit=ohlc4, oca_name="BollingerBands", comment="BBandSE")
else
strategy.cancel(id="Short")