منتقل اوسط کراس اوور حکمت عملی


تخلیق کی تاریخ: 2023-09-18 17:35:37 آخر میں ترمیم کریں: 2023-09-18 17:35:37
کاپی: 0 کلکس کی تعداد: 688
1
پر توجہ دیں
1617
پیروکار

جائزہ

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

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

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

  1. دو متحرک میڈین لائنوں کا حساب لگانا ، تیز یا آہستہ ، SMA یا EMA کا انتخاب کریں۔

  2. جب تیز لکیر پر سست لکیر سے گزریں تو زیادہ کریں۔ جب تیز لکیر کے نیچے سست لکیر سے گزریں تو برابر کریں۔

  3. ٹریڈنگ سگنل کے طور پر اوسط لائن کو توڑنے یا اوسط لائن کے درمیان کراس کرنے کا انتخاب کریں۔

  4. آپ اس حکمت عملی کے لئے وقت مقرر کر سکتے ہیں۔

  5. آپ کو ایک ہی وقت میں ایک ہی وقت میں ایک ہی وقت میں ایک ہی وقت میں ایک ہی وقت میں ایک ہی وقت میں کرنا چاہئے.

  6. متحرک اوسط پیرامیٹرز کی اصلاح کے ذریعے مختلف ادوار کے مطابق ڈھالنا۔

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

طاقت کا تجزیہ

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

  1. اصول سادہ ہیں، عمل میں آسان ہیں، اور ٹریڈنگ سگنل واضح ہیں۔

  2. اس کے علاوہ، یہ ایک مؤثر رجحانات کو ٹریک کرنے اور بروقت خرید و فروخت کے مواقع پر قبضہ کرنے کے لئے استعمال کیا جاتا ہے.

  3. مختلف مساوی لائن پیرامیٹرز کے ساتھ مل کر ، مارکیٹ کے مختلف ماحول میں لاگو ہوتا ہے۔

  4. صرف زیادہ یا صرف خالی کرنے کا انتخاب کریں ، غیر یقینی ریورس آپریشن سے بچیں۔

  5. آپ کی حکمت عملی کے لئے مقرر کردہ وقت مقرر کریں اور مخصوص وقت سے بچیں.

  6. پیرامیٹرز کو بہتر بنانے کے ذریعے حکمت عملی کی کارکردگی کو بہتر بنانے کے لئے.

خطرے کا تجزیہ

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

  1. غلط سگنل پیدا کرنے کے لئے آسان ہے، بہت زیادہ بار بار تجارت سے بچنے کے لئے.

  2. کارکردگی کا انحصار اوسط لکیری پیرامیٹرز کے انتخاب پر ہے ، غلط انتخاب سے نقصان ہوسکتا ہے۔

  3. کچھ تاخیر کے ساتھ ، ابتدائی داخلے اور دیر سے باہر نکلنے کو روکنا چاہئے۔

  4. یہ مارکیٹ کے حالات کے لئے مناسب نہیں ہے جہاں ہنگامہ آرائی کی جاتی ہے۔

  5. اوسط لکیری کراسنگ میں کچھ بے ترتیب ہے اور اس سے مکمل طور پر نقصان سے بچا نہیں جاسکتا ہے۔

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

اصلاح کی سمت

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

  1. شامل کریں /٪ ((لائن - شارٹ ما) / شارٹ ما) / ((لائن - لانگ ما) / لانگ ما) / اوسط لکیری جھکاؤ فلٹرنگ شرط کے طور پر۔

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

  3. MACD یا RSI جیسے اشارے میں شامل ہونے کے لئے متعدد تصدیق کریں۔

  4. اسٹاپ نقصان کی شرائط طے کریں اور ایک نقصان کو محدود کریں۔

  5. ٹرینڈ مارکیٹ اور ریزولیشن مارکیٹ میں فرق کریں ، مشروط استعمال کریں۔

  6. مختلف پوزیشنوں کی جانچ پڑتال کریں اور بہترین حل تلاش کریں.

خلاصہ کریں۔

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

حکمت عملی کا ماخذ کوڈ
/*backtest
start: 2023-09-10 00:00:00
end: 2023-09-17 00:00:00
period: 10m
basePeriod: 1m
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)