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

مصنف:چاؤ ژانگ، تاریخ: 2024-02-29 14:54:25
ٹیگز:

img

جائزہ

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

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

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

تجارتی سمت کا تعین کرنے کے بعد ، حکمت عملی اسٹاپ نقصان کو 1 اے ٹی آر مدت تک اندراج کی قیمت سے نیچے یا اس سے اوپر طے کرتی ہے ، جس میں دو منافع حاصل ہوتے ہیں۔ پہلا منافع اندراج کی قیمت سے 1 اے ٹی آر اوپر یا اس سے نیچے طے ہوتا ہے ، اور دوسرا منافع اندراج کی قیمت سے 2 اے ٹی آر اوپر یا اس سے نیچے طے ہوتا ہے۔ جب پہلا منافع حاصل ہوتا ہے تو ، پوزیشن کا 50٪ بند ہوجائے گا۔ باقی پوزیشن دوسرے منافع کی طرف چلتی رہے گی یا ٹریلنگ اسٹاپ نقصان کے ساتھ۔

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

فائدہ

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

خطرات

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

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

اس کے علاوہ، جب مارکیٹ میں شدید اتار چڑھاؤ ہوتا ہے، تو ٹریلنگ اسٹاپ تحفظ میں بہت اچھا کام نہیں کرسکتا ہے۔

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

  1. پیرامیٹرز کا بہترین مجموعہ تلاش کرنے کے لئے مختلف پیرامیٹرز کے ساتھ ای ایم اے اور ڈبلیو ایم اے ٹیسٹ کریں۔ بہت مختصر ای ایم اے یا بہت لمبی ڈبلیو ایم اے دونوں حکمت عملی کی کارکردگی کو متاثر کرسکتے ہیں۔

  2. مقررہ پوائنٹس یا ATR متعدد سٹاپ نقصان کا انتخاب مختلف مصنوعات کی خصوصیات اور ٹریڈنگ شیلیوں کی بنیاد پر کریں۔

  3. جزوی پوزیشن ٹریلنگ سٹاپ اور مکمل پوزیشن ٹریلنگ سٹاپ کے اثرات کی جانچ کریں.

  4. ای ایم اے اور ڈبلیو ایم اے کی مدد کے لیے سگنل فلٹرنگ کے لیے دوسرے اشارے متعارف کرانے تاکہ سگنل کے معیار کو بہتر بنایا جا سکے۔

خلاصہ

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


/*backtest
start: 2024-01-29 00:00:00
end: 2024-02-28 00:00:00
period: 3h
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/
// © gpadihar

//@version=4
strategy("SL1 Pips after TP1 (MA)", commission_type=strategy.commission.cash_per_order, overlay=true)

// Strategy
Buy  = input(true)
Sell = input(true)

// Date Range
start_year    = input(title='Start year'   ,defval=2020)
start_month   = input(title='Start month'  ,defval=1)
start_day     = input(title='Start day'    ,defval=1)
start_hour    = input(title='Start hour'   ,defval=0)
start_minute  = input(title='Start minute' ,defval=0)
end_time      = input(title='set end time?',defval=false)
end_year      = input(title='end year'     ,defval=3019)
end_month     = input(title='end month'    ,defval=12)
end_day       = input(title='end day'      ,defval=31)
end_hour      = input(title='end hour'     ,defval=23)
end_minute    = input(title='end minute'   ,defval=59)

// MA
ema_period = input(title='EMA period',defval=10)
wma_period = input(title='WMA period',defval=20)
ema        = ema(close,ema_period)
wma        = wma(close,wma_period)

// Entry Condition
buy =
 crossover(ema,wma) and
 nz(strategy.position_size) == 0 and Buy and
 time > timestamp(start_year, start_month, start_day, start_hour, start_minute) and
 (end_time?(time < timestamp(end_year, end_month, end_day, end_hour, end_minute)):true)
 
sell =
 crossunder(ema,wma) and
 nz(strategy.position_size) == 0 and Sell and
 time > timestamp(start_year, start_month, start_day, start_hour, start_minute) and
 (end_time?(time < timestamp(end_year, end_month, end_day, end_hour, end_minute)):true)

// Pips
pip = input(20)*10*syminfo.mintick

// Trading parameters //
var bool  LS  = na
var bool  SS  = na
var float EP  = na
var float TVL = na
var float TVS = na
var float TSL = na
var float TSS = na
var float TP1 = na
var float TP2 = na
var float SL1 = na
var float SL2 = na

if buy or sell and strategy.position_size == 0
    EP  := close
    SL1 := EP - pip     * (sell?-1:1)
    SL2 := EP - pip     * (sell?-1:1)
    TP1 := EP + pip     * (sell?-1:1)
    TP2 := EP + pip * 2 * (sell?-1:1) 
   
// current trade direction    
LS := buy  or strategy.position_size > 0
SS := sell or strategy.position_size < 0

// adjust trade parameters and trailing stop calculations
TVL := max(TP1,open) - pip[1]
TVS := min(TP1,open) + pip[1]
TSL := open[1] > TSL[1] ? max(TVL,TSL[1]):TVL 
TSS := open[1] < TSS[1] ? min(TVS,TSS[1]):TVS

if LS and high > TP1
    if open <= TP1
        SL2:=min(EP,TSL)
    
if SS and low < TP1
    if open >= TP1
        SL2:=max(EP,TSS)

// Closing conditions
close_long  = LS and open < SL2
close_short = SS and open > SL2

// Buy
strategy.entry("buy"  , strategy.long, when=buy and not SS)
strategy.exit ("exit1", from_entry="buy", stop=SL1, limit=TP1, qty_percent=50)
strategy.exit ("exit2", from_entry="buy", stop=SL2, limit=TP2)

// Sell
strategy.entry("sell" , strategy.short, when=sell and not LS)
strategy.exit ("exit3", from_entry="sell", stop=SL1, limit=TP1, qty_percent=50)
strategy.exit ("exit4", from_entry="sell", stop=SL2, limit=TP2)

// Plots
a=plot(strategy.position_size >  0 ? SL1 : na, color=#dc143c, style=plot.style_linebr)
b=plot(strategy.position_size <  0 ? SL1 : na, color=#dc143c, style=plot.style_linebr) 
c=plot(strategy.position_size >  0 ? TP1 : na, color=#00ced1, style=plot.style_linebr) 
d=plot(strategy.position_size <  0 ? TP1 : na, color=#00ced1, style=plot.style_linebr) 
e=plot(strategy.position_size >  0 ? TP2 : na, color=#00ced1, style=plot.style_linebr) 
f=plot(strategy.position_size <  0 ? TP2 : na, color=#00ced1, style=plot.style_linebr) 
g=plot(strategy.position_size >= 0 ? na  : EP, color=#ffffff, style=plot.style_linebr) 
h=plot(strategy.position_size <= 0 ? na  : EP, color=#ffffff, style=plot.style_linebr) 

plot(ema,title="ema",color=#fff176)
plot(wma,title="wma",color=#00ced1)



مزید