آسکیلیشن بریکنگ اسٹریٹیجی

مصنف:چاؤ ژانگ، تاریخ: 2023-10-27 16:32:19
ٹیگز:

img

جائزہ

یہ حکمت عملی لیری کونرس کے کلاسیکی خیال پر مبنی ہے، دوہری چلتی اوسط نظام کا استعمال کرتے ہوئے مارکیٹ کے درمیانی مدت کے اتار چڑھاؤ کو پکڑنے اور منافع لینے کے لئے جب یہ oversold یا oversold ہے.

حکمت عملی منطق

  1. 2 پیریڈ آر ایس آئی کا استعمال کریں تاکہ یہ معلوم کیا جا سکے کہ قیمت اوور سیلڈ ریجن میں ہے یا نہیں۔

  2. اہم رجحان کی سمت کا تعین کرنے کے لئے طویل مدت کے چلتے ہوئے اوسط (200 ادوار) کا استعمال کریں۔ صرف اس صورت میں افتتاحی پوزیشن پر غور کریں جب قیمت طویل ایم اے سے اوپر ہو۔

  3. جب قیمت طویل MA سے اوپر ہو اور RSI oversold لائن سے نیچے ہو، تو مارکیٹ کی قیمت پر طویل پوزیشن کھولیں۔

  4. جب قیمت مختصر مدت کے ایم اے (5 ادوار) کو اوپر کی طرف توڑتی ہے تو، منافع حاصل کرنے کے لئے مارکیٹ کی قیمت پر طویل پوزیشن بند کریں.

اس کے علاوہ، حکمت عملی مندرجہ ذیل ترتیب دینے کے اختیارات فراہم کرتا ہے:

  • RSI پیرامیٹرز: مدت کی لمبائی، زیادہ خرید/زیادہ فروخت کی سطح.

  • ایم اے پیرامیٹرز: طویل اور مختصر مدت.

  • آر ایس آئی ایم اے فلٹر: آر ایس آئی ایم اے شامل کریں تاکہ آر ایس آئی کے اتار چڑھاؤ سے بچنے کے لئے.

  • سٹاپ نقصان: سٹاپ نقصان شامل کرنے کے لئے تشکیل یا نہیں.

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

  1. ڈبل ایم اے سسٹم درمیانی اور طویل مدتی رجحانات کو مؤثر طریقے سے ٹریک کرسکتا ہے۔

  2. RSI شدید اتار چڑھاؤ کے دوران بہترین انٹری ٹائمنگ کو یاد کرنے سے بچتا ہے.

  3. لچکدار ترتیب پیرامیٹر کی اصلاح کے لئے موزوں ہے.

  4. کامیابی کی حکمت عملی، سگنل کو یاد کرنے کا امکان نہیں ہے.

خطرے کا تجزیہ

  1. ڈبل ایم اے حکمت عملی پیرامیٹرز کے لئے حساس ہے، بہترین کارکردگی حاصل کرنے کے لئے اصلاح کی ضرورت ہے.

  2. اسٹاپ نقصان نہ ہونے سے نقصانات میں اضافہ ہونے کا خطرہ ہوتا ہے۔ محتاط پوزیشن سائزنگ کی ضرورت ہے۔

  3. جھوٹے بریک آؤٹ میں اتار چڑھاؤ والے بازار میں نقصانات کا خطرہ ہے۔ ایم اے کی مدت کو بہتر بنانے یا دوسرے فلٹرز شامل کرنے پر غور کریں۔

  4. بیک ٹیسٹ اوور فٹنس کا خطرہ۔ مارکیٹوں اور وقت کے ادوار میں توثیق کی ضرورت ہے۔

اصلاح کی ہدایات

  1. بہترین تلاش کرنے کے لئے RSI اور MA پیرامیٹرز کے مجموعے کی جانچ اور اصلاح کریں.

  2. غلط سگنل کو کم کرنے کے لیے اضافی انٹری فلٹرز جیسے حجم سپائیک کا تجربہ کریں۔

  3. ایک ہی تجارت کے نقصان کو کنٹرول کرنے کے لئے ٹریلنگ اسٹاپ نقصان شامل کریں۔ مجموعی منافع پر اثر کا اندازہ کریں۔

  4. بہترین تلاش کرنے کے لئے مختلف انعقاد کی مدت کے اثرات کا اندازہ کریں.

  5. روزانہ کی طرح طویل وقت کے فریم میں استحکام کی جانچ پڑتال.

خلاصہ

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


/*backtest
start: 2023-09-26 00:00:00
end: 2023-10-26 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("RSI Strategy", overlay=true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100)

//Starter Parameters

length = input(title="RSI Lenght", defval=2)
overBoughtRSI = input(title="OverBought Level for RSI",  defval=10)
shortLength = input(title="Short MA Length",  defval=5)
longLength = input(title="Long MA Length",  defval=200)

RuleMRSI=input(title="RSI Moving Average Filter", defval= true)
lengthmrsi=input(title="RSI Moving Average Length",  defval=4)
overBoughtMRSI=input(title="OverBought Level for the Moving Average of the RSI",  defval=30)

Rulestop=input(title="Apply Stop Loss", defval=false)
stop_percentual=input(title="% Stop Loss",  defval=10)

//RSI

vrsi = rsi(close, length)

//Moving Averages

longma = sma(close,longLength)
shortma = sma(close,shortLength)
mrsi=sma(vrsi,lengthmrsi)

//Stop Loss

stop_level = strategy.position_avg_price*((100-stop_percentual)/100)

//Backtest Period
testStartYear = input(2009, "Backtest Start Year")
testStartMonth = input(1, "Backtest Start Month")
testStartDay = input(2, "Backtest Start Day")
testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,0,0)

testStopYear = input(2020, "Backtest Stop Year")
testStopMonth = input(12, "Backtest Stop Month")
testStopDay = input(30, "Backtest Stop Day")
testPeriodStop = timestamp(testStopYear,testStopMonth,testStopDay,0,0)

testPeriod() => true
    
//Strategy

if testPeriod() and (not na(vrsi))
    if  (RuleMRSI==false) and (Rulestop==false)
        if (vrsi<overBoughtRSI) and (close>longma)
            strategy.entry("RsiLE", strategy.long , comment="Open")
        if (close>shortma)
            strategy.close_all()

    if (RuleMRSI==true) and (Rulestop==false)
        if (vrsi<overBoughtRSI) and (close>longma) and (mrsi<overBoughtMRSI)
            strategy.entry("RsiLE", strategy.long , comment="Open")
        if (close>shortma)
            strategy.close_all()

    if (RuleMRSI==false) and (Rulestop==true)
        if (vrsi<overBoughtRSI) and (close>longma)
            strategy.entry("RsiLE", strategy.long , comment="Open")
            strategy.exit("RsiLE", stop = stop_level)
        if (close>shortma)
            strategy.close_all()

    if (RuleMRSI==true) and (Rulestop==true)
        if (vrsi<overBoughtRSI) and (close>longma) and (mrsi<overBoughtMRSI)
            strategy.entry("RsiLE", strategy.long , comment="Open")
            strategy.exit("RsiLE", stop = stop_level)
        if (close>shortma)
            strategy.close_all()

مزید