
اس حکمت عملی میں مارکیٹ کے رجحانات کی نشاندہی کرنے کے لئے سی سی آئی اشارے اور حرکیات کے اشارے کو آر ایس آئی اشارے کے ساتھ مل کر استعمال کیا جاتا ہے ، اور جب اوور بیئر اوور سیل زون میں اچھال کا مظاہرہ ہوتا ہے تو اس میں داخل ہوتا ہے ، اور اس کے ساتھ ساتھ بولین کو رجحانات کی شناخت اور مرکز میں واپسی کے لئے استعمال کیا جاتا ہے۔ حکمت عملی کو توڑنے اور واپسی کی مؤثر طریقے سے شناخت کی جاسکتی ہے ، رجحانات کے آغاز کے مرحلے میں داخل ہوتا ہے ، اور پیرامیٹرز کے ذریعہ مختلف اقسام کے لئے آزادانہ تجارت کو ایڈجسٹ کیا جاسکتا ہے۔
سب سے پہلے ، حکمت عملی خرید اور فروخت کے سگنل کا تعین کرنے کے لئے سی سی آئی اشارے یا حرکیات کے اشارے کے زیرو محور کے اوپر اور زیرو محور کے نیچے گزرنے کے ذریعے کرتی ہے۔ اس کے ساتھ ہی ، آر ایس آئی اشارے کو اوور بیئر اوور سیل زون میں رہنے کی ضرورت ہوتی ہے ، یعنی آر ایس آئی 65 سے زیادہ اوور بیئر زون ہے ، اور 35 سے کم اوور سیل زون ہے۔ اس طرح غیر اوور بیئر اوور سیل زون میں غلط سگنل دینے سے بچا جاسکتا ہے۔
اس کے علاوہ ، حکمت عملی یہ منتخب کرسکتی ہے کہ آیا آر ایس آئی میں تیزی سے مختلف (تھوڑا سا اوپر) اور تیزی سے مختلف (تھوڑا سا نیچے) ہونا چاہئے تاکہ خرید و فروخت کے سگنل کو زیادہ قابل اعتماد بنایا جاسکے۔
جب خریدنے کا اشارہ سی سی آئی یا حرکیات سے ملتا ہے اور آر ایس آئی اوور سیل زون میں ہوتا ہے تو ، حکمت عملی یہ فیصلہ کرتی ہے کہ آیا پچھلی اونچائی اور نچلی سطح برن بینڈ کے وسط سے اوپر ہے یا نہیں ، اگر ایسا ہے تو ، خریدنے کا اشارہ پیدا ہوتا ہے۔ اس کے برعکس ، جب بیچنے کا اشارہ ملتا ہے اور پچھلی اونچائی اور نچلی سطح برن بینڈ کے وسط سے نیچے ہوتی ہے تو ، فروخت کا اشارہ پیدا ہوتا ہے۔
اس طرح ، حکمت عملی ایک ہی وقت میں رجحان اشاریہ اور جھٹکا اشاریہ کا استعمال کرتی ہے تاکہ رجحان کے آغاز پر وقت پر گرفت ہوسکے ، اور مرکزی فیصلے کا استعمال کرتے ہوئے جھوٹے ٹوٹنے سے بچ سکے۔ جب قیمتوں میں برین بینڈ سے باہر نکلنے کے بعد ، حکمت عملی منافع کو لاک کرنے اور پھیلاؤ کو روکنے کے لئے مکمل طور پر فلیٹ ہوجاتی ہے۔
رجحانات اور جھٹکے کے اشاریہ کے ساتھ مل کر ، رجحانات کے آغاز میں داخل ہونے کے قابل ، جبکہ غیر مستحکم مارکیٹوں میں غیر ضروری پوزیشنوں سے بچنے کے لئے
برن کی پٹی میں مرکزی کنکشن کو انٹری سگنل کے طور پر استعمال کرتے ہوئے ، جعلی توڑ کو مؤثر طریقے سے فلٹر کیا جاسکتا ہے
RSI اشارے کے تاریخی رجحانات پر نظر ڈالیں تاکہ غلط ٹریڈنگ سگنل کو مزید روکنے کے لئے
مکمل طور پر خود کار طریقے سے ٹریڈنگ ، کوئی انسانی مداخلت کی ضرورت نہیں ، الگورتھم ٹریڈنگ کے لئے موزوں ہے
حکمت عملی کے پیرامیٹرز کو مختلف قسم کے تجارت کے مطابق آزادانہ طور پر ایڈجسٹ کیا جاسکتا ہے
اسٹاپ نقصان کی روک تھام کو ترتیب دینے اور خطرے کو مؤثر طریقے سے کنٹرول کرنے کی صلاحیت
برن بینڈ پیرامیٹرز کی غلط ترتیب سے مرکزی فیصلے میں خرابی ہوسکتی ہے
اشارے کے پیرامیٹرز کی غلط ترتیب سے بہت زیادہ غلط سگنل پیدا ہوسکتے ہیں
توڑنے میں ناکامی ، قیمتوں میں ایک بار پھر برن بینڈ سینٹرل میں واپسی کے لئے وقت پر اسٹاپ نقصان کی ضرورت ہے
ٹرانزیکشن کی اقسام میں کم لیکویڈیٹی کے ساتھ ، کامیابی کا امکان کم ہے
ٹریڈنگ سے پہلے ، ناقص فٹ ہونے سے بچنے کے لئے کافی تاریخی اعداد و شمار کی جانچ پڑتال کریں
ٹرانزیکشن ٹائمنگ پر توجہ دینے کی ضرورت ہے تاکہ جعلی بریک سے بچا جا سکے
برن بینڈ پیرامیٹرز کو بہتر بنانا تاکہ مرکز زیادہ مستحکم ہو
مختلف اقسام پر مختلف اشارے کے پیرامیٹرز کے اثرات کی جانچ
حجم کنٹرول میں اضافہ اور ایک سے زیادہ پوزیشنوں سے بچنے کے لئے
اہم ٹریڈنگ کے اوقات میں وقت کے فیصلے میں اضافہ
مشین لرننگ الگورتھم کو شامل کریں تاکہ سگنل زیادہ ذہین ہو جائیں
مارکیٹ کے مجموعی رجحانات کا اندازہ لگانے کے لئے مزید اعداد و شمار تک رسائی
مزید انڈیکسز کے انضمام کو بڑھانا، انڈیکسز کا مجموعہ بنانا
یہ حکمت عملی رجحان کے اشارے اور جھٹکے کے اشارے کو مربوط کرتی ہے ، اور رجحان کے آغاز پر مارکیٹ میں داخل ہوسکتی ہے۔ اس کے ساتھ ہی ، برن بینڈ میں ایک مرکزی کنکشن کو بائی پاس کے طور پر استعمال کیا جاتا ہے ، جس سے جعلی توڑ سے بچنے کے لئے موثر ہے۔ حکمت عملی کے پیرامیٹرز کو مختلف اقسام کے مطابق ڈھالنے کے ل flexible لچکدار ایڈجسٹ کیا جاسکتا ہے ، جس سے پیمائش کا اثر زیادہ سے زیادہ ہوتا ہے۔ اگلے مرحلے میں ، حکمت عملی کو زیادہ مستحکم اور قابل اعتماد بنانے کے لئے پیرامیٹرز کی اصلاح اور ماڈل انضمام کے ذریعہ ، طویل مدتی مستحکم اضافی منافع حاصل کیا جاسکتا ہے۔
/*backtest
start: 2022-10-18 00:00:00
end: 2023-10-24 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy(title='BroTheJo Strategy', shorttitle='BTJ', overlay=true)
// Input settings
ccimomCross = input.string('CCI', 'Entry Signal Source', options=['CCI', 'Momentum'])
ccimomLength = input.int(10, minval=1, title='CCI/Momentum Length')
useDivergence = input.bool(false, title='Find Regular Bullish/Bearish Divergence')
rsiOverbought = input.int(65, minval=1, title='RSI Overbought Level')
rsiOversold = input.int(35, minval=1, title='RSI Oversold Level')
rsiLength = input.int(14, minval=1, title='RSI Length')
plotMeanReversion = input.bool(true, 'Plot Mean Reversion Bands on the chart')
emaPeriod = input(200, title='Lookback Period (EMA)')
bandMultiplier = input.float(1.6, title='Outer Bands Multiplier')
// CCI and Momentum calculation
momLength = ccimomCross == 'Momentum' ? ccimomLength : 10
mom = close - close[momLength]
cci = ta.cci(close, ccimomLength)
ccimomCrossUp = ccimomCross == 'Momentum' ? ta.cross(mom, 0) : ta.cross(cci, 0)
ccimomCrossDown = ccimomCross == 'Momentum' ? ta.cross(0, mom) : ta.cross(0, cci)
// RSI calculation
src = close
up = ta.rma(math.max(ta.change(src), 0), rsiLength)
down = ta.rma(-math.min(ta.change(src), 0), rsiLength)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - 100 / (1 + up / down)
oversoldAgo = rsi[0] <= rsiOversold or rsi[1] <= rsiOversold or rsi[2] <= rsiOversold or rsi[3] <= rsiOversold
overboughtAgo = rsi[0] >= rsiOverbought or rsi[1] >= rsiOverbought or rsi[2] >= rsiOverbought or rsi[3] >= rsiOverbought
// Regular Divergence Conditions
bullishDivergenceCondition = rsi[0] > rsi[1] and rsi[1] < rsi[2]
bearishDivergenceCondition = rsi[0] < rsi[1] and rsi[1] > rsi[2]
// Mean Reversion Indicator
meanReversion = plotMeanReversion ? ta.ema(close, emaPeriod) : na
stdDev = plotMeanReversion ? ta.stdev(close, emaPeriod) : na
upperBand = plotMeanReversion ? meanReversion + stdDev * bandMultiplier : na
lowerBand = plotMeanReversion ? meanReversion - stdDev * bandMultiplier : na
// Entry Conditions
prevHigh = ta.highest(high, 1)
prevLow = ta.lowest(low, 1)
longEntryCondition = ccimomCrossUp and oversoldAgo and (not useDivergence or bullishDivergenceCondition) and (prevHigh >= meanReversion) and (prevLow >= meanReversion)
shortEntryCondition = ccimomCrossDown and overboughtAgo and (not useDivergence or bearishDivergenceCondition) and (prevHigh <= meanReversion) and (prevLow <= meanReversion)
// Plotting
oldLongEntryCondition = ccimomCrossUp and oversoldAgo and (not useDivergence or bullishDivergenceCondition)
oldShortEntryCondition = ccimomCrossDown and overboughtAgo and (not useDivergence or bearishDivergenceCondition)
plotshape(oldLongEntryCondition, title='BUY', style=shape.triangleup, location=location.belowbar, color=color.new(color.lime, 0), textcolor=color.new(color.white, 0), size=size.tiny)
plotshape(oldShortEntryCondition, title='SELL', style=shape.triangledown, location=location.abovebar, color=color.new(color.red, 0), textcolor=color.new(color.white, 0), size=size.tiny)
// Strategy logic
if (longEntryCondition)
strategy.entry("Buy", strategy.long)
if (shortEntryCondition)
strategy.entry("Sell", strategy.short)
// Close all open positions when outside of bands
closeAll = (high >= upperBand) or (low <= lowerBand)
if (closeAll)
strategy.close_all("Take Profit/Cut Loss")
// Plotting
plot(upperBand, title='Upper Band', color=color.fuchsia, linewidth=1)
plot(meanReversion, title='Mean', color=color.gray, linewidth=1)
plot(lowerBand, title='Lower Band', color=color.blue, linewidth=1)