یہ حکمت عملی سی سی آئی اشارے ، آر ایس آئی اشارے اور دو حرکت پذیر اوسط کو ایک مرکب تجارتی نظام میں جوڑتی ہے۔ یہ کچھ شور کو فلٹر کرنے کے لئے اندراجات کی تصدیق کے لئے آر ایس آئی کراس اوورز کا استعمال کرتے ہوئے روایتی رجحانات کو پکڑ سکتا ہے۔
یہ حکمت عملی بنیادی طور پر رجحان کی سمت کا تعین کرنے کے لئے سی سی آئی اشارے کا استعمال کرتی ہے۔ سی سی آئی کی 100 سے اوپر کی ریڈنگ ایک تیزی کی مارکیٹ کی نشاندہی کرتی ہے ، جبکہ -100 سے نیچے کی مارکیٹ ایک bearish مارکیٹ کی نشاندہی کرتی ہے۔ یہ نظام رجحان کی سمت کا تعین کرنے میں مدد کے لئے دو حرکت پذیر اوسط کراس اوورز کا استعمال کرتا ہے۔ جب تیز رفتار حرکت پذیر اوسط سست حرکت پذیر اوسط سے اوپر کی حد کو عبور کرتا ہے تو ، یہ خرید سگنل ہے ، اور اس کے برعکس فروخت سگنل کے لئے۔
اس کے بعد ، سستے یا bearish رجحان کا تعین کرنے کے بعد ، نظام داخلہ کی تصدیق کے طور پر مختلف پیرامیٹر کی لمبائی کے ساتھ دو آر ایس آئی کے کراس اوور کا استعمال کرتا ہے۔ مثال کے طور پر ، بیل مارکیٹ میں ، اگر قلیل مدتی آر ایس آئی طویل مدتی آر ایس آئی سے تجاوز کرتا ہے تو ، یہ حتمی خرید کا اشارہ ہے۔ یہ ڈیزائن بنیادی طور پر رجحانات کے دوران قلیل مدتی اصلاحات سے پیدا ہونے والی غلط تجارت سے بچنے کے لئے شور کو فلٹر کرتا ہے۔
یہ حکمت عملی صرف مخصوص تجارتی سیشن کے دوران پوزیشنیں کھولتی ہے ، راتوں رات کے خطرے سے بچنے کے لئے بند ہونے سے 15 منٹ پہلے تمام پوزیشنوں کو فعال طور پر بند کرتی ہے۔ پوزیشنوں کو کھولنے کے بعد ، منافع میں مقفل کرنے کے لئے ٹریلنگ اسٹاپس کا استعمال کیا جاتا ہے۔
اس حکمت عملی میں خطرہ پر قابو پانے کے دوران سگنل کی صداقت کو یقینی بنانے کے لئے رجحان کا تعین اور اشارے کے کراس اوور کی توثیق پر جامع طور پر غور کیا گیا ہے۔ پیرامیٹر کی اصلاح اور منطق کی ایڈجسٹمنٹ کے ذریعے ، حکمت عملی میں منافع کے مواقع کو بڑھانے اور کھوئے ہوئے مواقع کو کم کرنے کی مزید صلاحیت ہے۔ یہ ایک بہت ہی وعدہ کرنے والا تجارتی تصور ہے۔
/*backtest start: 2024-01-01 00:00:00 end: 2024-01-31 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © rwestbrookjr //@version=5 strategy("EMA with RSI Cross Strategy", overlay=true) //EMA fastLen = input(title='Fast EMA Length', defval=9) slowLen = input(title='Slow EMA Length', defval=20) fastEMA = ta.ema(close, fastLen) slowEMA = ta.ema(close, slowLen) fema = plot(fastEMA, title='FastEMA', color=color.new(color.green, 0), linewidth=1, style=plot.style_line) sema = plot(slowEMA, title='SlowEMA', color=color.new(color.red, 0), linewidth=1, style=plot.style_line) fill(fema, sema, color=fastEMA > slowEMA ? color.new(#417505, 50) : color.new(#890101, 50), title='Cloud') // Bull and Bear Alerts //Bull = ta.crossover(fastEMA, slowEMA) Bull = fastEMA > slowEMA //Bear = ta.crossunder(fastEMA, slowEMA) Bear = fastEMA < slowEMA //RSIs rsiLength1Input = input.int(9, minval=1, title="RSI Length", group="RSI Settings") rsiSource1Input = input.source(close, "Source", group="RSI Settings") rsiLength2Input = input.int(20, minval=1, title="RSI Length", group="RSI Settings") rsiSource2Input = input.source(close, "Source", group="RSI Settings") up1 = ta.rma(math.max(ta.change(rsiSource1Input), 0), rsiLength1Input) down1 = ta.rma(-math.min(ta.change(rsiSource1Input), 0), rsiLength1Input) rsi = down1 == 0 ? 100 : up1 == 0 ? 0 : 100 - (100 / (1 + up1 / down1)) up2 = ta.rma(math.max(ta.change(rsiSource2Input), 0), rsiLength2Input) down2 = ta.rma(-math.min(ta.change(rsiSource2Input), 0), rsiLength2Input) rsi2 = down2 == 0 ? 100 : up2 == 0 ? 0 : 100 - (100 / (1 + up2 / down2)) //CCI cciLength = input.int(20, minval=1) src = input(hlc3, title="Source") ma = ta.sma(src, cciLength) cci = (src - ma) / (0.015 * ta.dev(src, cciLength)) //Trail Stop Setup trstp = input.float(title="Trail Loss($)", minval = 0.0, step = 0.01, defval = 0.5) longStop = 0.0, shortStop = 0.0 longStop := if Bull stopValue = close - trstp math.max(stopValue, longStop[1]) else 0.0 shortStop := if Bear stopValue = close + trstp math.min(stopValue, shortStop[1]) else 999999 //Session Setup open_session=input(defval="0930-1545") session = time("1", open_session) validSession=(na(session) ? 0 : 1) //Trade Signals longCondition = Bull and cci > 100 and ta.crossover(rsi,rsi2) and validSession if (longCondition) strategy.entry("Long", strategy.long, 1) //longExit = close > strategy.opentrades.entry_price(0) + 1.5 or close < strategy.opentrades.entry_price(0) - 0.75 longExit = close < longStop or not validSession if (longExit) strategy.close("Long") shortCondition = Bear and cci < 100 and ta.crossunder(rsi,rsi2) and validSession if (shortCondition) strategy.entry("Short", strategy.short, 1) //shortExit = close < strategy.opentrades.entry_price(0) - 1.5 or close > strategy.opentrades.entry_price(0) + 0.75 shortExit = close > shortStop or not validSession if (shortExit) strategy.close("Short")