رینبو موونگ ایوریج ٹریڈنگ حکمت عملی

مصنف:چاؤ ژانگ، تاریخ: 2023-09-28 11:01:59
ٹیگز:

جائزہ

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

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

حکمت عملی مندرجہ ذیل مراحل کے ذریعے تجارتی سگنل پیدا کرتی ہے:

  1. رینبو چلتی اوسط نظام بنائیں۔ اس میں 7 چلتی اوسط شامل ہیں۔ پہلی چلتی اوسط 12 کی مدت ہے اور اختتامی قیمت کو ذرائع کے اعداد و شمار کے طور پر لیتی ہے۔ دیگر 6 چلتی اوسطوں میں 3 کی ترقیاتی کمی کی مدت ہوتی ہے ، پچھلی چلتی اوسط کو ذریعہ کے طور پر۔

  2. رجحان کی سمت کا تعین کریں۔ اگر پہلا حرکت پذیر اوسط قوس قزح کے اوپر ہے تو ، اسے اپ ٹرینڈ کے طور پر بیان کریں۔ اگر یہ نیچے ہے تو ، اسے ڈاؤن ٹرینڈ کے طور پر بیان کریں۔ اگر یہ وسط میں ہے تو ، اسے استحکام کے طور پر بیان کریں۔

  3. سگنل تیار کریں۔ جب رجحان اپ ٹرینڈ سے ڈاؤن ٹرینڈ میں بدل جاتا ہے تو ، فروخت کا سگنل تیار کیا جاتا ہے۔ جب رجحان ڈاؤن ٹرینڈ سے اپ ٹرینڈ میں بدل جاتا ہے تو ، خرید کا سگنل تیار کیا جاتا ہے۔ جب رجحان استحکام سے اپ ٹرینڈ یا ڈاؤن ٹرینڈ میں بدل جاتا ہے تو ، موجودہ پوزیشن بند کریں۔

  4. آر ایس آئی فلٹر۔ صرف اس وقت سگنل قبول کریں جب آر ایس آئی معمول کی حالت ظاہر کرتا ہے۔ پہلا آر ایس آئی غلط بریک آؤٹ سے بچنے کے لئے اوور بک اور اوور سیل زون کے درمیان ہونا چاہئے۔ دوسرا آر ایس آئی مضبوط رفتار کو یقینی بنانے کے لئے درمیانی زون سے باہر ہونا چاہئے۔

فوائد

اس حکمت عملی کے فوائد میں شامل ہیں:

  1. رینبو چلتی اوسط نظام درست طریقے سے رجحان کی سمت کی نشاندہی کرتا ہے۔ متعدد چلتی اوسط مارکیٹ شور اور اسپاٹ رجحان کی تبدیلی کو فلٹر کرنے کے لئے مل کر کام کرتے ہیں۔

  2. دوہری آر ایس آئی فلٹر میکانزم مؤثر طریقے سے غلط بریک آؤٹ سگنلز سے بچتا ہے اور پھنس جاتا ہے۔ پہلا آر ایس آئی معمول کے علاقے میں ہونے کو یقینی بناتا ہے جبکہ دوسرا آر ایس آئی کافی مضبوط رفتار کی ضمانت دیتا ہے۔

  3. رجحان اور الٹ اشارے کا امتزاج رجحان کی الٹ پر بروقت اندراج کی اجازت دیتا ہے ، جبکہ رفتار کے پیچھے بھاگنے سے گریز کیا جاتا ہے۔

  4. مضبوطی کے دوران فعال پوزیشن بند کرنے سے رینج سے منسلک مارکیٹوں کے خطرے سے بچتا ہے۔

  5. یہ حکمت عملی پیرامیٹر کی اصلاح کے لئے بڑی جگہ پیش کرتی ہے ، جسے بہتر نتائج حاصل کرنے کے لئے مختلف مصنوعات اور ٹائم فریموں کے لئے ایڈجسٹ کیا جاسکتا ہے۔

خطرات

اس حکمت عملی کے اہم خطرات:

  1. غیر واضح رجحان کی تبدیلی غلط سگنل پیدا کرسکتی ہے اور نقصانات کا سبب بن سکتی ہے۔ متحرک اوسط ادوار کو ایڈجسٹ کرنے سے الٹ سگنل واضح ہوسکتے ہیں۔

  2. طویل استحکام کے دوران کثرت سے کھلنے اور بند ہونے سے اخراجات اور سکڑ بڑھ جاتی ہے۔ آر ایس آئی پیرامیٹرز کو بہتر بنانا استحکام میں فلٹریشن کو مضبوط بنا سکتا ہے۔

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

  4. پیرامیٹر کی غلط ترتیبات صحیح سگنل کو فلٹر کرسکتی ہیں یا سگنل میں تاخیر کا سبب بن سکتی ہیں۔ پیرامیٹرز کو مصنوعات کے کردار کے مطابق ایڈجسٹ کرنے کی ضرورت ہے۔

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

حکمت عملی کو مندرجہ ذیل پہلوؤں میں بہتر بنایا جاسکتا ہے:

  1. چلتی اوسط پیرامیٹر کی اصلاح ، بشمول مدت کی لمبائی ، مدت کا تناسب ، ایم اے کی قسم وغیرہ ، تاکہ رجحان کا فیصلہ زیادہ درست ہو۔

  2. آر ایس آئی پیرامیٹر کی اصلاح ، بشمول دورانیہ ، زیادہ خرید / زیادہ فروخت کی سطح ، غیر جانبدار زون وغیرہ ، فلٹرنگ کو زیادہ درست بنانے کے ل.

  3. وقت کی حد کو بہتر بنانا، بہترین وقت کی حد تلاش کرنے کے لئے.

  4. پروڈکٹ کی اصلاح، مختلف مصنوعات کو بہترین فٹ کرنے کے لئے پیرامیٹرز اور قوانین کو ایڈجسٹ کرنا.

  5. خطرہ اور منافع کے سائز کو کنٹرول کرنے کے لئے سٹاپ نقصان اور منافع لے لو.

نتیجہ

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


/*backtest
start: 2023-08-28 00:00:00
end: 2023-09-27 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//╔════════════════════════════════════════════════════════════════════════════╗
//║Rainbow Backtesting base on "Rainbow Moving Average" Strategy as below:     ║
//║1.Rainbow Moving Average setup                                              ║
//║- Source: source of 1st MA                                                  ║
//║- Type: SMA/EMA                                                             ║
//║- Period: period of 1st MA                                                  ║
//║- Displacement: period of 2nd MA to 7th MA with source is previous MA       ║
//║2.Trend Define                                                              ║
//║- Up Trend: Main MA moving at the top of Rainbow                            ║
//║- Down Trend: Main MA moving at the bottom of Rainbow                       ║
//║- Sideway: Main MA moving between the top and the bottom of Rainbow         ║
//║3.Signal                                                                    ║
//║- Buy Signal: When Rainbow change to Up Trend.                              ║
//║- Sell Signal: When Rainbow change to Down Trend.                           ║
//║- Exit: When Rainbow change to Sideway.                                     ║
//║4.RSI Filter                                                                ║
//║- "Enable": Only signals have 1st RSI moving between Overbought and Oversold║
//║and 2nd RSI moving outside Middle Channel are accepted.                     ║
//║- The filter may help trader avoid bull trap, bear trap and choppy market.  ║
//╚════════════════════════════════════════════════════════════════════════════╝

//@version=4
strategy("Rainbow Strategy Backtesting",overlay=false)
//++++++++++++++++++++++++++++++++++++++++++++++++++
//+++++++++++++ Rainbow Moving Average +++++++++++++
//++++++++++++++++++++++++++++++++++++++++++++++++++
rainbow_tt="=== Rainbow Moving Average ==="
ma1_source=input(hlc3,title="Source",type=input.source, inline="set1", group=rainbow_tt)
rb_type=input("SMA",title="Type",options=["SMA","EMA"], inline="set1", group=rainbow_tt)
ma1_len=input(12,title="Period", inline="set2", group=rainbow_tt)
dis_len=input(3,title="Displacement", inline="set2", group=rainbow_tt,minval=2)
trend_tt="=== Trend Color ==="
up_col=input(color.new(color.blue,0),title="Up",inline="Color",group=trend_tt)
dn_col=input(color.new(color.red,0),title="Down",inline="Color",group=trend_tt)
sw_col=input(color.new(color.yellow,0),title="No",inline="Color",group=trend_tt)
//1st
ma1=rb_type=="SMA"?sma(ma1_source,ma1_len):ema(ma1_source,ma1_len)
//2nd
ma2=rb_type=="SMA"?sma(ma1,dis_len):ema(ma1,dis_len)
//3rd
ma3=rb_type=="SMA"?sma(ma2,dis_len):ema(ma2,dis_len)
//4
ma4=rb_type=="SMA"?sma(ma3,dis_len):ema(ma3,dis_len)
//5
ma5=rb_type=="SMA"?sma(ma4,dis_len):ema(ma4,dis_len)
//6
ma6=rb_type=="SMA"?sma(ma5,dis_len):ema(ma5,dis_len)
//7
ma7=rb_type=="SMA"?sma(ma6,dis_len):ema(ma6,dis_len)
//MinMax
rb_max=max(ma1,ma2,ma3,ma4,ma5,ma6,ma7)
rb_min=min(ma1,ma2,ma3,ma4,ma5,ma6,ma7)
dir_col=
       ma1==rb_max?up_col:
       ma1==rb_min?dn_col:
       sw_col
dir_style=shape.circle
plotshape(dir_col[1]==dir_col?0:na,title="Trend",style=dir_style,color=dir_col,location=location.absolute)
//++++++++++++++++++++++++++++++++++++++
//+++++++++++++ RSI Filter +++++++++++++
//++++++++++++++++++++++++++++++++++++++
rsi_tt="=== RSI Filter ==="
rsi_filter=input("Enable",title="Filter",options=["Enable","Disable"],inline="set",group=rsi_tt)
over_tt="Over Filter"
rsi_len_1=input(12,title="Period",inline="set",group=over_tt)
rsi_ovb=input(65,title="Overbought",inline="set",group=over_tt)
rsi_ovs=input(35,title="Oversold",inline="set",group=over_tt)
rsi_1=rsi(close,rsi_len_1)
mid_tt="Middle Filter"
rsi_len_2=input(9,title="Period",inline="set",group=mid_tt)
rsi_mid_top=input(56,title="Upper",inline="set",group=mid_tt)
rsi_mid_bot=input(44,title="Lower",inline="set",group=mid_tt)
rsi_2=rsi(close,rsi_len_2)
//Status
var rsi_status="None"
if (rsi_1>rsi_ovs and rsi_1<rsi_ovb) and (rsi_2[1]<rsi_mid_bot or rsi_2[1]>rsi_mid_top)
    rsi_status:="Normal"
else
    rsi_status:="None"
//Signal
BuySignal= 
       rsi_filter=="Disable"?
       dir_col[1]!=up_col
       and
       dir_col[0]==up_col
       :
       dir_col[1]!=up_col
       and
       dir_col[0]==up_col
       and
       rsi_status=="Normal"
       
SellSignal= 
       rsi_filter=="Disable"?
       dir_col[1]!=dn_col
       and
       dir_col[0]==dn_col
       :
       dir_col[1]!=dn_col
       and
       dir_col[0]==dn_col
       and
       rsi_status=="Normal"
       
exit=
       (dir_col[1]!=sw_col
       and
       dir_col[0]==sw_col)
buycol =
       BuySignal?
       up_col: na

sellcol =
       SellSignal?
       dn_col: na

exitcol =
       exit?
       sw_col: na

buy_style=shape.arrowup
sell_style=shape.arrowdown
exit_style=shape.square
plotshape(BuySignal?0:na,title="Buy",text="Buy",style=buy_style,color=buycol,location=location.absolute)
plotshape(SellSignal?0:na,title="Sell",text="Sell",style=sell_style,color=sellcol,location=location.absolute)
plotshape(exit?0:na,title="Exit",text="Exit",style=exit_style,color=exitcol,location=location.absolute)

filter=
       rsi_filter=="Enable"?
       dir_col[1]!=dir_col 
       and BuySignal==false 
       and SellSignal==false 
       and exit==false:
       na
filter_style=shape.xcross
filtercol=
       filter?
       dir_col:na
plotshape(filter?0:na,title="Filter",text="Filter",style=filter_style,color=filtercol,location=location.absolute)

//+++++++++++++++++++++++++++++++++++++++++++++++++
//++++++++++++++++++ Backtesting ++++++++++++++++++
//+++++++++++++++++++++++++++++++++++++++++++++++++
strategy.entry("Long", strategy.long, when=BuySignal)
strategy.close("Long", when=exit or filter)
strategy.entry("Short", strategy.short, when=SellSignal)
strategy.close("Short", when=exit or filter)
//EOF

مزید