
یہ حکمت عملی سی سی آئی ، آر ایس آئی اور دو متحرک اوسط کے ساتھ ایک جامع تجارتی نظام ہے۔ یہ نظام باقاعدہ رجحانات کو پکڑ سکتا ہے ، جبکہ آر ایس آئی کے کراسنگ کا استعمال کرتے ہوئے کچھ شور کو فلٹر کرنے کے لئے انٹری ٹائمنگ میں اضافہ کرتا ہے۔
یہ حکمت عملی بنیادی طور پر سی سی آئی کے اشارے پر مبنی ہے تاکہ رجحان کی سمت کا تعین کیا جاسکے۔ سی سی آئی کے اشارے کی قیمت 100 سے زیادہ ہونے پر ایک ہیڈ مارکیٹ ہے ، اور 100 سے کم ہونے پر ایک ہیڈ مارکیٹ ہے۔ نظام رجحان کی سمت کا تعین کرنے میں معاون ہونے کے لئے دو منتقل اوسطوں کے کراسنگ کا استعمال کرتا ہے۔ جب تیز رفتار حرکت پذیر اوسط پر سست رفتار حرکت پذیر اوسط سے گزرتا ہے تو خریدنے کا اشارہ ہوتا ہے ، اور اس کے برعکس فروخت کا اشارہ ہوتا ہے۔
ایک بار جب ڈپٹی ہائی وے رجحان کا تعین کیا جاتا ہے تو ، نظام دو مختلف پیرامیٹرز کی لمبائی والے آر ایس آئی اشارے کے کراس کا استعمال کرتے ہوئے انٹری کی توثیق کرتا ہے۔ مثال کے طور پر ، ایک کثیر سر مارکیٹ میں ، اگر مختصر مدت کے آر ایس آئی اشارے پر طویل مدت کے آر ایس آئی اشارے کو عبور کیا جاتا ہے تو ، حتمی خریداری کے لئے سگنل دیا جاتا ہے۔ یہ بنیادی طور پر شور کو فلٹر کرنے کے لئے ڈیزائن کیا گیا ہے تاکہ رجحانات میں آنے والے قلیل مدتی ایڈجسٹمنٹ سے بچنے سے غلط تجارت کا سبب بنے۔
یہ حکمت عملی صرف مخصوص تجارتی اوقات میں پوزیشن کھولتی ہے ، اور بند ہونے سے 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")