وسائل لوڈ ہو رہے ہیں... لوڈنگ...

چلتی اوسط کراس اوور نظام

مصنف:چاؤ ژانگ، تاریخ: 2024-01-03 16:22:18
ٹیگز:

img

جائزہ

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

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

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

چلتی اوسط خود رجحان کے اشارے کے طور پر کام کرتی ہیں ، جو مارکیٹ کے رجحان کی سمت کو مؤثر طریقے سے ظاہر کرتی ہیں۔ کراس اوور اصول حکمت عملی کو بروقت رجحان کے الٹ پوائنٹس پر قبضہ کرنے اور تجارتی سگنل پیدا کرنے کی اجازت دیتا ہے۔ 20 دن اور 30 دن کی مدت مناسب طریقے سے مقرر کی جاتی ہے تاکہ مارکیٹ کے رجحان کی عکاسی کی جاسکے بغیر شور پر بہت حساس ہو۔

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

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

  1. منطق سادہ اور واضح ہے، سمجھنے اور لاگو کرنے میں آسان ہے، beginners کے لئے موزوں ہے؛
  2. رجحان کے مطابق تجارت کرنے سے مخالف رجحان کی پوزیشنوں اور غیر ضروری نقصانات سے بچتا ہے۔
  3. چلتی اوسط مارکیٹ شور کو دور کرنے اور جھوٹے سگنل سے بچنے کے لئے فلٹرنگ اثر ہے؛
  4. پیرامیٹرز کی ترتیبات بہت زیادہ حساسیت کا سبب نہیں بنتی ہیں.

خطرے کا تجزیہ

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

  1. مارکیٹ کی توسیع کے دوران اکثر سٹاپ نقصان کے احکامات جاری کیے جا سکتے ہیں جب چلتی اوسط کراس اوور اکثر ہوتی ہے۔
  2. مضبوط رجحانات کے دوران حرکت پذیر اوسط کی پسماندہ نوعیت کی وجہ سے کچھ منافع کا فقدان۔
  3. نامناسب پیرامیٹر کی ترتیبات استحکام کو متاثر کر سکتے ہیں.

حل:

  1. چلتی اوسط کے ادوار کو ایڈجسٹ کریں، مثلث چلتی اوسط وغیرہ استعمال کریں تاکہ منحنی خطوط کو ہموار کریں اور کراس اوور فریکوئنسی کو کم کریں۔
  2. رجحان کا تعین کرنے کے لئے دوسرے اشارے استعمال کریں، توسیع کے دوران تجارت سے بچیں؛
  3. بہترین مجموعہ تلاش کرنے کے لئے پیرامیٹرز کو بہتر بنائیں.

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

حکمت عملی کو بہتر بنانے کے لئے اہم پہلوؤں:

  1. مختلف قسم کے چلتے ہوئے اوسطوں کا تجربہ کریں، جیسے وزن دار چلتے ہوئے اوسط، مثلث چلتے ہوئے اوسط وغیرہ۔
  2. جمع کرنے کے دوران سگنل سے بچنے کے لئے دیگر تکنیکی اشارے شامل کریں؛
  3. رجحان کا تعین کرنے کے لئے ایلیٹ لہروں ، چینل تھیوری جیسی دیگر تجزیہ کی تکنیکوں کو شامل کریں۔
  4. پیرامیٹرز کو متحرک طور پر بہتر بنانے کے لئے مشین لرننگ ماڈلز کو اپنانا۔
  5. کوانٹ ٹولز کا استعمال کریں اور منی مینجمنٹ کو بہتر بنانے کے لئے اسٹاپ نقصان / منافع لینے کی تکنیک کا اطلاق کریں۔

نتیجہ

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


/*backtest
start: 2023-12-03 00:00:00
end: 2024-01-02 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © gliese581d

//@version=4
strategy(title="Moving Averages Testing", overlay=true, precision=2, calc_on_every_tick=false, max_bars_back=5000, pyramiding=2,  
 default_qty_type=strategy.percent_of_equity, default_qty_value=50, commission_type=strategy.commission.percent, initial_capital=10000)


//SETTINGS

longs_on = input(title="Long Trades enabled", defval=true)
shorts_on = input(title="Short Trades enabled", defval=true)

long_cond = input(title="Buy/Long Crossover Condition", defval="price x MA1", options=["price x MA1", "price x MA2", "MA1 x MA2"])
short_cond = input(title="Sell/Short Crossunder Condition", defval="price x MA2", options=["price x MA1", "price x MA2", "MA1 x MA2"])

ma1_type = input(title="Moving Average 1 Type", defval="SMA", options=["SMA", "EMA"])
ma1_len = input(defval=20, title="Moving Average 1 Len", type=input.integer, minval=1, maxval=1000, step=1)
ma2_type = input(title="Moving Average 2 Type", defval="SMA", options=["SMA", "EMA"])
ma2_len = input(defval=30, title="Moving Average 2 Len", type=input.integer, minval=1, maxval=1000, step=1)


//MOVING AVERAGES

ma_1 = ma1_type == "EMA" ? ema(close, ma1_len) : sma(close, ma1_len)
ma_2 = ma2_type == "EMA" ? ema(close, ma2_len) : sma(close, ma2_len)


//STRATEGY

//trade entries
long_entry = long_cond == "price x MA1" ? crossover(close, ma_1) : long_cond == "price x MA2" ? crossover(close, ma_2) : long_cond == "MA1 x MA2" ? crossover(ma_1, ma_2) : false
short_entry = short_cond == "price x MA1" ? crossunder(close, ma_1) : short_cond == "price x MA2" ? crossunder(close, ma_2) : short_cond == "MA1 x MA2" ? crossunder(ma_1, ma_2) : false

start_month = input(defval=4, title="Strategy Start Month", type=input.integer, minval=1, maxval=12, step=1)
start_year = input(defval=2018, title="Strategy Start Year", type=input.integer, minval=2000, maxval=2025, step=1)
end_month = input(defval=12, title="Strategy End Month", type=input.integer, minval=1, maxval=12, step=1)
end_year = input(defval=2020, title="Strategy End Year", type=input.integer, minval=2000, maxval=2025, step=1)

in_time =true

strategy.entry("Long", strategy.long, when=longs_on and in_time and long_entry)
strategy.close("Long", when=longs_on and not shorts_on and short_entry)

strategy.entry("Short", strategy.short, when=shorts_on and in_time and short_entry)
strategy.close("Short", when=shorts_on and not longs_on and long_entry)


//PLOTTING

//color background
last_entry_was_long = nz(barssince(long_entry)[1], 5000) < nz(barssince(short_entry)[1], 5000)
bgcol = (longs_on and last_entry_was_long) ? color.green : (shorts_on and not last_entry_was_long) ? color.red : na
bgcolor(color=bgcol, transp=90)

plot((long_cond == "price x MA1" or long_cond == "MA1 x MA2") or (short_cond == "price x MA1" or short_cond == "MA1 x MA2") ? ma_1 : na, color=color.blue)
plot((long_cond == "price x MA2" or long_cond == "MA1 x MA2") or (short_cond == "price x MA2" or short_cond == "MA1 x MA2") ? ma_2 : na, color=color.black)
plotshape(long_entry, style=shape.triangleup, location=location.belowbar, color=color.green)
plotshape(short_entry, style=shape.triangledown, location=location.abovebar, color=color.red)

مزید