حرکت پذیر اوسط کراس اوور حکمت عملی ایک بہت ہی عام مقداری تجارتی حکمت عملی ہے۔ یہ رجحانات اور منافع کا تعین کرنے کے لئے حرکت پذیر اوسط کے سنہری کراس اور موت کے کراس کا استعمال کرتی ہے۔ جب قلیل مدتی حرکت پذیر اوسط طویل مدتی حرکت پذیر اوسط سے اوپر جاتا ہے تو ، یہ ایک اپ ٹرینڈ کا اشارہ کرتا ہے ، اور ایک لمبی پوزیشن لی جاسکتی ہے۔ جب قلیل مدتی حرکت پذیر اوسط طویل مدتی حرکت پذیر اوسط سے نیچے جاتا ہے تو ، یہ ایک ڈاؤن ٹرینڈ کا اشارہ کرتا ہے ، اور ایک مختصر پوزیشن لی جاسکتی ہے۔
یہ حکمت عملی داخلہ اور باہر نکلنے کے نکات کا تعین کرنے کے لئے چلتی اوسط کے سنہری کراس اور موت کے کراس پر مبنی ہے۔ کوڈ دو بولین ان پٹ پیرامیٹرز کا استعمال کرتا ہے۔upOrDown
اورlongOrShort
طویل یا مختصر کا تعین کرنے کے لئے؛percentInput
قیمتوں میں تبدیلی کی حد فیصد مقرر کرنا؛closePositionDays
پوزیشن رکھنے کے دن کی تعداد مقرر کرنے کے لئے.
بنیادی منطق یہ ہے: کل کے مقابلے میں آج کے اضافے / کمی کا حساب لگائیں۔ اگر یہ ان پٹ کی حد فیصد تک پہنچ جاتا ہے تو ، ایک تجارتی سگنل متحرک ہوجاتا ہے۔ اگر یہ ایک لمبا سگنل ہے ، جب آج کی قیمت کل کے مقابلے میں حد سے زیادہ بڑھتی ہے تو ، طویل ہوجائیں۔ اگر یہ ایک مختصر سگنل ہے ، جب آج کی قیمت کل کے مقابلے میں حد سے زیادہ کم ہوجاتی ہے تو ، مختصر ہوجائیں۔
طویل / مختصر جانے کے بعد ، اندراج کا دن اور اگلے 4 دن چارٹ پر رنگوں سے نشان زد ہوں گے۔ پوزیشن 4 دن کے بعد خود بخود بند ہوجائے گی۔
خطرے کا انتظام:
چلتی اوسط کراس اوور حکمت عملی ایک بہت ہی آسان اور عملی مقداری تجارتی حکمت عملی ہے۔ قلیل مدتی اور طویل مدتی رجحانات کے مابین تعلقات کا فیصلہ کرکے ، یہ اثاثوں کی قیمتوں کی رجحان نوعیت سے فائدہ اٹھاتا ہے۔ یہ حکمت عملی واضح منطق کے ساتھ نافذ کرنا آسان ہے ، اور بہت ساری مقداری تجارتی حکمت عملیوں کی بنیاد بناتی ہے۔ ہم پیرامیٹر ٹیوننگ اور اصلاحات کے ذریعے بہتر کارکردگی حاصل کرسکتے ہیں۔ لیکن ہمیں خطرات کا انتظام کرنے اور غلط استعمال سے بچنے کی بھی ضرورت ہے۔
/*backtest start: 2023-01-01 00:00:00 end: 2023-10-11 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 // Created by Leon Ross strategy(title = "DaysAfterCertainPercentChangev1", shorttitle = "DACPCv1", overlay = true, pyramiding = 0, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, calc_on_every_tick=true, initial_capital=100000) //Inputs longOrShort = input(title="Long=Checked Short=Unchecked", type=bool, defval=true) //long=true, down=false upOrDown = input(title="Direction of Today vs. Previous day: Up=Checked Down=Unchecked", type=bool, defval=true) //up=true, down=false: this is the direction of days vs previous day percentInput = input(title="Percent", type=float, defval=4.5) closePositionDays = input(title="How Many Days to Close Position", defval=4) //Conditions //percentUpValue = (close / close[1]) - 1 //percentUp = percentUpValue >= (percentInput/100.0) //upConditions = percentUp //percentDownValue = 1- (close / close[1]) //percentDown = percentDownValue >= (percentInput/100.0) //downConditions = percentDown upValue = (close / close[1]) - 1 downValue = 1 - (close / close[1]) allConditions = if(upOrDown) upValue >= (percentInput/100.0) else downValue >= (percentInput/100.0) //Plots bgcolor(allConditions ? (upOrDown ? green : red) : na, transp=70) bgcolor(allConditions ? silver : na, transp=70, offset=1) bgcolor(allConditions ? silver : na, transp=70, offset=2) bgcolor(allConditions ? silver : na, transp=70, offset=3) bgcolor(allConditions ? silver : na, transp=70, offset=4) //bgcolor(downConditions == 1 ? red : na, transp=70) //bgcolor(downConditions == 1 ? silver : na, transp=70, offset=1) //bgcolor(downConditions == 1 ? silver : na, transp=70, offset=2) //bgcolor(downConditions == 1 ? silver : na, transp=70, offset=3) //bgcolor(downConditions == 1 ? silver : na, transp=70, offset=4) //Entires if(longOrShort) strategy.entry(id = "Long", long = true, when = allConditions) else strategy.entry(id = "Short", long = false, when = allConditions) //Exits if (barssince(allConditions) == closePositionDays) if(longOrShort) strategy.close("Long") else strategy.close("Short")