
ایک متحرک اوسط بائنری ٹریڈنگ حکمت عملی ایک رجحان ٹریڈنگ حکمت عملی ہے جو دو متحرک اوسط کراس سگنل کی پیروی کرتی ہے۔ حکمت عملی ایک ہی وقت میں اشاریہ متحرک اوسط ((EMA) اور وزن والے متحرک اوسط ((WMA) کو ٹریڈنگ سگنل کے اشارے کے طور پر استعمال کرتی ہے۔ جب طویل عرصے سے WMA مختصر EMA پر ہوتا ہے تو ، حکمت عملی زیادہ ہوتی ہے۔ جب طویل عرصے سے EMA کے نیچے ہوتا ہے تو ، حکمت عملی خالی ہوجاتی ہے۔
اس حکمت عملی کے لئے ٹریڈنگ سگنل کا منبع ای ایم اے دورانیہ 10 کے لئے مختصر ای ایم اے اور ڈبلیو ایم اے دورانیہ 20 کے لئے طویل مدتی ڈبلیو ایم اے کے لئے گولڈ فورک ڈیڈ فورکس ہیں۔ جب مختصر ای ایم اے پر طویل مدتی ڈبلیو ایم اے میں داخل ہوتا ہے تو ، اس کا مطلب یہ ہے کہ تجارت نیچے سے اوپر کی طرف مڑ جاتی ہے ، اور زیادہ ہے۔ جب مختصر ای ایم اے کے نیچے طویل مدتی ڈبلیو ایم اے میں داخل ہوتا ہے تو ، اس کا مطلب یہ ہے کہ تجارت اوپر سے نیچے کی طرف مڑ جاتی ہے ، اور خالی ہوجاتی ہے۔
حکمت عملی نے پہلے تجارت کی سمت کا فیصلہ کرنے کے بعد ، اسٹاپ نقصان کو داخلہ قیمت کے نیچے یا اس سے اوپر 1 اے ٹی آر سائیکل کے فاصلے پر قائم کیا ، اور ساتھ ہی دو اسٹاپ پوزیشنیں قائم کیں ، پہلی اسٹاپ داخلہ قیمت کے اوپر یا اس سے نیچے 1 اے ٹی آر کے فاصلے پر ، دوسری اسٹاپ داخلہ قیمت کے اوپر یا اس سے نیچے 2 اے ٹی آر کے فاصلے پر۔ جب پہلی اسٹاپ ٹرگر ہوجاتی ہے تو ، باقی پوزیشنیں دوسری اسٹاپ اور متحرک اسٹاپ کے ذریعہ صاف ہوجاتی ہیں۔
چلنے والی روک تھام کا منطق یہ ہے کہ جب تک کہ سب سے زیادہ قیمت یا سب سے کم قیمت پہلے اسٹاپ پوزیشن کو چھو لے تو اس کا آغاز ہوتا ہے۔ K لائن کی بنیاد پر ریئل ٹائم میں تازہ کاری کی جاتی ہے ، روک تھام کو زیادہ سے زیادہ منافع بخش قیمت اور داخلے کی قیمت کے درمیان منتقل کیا جاتا ہے تاکہ روک تھام کو روکنے کے لئے منافع کو لاک کیا جاسکے۔
اس حکمت عملی میں متحرک اوسط کی دوہری ہموار اور شور مٹانے کی خصوصیت کا استعمال کیا گیا ہے ، جس سے مارکیٹ میں بے ترتیب اتار چڑھاؤ کو مؤثر طریقے سے ختم کیا جاسکتا ہے ، وسط لمبی لائن کے رجحان کے اشارے کی نشاندہی کی جاسکتی ہے ، اور اس سے بچنے سے بچا جاسکتا ہے۔ ایک ہی وقت میں دو بیچ اسٹاپ سیٹ کرنے سے حکمت عملی کے منافع کی حد میں اضافہ ہوتا ہے ، جس سے منافع کو زیادہ سے زیادہ کیا جاسکتا ہے۔ متحرک اسٹاپ نقصان کا طریقہ کار حکمت عملی کو منافع کو روکنے اور نقصان کو کم کرنے کے لئے بھی اہل بناتا ہے۔
حرکت پذیر اوسط خود ہی دیر سے چلنے کا خطرہ ہے ، جس سے سگنل کو یاد کرنے کا خطرہ ہوسکتا ہے۔ دوہری حرکت پذیر اوسط کا کراسنگ کچھ مارکیٹوں میں بہت سارے جھوٹے سگنل پیدا کرسکتا ہے ، جس سے نقصان ہوتا ہے۔ اسٹاپ نقصان کی ترتیب حکمت عملی کا ایک اہم حصہ ہے ، اگر اسٹاپ نقصان بہت کم ہو تو اس میں توڑنے کا خطرہ ہوتا ہے ، اور اگر اسٹاپ نقصان بہت زیادہ ہو تو خطرہ کو مؤثر طریقے سے کنٹرول نہیں کیا جاسکتا ہے۔
اس کے علاوہ ، جب مارکیٹ میں شدید اتار چڑھاؤ ہوتا ہے تو ، موبائل اسٹاپ نقصانات کو اچھی طرح سے تحفظ نہیں مل سکتا ہے۔
مختلف پیرامیٹرز کے ای ایم اے اور ڈبلیو ایم اے کی جانچ کی جاسکتی ہے تاکہ بہترین پیرامیٹرز کا مجموعہ تلاش کیا جاسکے۔ مختصر ای ایم اے بہت مختصر یا لمبی ڈبلیو ایم اے بہت لمبا ہونا حکمت عملی کی کارکردگی کو متاثر کرسکتا ہے۔
اے ٹی آر ضرب یا فکسڈ پوائنٹ اسٹاپ نقصان کا انتخاب مختلف قسم کی خصوصیات اور تجارتی طرز کے مطابق کیا جاسکتا ہے۔
جزوی پوزیشنوں کی نقل و حرکت کے نقصانات اور پورے پوزیشنوں کی نقل و حرکت کے نقصانات کے اثرات کی جانچ کی جاسکتی ہے۔
دیگر اشارے متعارف کرانے کی طرف سے فلٹرنگ سگنل کا فیصلہ کیا جا سکتا ہے، ای ایم اے اور ڈبلیو ایم اے کی مدد سے، سگنل کی معیار کو بہتر بنانے کے لئے.
متحرک اوسط کی دوہری ٹریڈنگ حکمت عملی مجموعی طور پر زیادہ مستحکم ہے ، اور رجحان کی صورتحال میں بہتر کارکردگی کا مظاہرہ کرتی ہے۔ پیرامیٹرز کی اصلاح ، اسٹاپ نقصان کی اصلاح اور سگنل کے معیار کو بہتر بنانے کے ذریعے حکمت عملی کی عملی کارکردگی کو مزید بڑھاوا دیا جاسکتا ہے۔ یہ ایک ایسی حکمت عملی ہے جس کے بارے میں گہرائی سے مطالعہ کرنے اور عملی طور پر سرمایہ کاری کرنے کے قابل ہے۔
/*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)