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

سوئنگ ٹرینڈ چلتی اوسط حکمت عملی

مصنف:چاؤ ژانگ، تاریخ: 2024-02-04 15:44:54
ٹیگز:

img

جائزہ

سوئنگ ٹرینڈ موونگ اوسط حکمت عملی ایک رجحان کے بعد کا نظام ہے جو رجحان کی سمت کی نشاندہی کرنے کے لئے ایک طویل مدتی چلتی اوسط کا استعمال کرتا ہے جس میں اوسط حقیقی رینج کے ساتھ مل کر جعلی آؤٹ کو فلٹر کرنے اور مجموعی طور پر ڈراؤڈاؤن کو محدود کرنے کے لئے استعمال ہوتا ہے۔ یہ رجحان کی سمت کا تعین کرنے کے لئے ایک توسیعی چلتی اوسط کو اپناتا ہے اور یہ پتہ لگانے کے لئے اوسط حقیقی رینج کا استعمال کرتا ہے کہ آیا یہ غلط بریک آؤٹ ہے۔ اس سے مؤثر طریقے سے رینج مارکیٹوں کو فلٹر کیا جاسکتا ہے اور مجموعی طور پر حکمت عملی کے ڈراؤڈاؤن کو کم کیا جاسکتا ہے۔

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

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

  1. مجموعی طور پر رجحان کی سمت کا تعین کرنے کے لئے ایک اشاریاتی چلتی اوسط کا استعمال کریں۔ ڈیفالٹ مدت 200 بار ہے۔
  2. آخری 10 باروں میں اوسط حقیقی رینج کا حساب لگائیں۔
  3. جب اختتامی قیمت موزنگ میڈین + میڈین ٹرو رینج سے اوپر ہوتی ہے، تو اسے اپ ٹرینڈ کے طور پر طے کیا جاتا ہے۔
  4. جب اختتامی قیمت موزنگ میڈین - میڈین ویئر رینج سے کم ہو تو اسے ڈاؤن ٹرینڈ کے طور پر طے کیا جاتا ہے۔
  5. اپ ٹرینڈ میں لمبا اور ڈاؤن ٹرینڈ میں شارٹ۔
  6. پہلے سے طے شدہ طور پر ، حرکت پذیر اوسط کو اسٹاپ نقصان کی لائن کے طور پر استعمال کیا جاتا ہے۔ یہ اسٹاپ نقصان کی لائن کے طور پر حرکت پذیر اوسط ± اوسط حقیقی رینج استعمال کرنے کا انتخاب بھی کرسکتا ہے۔

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

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

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

خطرے کا تجزیہ

اس حکمت عملی میں کچھ ممکنہ خطرات بھی ہیں:

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

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

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

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

نتیجہ

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


/*backtest
start: 2023-01-28 00:00:00
end: 2024-02-03 00:00:00
period: 1d
basePeriod: 1h
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/
// © Inkedlau

//@version=5
strategy('Swing Trend Strategy', overlay=true, pyramiding=1, default_qty_type=strategy.percent_of_equity, default_qty_value=100, initial_capital=1000, commission_value=0.1)

use_short = input.bool(false, 'Open Short Positions?')
exit_type = input.bool(true, 'Exit trade on Moving Average Cross?')
src = input.source(close, 'Source')
len = input.int(200, 'Trend Length')
ma_type = input.string('ema', 'Moving Average Type', options=['sma', 'ema', 'rma', 'wma', 'vwma'], tooltip='Select the type of Moving Average to use to calculate the Trend')
atr_multiplier = input.float(1., 'ATR Threshold', step=0.5, tooltip='Filter the ranging market using the Average True Range')

// ----------------------- DESCRIPTION -----------------------
// THIS SCRIPT IS A TREND FOLLOWING SYSTEM THAT USES A COMBINATION OF MOVING AVERAGE AND AVERAGE TRUE RANGE
// TO SPOT THE TRENDS AND ENTER THE MARKET ACCODINGLY.
// THE MARKET IS CONSIDERED IN AN UPTREND WHEN THE PRICE CLOSES ABOVE THE MOVING AVERAGE + THE AVERAGE TRUE RANGE OF THE LAST 10 PERIODS
// THE MARKET IS CONSIDERED IN AN DOWNTREND WHEN THE PRICE CLOSES BLOW THE MOVING AVERAGE - THE AVERAGE TRUE RANGE OF THE LAST 10 PERIODS
// BY DEFAULT, THE STRATEGY WILL ENTER LONG WHEN AN UPTREND IS SPOTTED, THEN CLOSES WHEN THE PRICE CLOSES BELOW THE MOVING AVERAGE
// THE STRATEGY WILL ENTER SHORT WHEN A DOWNTREND IS SPOTTED, THEN CLOSES WHEN THE PRICE CLOSES ABOVE THE MOVING AVERAGE

// ------------------ INDICATORS CALCULATION------------------
my_ma()=>
    ma = close
    if ma_type == 'sma'
        ma := ta.sma(src, len)
    if ma_type == 'ema'
        ma := ta.ema(src, len)
    if ma_type == 'rma'
        ma := ta.rma(src, len)
    if ma_type == 'wma'
        ma := ta.wma(src, len)
    if ma_type == 'vwma'
        ma := ta.vwma(src, len)
    ma

trend = my_ma()
atr = ta.atr(10)
uptrend = trend + atr * atr_multiplier
downtrend = trend - atr * atr_multiplier

// ---------------- ENTRY AND EXIT CONDITIONS ----------------

open_long = strategy.position_size == 0 and src > uptrend
close_long = exit_type ? strategy.position_size > 0 and src < trend : strategy.position_size > 0 and src < downtrend

open_short = use_short and strategy.position_size == 0 and src < downtrend
close_short = exit_type ? strategy.position_size < 0 and src > trend : strategy.position_size < 0 and src > uptrend

strategy.entry('long', strategy.long, when=open_long)
strategy.close('long', when=close_long)

strategy.entry('short', strategy.short, when=open_short)
strategy.close('short', when=close_short)


// ------------------ PLOTTING AND COLORING ------------------
tcolor = src > uptrend ? color.green : src < downtrend ? color.red : na

ptrend = plot(trend, color=color.blue, linewidth=1)
puptrend = plot(uptrend, color=color.green, linewidth=1)
pdowntrend = plot(downtrend, color=color.red, linewidth=1)
pclose = plot(close, color=na)

fill(puptrend, pclose, color=close > uptrend ? color.green : na, transp = 90)
fill(pdowntrend, pclose, color=close < downtrend ? color.red : na, transp = 90)



مزید