ڈبل کوانٹم ٹریڈنگ سسٹم

مصنف:چاؤ ژانگ، تاریخ: 2024-02-26 14:30:54
ٹیگز:

img

یہ حکمت عملی سی سی آئی اشارے ، آر ایس آئی اشارے اور دو حرکت پذیر اوسط کو ایک مرکب تجارتی نظام میں جوڑتی ہے۔ یہ کچھ شور کو فلٹر کرنے کے لئے اندراجات کی تصدیق کے لئے آر ایس آئی کراس اوورز کا استعمال کرتے ہوئے روایتی رجحانات کو پکڑ سکتا ہے۔

حکمت عملی کا اصول

یہ حکمت عملی بنیادی طور پر رجحان کی سمت کا تعین کرنے کے لئے سی سی آئی اشارے کا استعمال کرتی ہے۔ سی سی آئی کی 100 سے اوپر کی ریڈنگ ایک تیزی کی مارکیٹ کی نشاندہی کرتی ہے ، جبکہ -100 سے نیچے کی مارکیٹ ایک bearish مارکیٹ کی نشاندہی کرتی ہے۔ یہ نظام رجحان کی سمت کا تعین کرنے میں مدد کے لئے دو حرکت پذیر اوسط کراس اوورز کا استعمال کرتا ہے۔ جب تیز رفتار حرکت پذیر اوسط سست حرکت پذیر اوسط سے اوپر کی حد کو عبور کرتا ہے تو ، یہ خرید سگنل ہے ، اور اس کے برعکس فروخت سگنل کے لئے۔

اس کے بعد ، سستے یا bearish رجحان کا تعین کرنے کے بعد ، نظام داخلہ کی تصدیق کے طور پر مختلف پیرامیٹر کی لمبائی کے ساتھ دو آر ایس آئی کے کراس اوور کا استعمال کرتا ہے۔ مثال کے طور پر ، بیل مارکیٹ میں ، اگر قلیل مدتی آر ایس آئی طویل مدتی آر ایس آئی سے تجاوز کرتا ہے تو ، یہ حتمی خرید کا اشارہ ہے۔ یہ ڈیزائن بنیادی طور پر رجحانات کے دوران قلیل مدتی اصلاحات سے پیدا ہونے والی غلط تجارت سے بچنے کے لئے شور کو فلٹر کرتا ہے۔

یہ حکمت عملی صرف مخصوص تجارتی سیشن کے دوران پوزیشنیں کھولتی ہے ، راتوں رات کے خطرے سے بچنے کے لئے بند ہونے سے 15 منٹ پہلے تمام پوزیشنوں کو فعال طور پر بند کرتی ہے۔ پوزیشنوں کو کھولنے کے بعد ، منافع میں مقفل کرنے کے لئے ٹریلنگ اسٹاپس کا استعمال کیا جاتا ہے۔

فوائد کا تجزیہ

  • رجحان کی تشخیص اور اشارے کے کراس اوور کو یکجا کرنے سے رجحانات کی مؤثر طریقے سے نشاندہی کی جاسکتی ہے اور عین مطابق اندراجات کے لئے شور کو فلٹر کیا جاسکتا ہے
  • خطرہ کو فعال طور پر کنٹرول کرنے کے لئے پیچھے رکنے کا استعمال کرتے ہوئے فلیش حادثات کی وجہ سے روکنے سے بچتا ہے
  • صرف مخصوص ٹریڈنگ سیشن کے دوران پوزیشن کھولنے سے راتوں رات فرق کا خطرہ دور ہوتا ہے
  • ایڈجسٹ ایبل آر ایس آئی پیرامیٹرز مختلف مارکیٹ کے ماحول میں لچکدار طور پر اپنانے کے قابل ہیں

خطرے کا تجزیہ

  • سی سی آئی غیر معمولی اتار چڑھاؤ والے بازاروں میں خراب کارکردگی کا مظاہرہ کرتا ہے
  • دوہری RSI کراس حالات نسبتا سخت ہیں، ممکنہ طور پر کچھ مواقع سے محروم ہیں
  • ٹریلنگ اسٹاپز بہت زیادہ ذہنی ہوسکتے ہیں، پیرامیٹر کی اصلاح کی ضرورت ہوتی ہے
  • مخصوص ٹریڈنگ سیشنز میں راتوں رات کی خبروں کے اہم فرق کو نظر انداز کیا جاسکتا ہے

اصلاح کے لیے تجاویز

  • زیادہ سے زیادہ ترتیبات تلاش کرنے کے لئے مختلف CCI پیرامیٹر مجموعے کی جانچ کریں
  • RSI کراس اوور حالت کو ہٹانے اور CCI پر مبنی براہ راست داخل کرنے کا ٹیسٹ
  • بیک ٹیسٹ اور بہترین ترتیبات تلاش کرنے کے لئے ٹریلنگ سٹاپ پیرامیٹرز کو بہتر بنائیں
  • جبری پوزیشن بند کرنے کی منطق کو ہٹانے اور اس کے بجائے منافع کو زیادہ سے زیادہ کرنے کے لئے پوزیشنوں کے دوران ٹریلنگ اسٹاپس کے ساتھ منافع کو ٹریک کرنے کا تجربہ کریں

خلاصہ

اس حکمت عملی میں خطرہ پر قابو پانے کے دوران سگنل کی صداقت کو یقینی بنانے کے لئے رجحان کا تعین اور اشارے کے کراس اوور کی توثیق پر جامع طور پر غور کیا گیا ہے۔ پیرامیٹر کی اصلاح اور منطق کی ایڈجسٹمنٹ کے ذریعے ، حکمت عملی میں منافع کے مواقع کو بڑھانے اور کھوئے ہوئے مواقع کو کم کرنے کی مزید صلاحیت ہے۔ یہ ایک بہت ہی وعدہ کرنے والا تجارتی تصور ہے۔


/*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")


مزید