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


تخلیق کی تاریخ: 2023-09-28 11:01:59 آخر میں ترمیم کریں: 2023-09-28 11:01:59
کاپی: 0 کلکس کی تعداد: 757
1
پر توجہ دیں
1617
پیروکار

جائزہ

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

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

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

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

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

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

  4. آر ایس آئی فلٹر۔ RSI اشارے کی نشاندہی کرنے پر صرف تب ہی تجارتی سگنل قبول کیا جاتا ہے۔ پہلی آر ایس آئی اشارے کی ضرورت ہوتی ہے کہ وہ زیادہ خرید و فروخت والے علاقوں کے درمیان ہو ، تاکہ جعلی بریک سے بچا جاسکے۔ دوسری آر ایس آئی کی ضرورت ہوتی ہے کہ وہ درمیانی علاقے میں نہ ہو ، تاکہ اس بات کا یقین کیا جاسکے کہ بریک کی رفتار کافی ہے۔

اسٹریٹجک فوائد

یہ حکمت عملی مندرجہ ذیل فوائد رکھتی ہے:

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

  2. RSI اشارے ڈبل فلٹرنگ میکانزم ، جو جھوٹے ٹوٹ پھوٹ کے اشارے کو مؤثر طریقے سے فلٹر کرتا ہے ، اور اس سے بچنے سے بچتا ہے۔ پہلا RSI اس بات کو یقینی بناتا ہے کہ یہ معمول کے علاقے میں ہے ، دوسرا RSI اس بات کو یقینی بناتا ہے کہ اس کی طاقت کافی ہے۔

  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