تیز رفتار سست دوہری چلتی اوسط ٹریڈنگ کی حکمت عملی

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

img

جائزہ

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

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

حکمت عملی سب سے پہلے تیز رفتار اوسط maFastLength اور سست رفتار اوسط maSlowLength کی لمبائی طے کرتی ہے۔ اس کے بعد یہ تیز رفتار اوسط فاسٹ ایم اے اور سست رفتار اوسط سست ایم اے کا حساب لگاتا ہے۔ تیز رفتار اوسط قیمت کی تبدیلیوں پر تیزی سے رد عمل ظاہر کرتا ہے اور موجودہ رجحان کا فیصلہ کرنے کے لئے استعمال ہوتا ہے ، جبکہ سست رفتار اوسط زیادہ آہستہ رد عمل ظاہر کرتا ہے اور رجحان کی سمت کا تعین کرنے کے لئے استعمال ہوتا ہے۔

جب تیز رفتار حرکت پذیر اوسط سست حرکت پذیر اوسط سے اوپر جاتا ہے تو ، ایک طویل اندراج سگنل goLong (()) تیار کیا جاتا ہے۔ جب تیز رفتار حرکت پذیر اوسط سست حرکت پذیر اوسط سے نیچے جاتا ہے تو ، موجودہ طویل پوزیشنوں کو killLong (()) سگنل کے ساتھ بند کردیا جاتا ہے۔

حکمت عملی کو صرف طویل، صرف مختصر، یا دونوں طویل اور مختصر تجارت کی اجازت دینے کے لئے مقرر کیا جا سکتا ہے.

صرف طویل موڈ میں ، طویل پوزیشنیں goLong() سگنل پر درج کی جاتی ہیں اور killLong() سگنل پر باہر نکلتی ہیں۔

صرف مختصر موڈ میں ، مختصر پوزیشنیں killLong() سگنل پر داخل کی جاتی ہیں اور goLong() سگنل پر باہر نکلتی ہیں۔

سویپنگ موڈ میں ، طویل پوزیشنیں goLong پر درج کی جاتی ہیں (()) ، بند کی جاتی ہیں اور killLong پر مختصر ہوجاتی ہیں۔

اس حکمت عملی میں سٹاپ نقصان، ٹریلنگ سٹاپ، میسجنگ اور دیگر اختیاری خصوصیات بھی شامل ہیں۔

فوائد

  1. سادہ اور لاگو کرنے میں آسان.

  2. طویل، مختصر یا دونوں جانے کے لئے لچکدار.

  3. اختیاری سٹاپ نقصان اور ٹریلنگ سٹاپ کی خصوصیات.

  4. تجارتی خبروں کو متنبہ کرنے کے لئے اپنی مرضی کے مطابق پیغامات.

  5. مارکیٹ میں رجحان کی تبدیلیوں کے لئے حساس.

  6. ایڈجسٹ پیرامیٹرز مختلف مارکیٹوں کو اپنانے.

خطرات

  1. غیر مستحکم یا مختلف مارکیٹوں میں زیادہ تجارت پیدا کر سکتا ہے.

  2. اچانک ہونے والی خبروں پر ردعمل ظاہر کرنے میں سست۔

  3. پیرامیٹر کا انتخاب حکمت عملی کی کارکردگی کو متاثر کرتا ہے.

  4. سگنلز پر سختی سے عمل کرنا چاہیے، اختیاری تجارت سے گریز کرنا چاہیے۔

  5. اگر تجارت کے اخراجات پر غور نہ کیا جائے تو منافع میں کمی آسکتی ہے۔

بہتری

  1. غلط سگنل سے بچنے کے لیے آر ایس آئی جیسے فلٹرز شامل کریں۔

  2. بہترین ترتیبات تلاش کرنے کے لئے پیرامیٹر کی اصلاح کو لاگو کریں.

  3. منافع میں مقفل اور ایڈجسٹ کرنے کے لئے متحرک رک جاتا ہے کا استعمال کریں.

  4. رجحان کی پیش گوئی میں مدد کے لیے مشین لرننگ کو شامل کریں۔

  5. انفرادی تجارتی عادات کے لئے پیغام رسانی کو بہتر بنائیں.

نتیجہ

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


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

//@version=4

strategy("SMA Strategy", shorttitle="SMA Strategy", overlay=true, pyramiding=0, default_qty_type=strategy.percent_of_equity, default_qty_value=100)

// === Inputs ===
// short ma
maFastSource = input(defval=close, title="Fast MA Source")
maFastLength = input(defval=3, title="Fast MA Period", minval=1)

// long ma
maSlowSource = input(defval=close, title="Slow MA Source")
maSlowLength = input(defval=9, title="Slow MA Period", minval=1)

// Trade direction
shorting = input(defval=false, title="Short only?")
longonly = input(defval=true, title="Long only?")
swapping = input(defval=false, title="Swap orders?")
// risk management
useStop = input(defval=false, title="Use Initial Stop Loss?")
slPoints = input(defval=25, title="Initial Stop Loss Points", minval=1)
useTS = input(defval=false, title="Use Trailing Stop?")
tslPoints = input(defval=120, title="Trail Points", minval=1)
useTSO = input(defval=false, title="Use Offset For Trailing Stop?")
tslOffset = input(defval=20, title="Trail Offset Points", minval=1)

// Messages for buy and sell
message_long_entry  = input("Long entry message", title="Long entry message")
message_long_exit   = input("Long exit message", title="Long exit message")
message_short_entry = input("Short entry message", title="Short entry message")
message_short_exit  = input("Short exit message", title="Short exit message")

// Calculate start/end date and time condition
startDate  = input(timestamp("2021-01-01T00:00:00"), type = input.time)
finishDate = input(timestamp("2021-12-31T00:00:00"), type = input.time)
 
time_cond  = true
// === Vars and Series ===
fastMA = sma(maFastSource, maFastLength)
slowMA = sma(maSlowSource, maSlowLength)

plot(fastMA, color=color.blue)
plot(slowMA, color=color.purple)

goLong() =>
    crossover(fastMA, slowMA)
killLong() =>
    crossunder(fastMA, slowMA)
    
// Long only
if longonly
    strategy.entry("Buy", strategy.long, when=goLong() and time_cond, alert_message = message_long_entry)
    strategy.close("Buy", when=killLong() and time_cond, alert_message = message_long_exit)

// Short only
if shorting
    strategy.entry("Sell", strategy.short, when=killLong() and time_cond, alert_message = message_short_entry)
    strategy.close("Sell", when=goLong() and time_cond, alert_message = message_short_exit)
    
// Order Swapping
if swapping
    strategy.entry("Buy", strategy.long, when=goLong() and time_cond, alert_message = message_long_entry)
    strategy.entry("Sell", strategy.short, when=killLong() and time_cond, alert_message = message_short_entry)

if useStop
    strategy.exit("XLS", from_entry="Buy", stop=strategy.position_avg_price / 1.08, alert_message = message_long_exit)
    strategy.exit("XSS", from_entry="Sell", stop=strategy.position_avg_price * 1.08, alert_message = message_short_exit)



مزید