
اس حکمت عملی میں سادہ حرکت پذیر اوسط کراس اور ڈبل اسٹاپ کی تکنیک کا استعمال کیا گیا ہے۔ اس کا مقصد خطرے کو کنٹرول کرنا اور منافع کی امکانات کو بہتر بنانا ہے۔ یہ حکمت عملی درمیانی اور قلیل مدتی تجارت کے لئے موزوں ہے ، اور جب رجحان بدل جاتا ہے تو مواقع کو پکڑ سکتا ہے۔
یہ حکمت عملی ای ایم اے اور ڈبلیو ایم اے کی کراسنگ پر مبنی ہے تاکہ مارکیٹ کی حرکت کا اندازہ لگایا جاسکے۔ جب ای ایم اے اوپر WMA سے گزرتا ہے تو ، زیادہ کام کرتا ہے۔ جب ای ایم اے نیچے WMA سے گزرتا ہے تو ، خالی۔
ہر بار جب کوئی پوزیشن کھولی جاتی ہے تو ، حکمت عملی دو رکاوٹ کی سطح مقرر کرتی ہے۔ پہلی رکاوٹ کی سطح پوزیشن کھولنے کی قیمت + 20 پوائنٹس پر مقرر کی جاتی ہے ، اور دوسری رکاوٹ کی سطح پوزیشن کھولنے کی قیمت + 40 پوائنٹس پر مقرر کی جاتی ہے۔ اس کے ساتھ ہی ایک رکاوٹ کی سطح بھی قائم کی جاتی ہے ، جو پوزیشن کھولنے کی قیمت - 20 پوائنٹس پر مقرر کی جاتی ہے۔
جب قیمت پہلی رکاوٹ کی سطح کو چھوتی ہے تو ، آدھی پوزیشن صاف کردی جاتی ہے۔ باقی پوزیشنیں دوسری رکاوٹ کی سطح کا پیچھا کرنے یا اس سے محروم ہونے کے لئے جاری رہتی ہیں۔
اس طرح، ہر تجارت کے تین نتائج ہوتے ہیں:
قیمتوں میں روکنے کے نقصانات، براہ راست نقصان 2٪.
قیمت نے پہلے اسٹاپ کو ٹرگر کیا ، آدھے حصے کو برابر کیا ، 1٪ منافع کو لاک کیا ، اور پھر اس وقت تک چلتا رہا جب تک کہ اس کی روک تھام نہ کی جائے ، اور آخر میں بیلنس بیلنس ، صفر منافع
قیمت نے پہلی روک تھام کے بعد جاری رکھا ، پھر دوسری روک تھام کو متحرک کیا ، اور آخر کار 1٪ + 2٪ = 3٪ منافع حاصل کیا۔
اس طرح کی ڈبل اسٹاپ نقصان کی حکمت عملی کا سب سے بڑا فائدہ یہ ہے کہ خطرے کو کنٹرول کیا جاسکتا ہے ، اور ایک ہی وقت میں بڑے نقصان سے بچا جاسکتا ہے۔ جب مارکیٹ خراب ہو تو ، اسٹاپ نقصان کو 2٪ کے اندر قابو میں رکھا جاسکتا ہے۔ جب مارکیٹ روشن ہو تو ، دو اسٹاپ کی سطح سے زیادہ منافع حاصل کیا جاسکتا ہے۔
اس حکمت عملی کے تین نتائج ہیں: نقصانات ، منافع اور نقصانات کے بغیر ، اس کے مقابلے میں ایک واحد اسٹاپ اسٹاپ کے مقابلے میں۔ اس سے روکنے کے امکانات کو کم کیا گیا ہے۔ یہاں تک کہ جب نقصانات ختم ہوجاتے ہیں تو ، زیادہ سے زیادہ نقصان 2٪ پر قابو پایا جاتا ہے۔ روایتی اسٹاپ اسٹاپ حکمت عملی کے مقابلے میں ، اس طرح کی ڈبل اسٹاپ اسٹاپ حکمت عملی میں ڈی ڈی کو نمایاں طور پر کم کیا جاسکتا ہے اور جیت کی شرح میں اضافہ ہوتا ہے۔
ایک اور فائدہ یہ ہے کہ اس کا استعمال آسان ہے۔ ای ایم اے اور ڈبلیو ایم اے بڑے پیمانے پر مشہور اشارے ہیں اور ان کو سمجھنا آسان ہے۔ اسٹاپ اسٹاپ نقصان کی منطق بہت واضح ہے اور اس کی آسانی سے نگرانی کی جاسکتی ہے۔ اس سے حکمت عملی کو قبول کرنا اور اس پر عمل درآمد کرنا آسان ہے۔
اگرچہ اس حکمت عملی کے کچھ فوائد ہیں ، لیکن اس میں کچھ خطرات بھی ہیں جن پر توجہ دینے کی ضرورت ہے۔
سب سے پہلے ، ای ایم اے اور ڈبلیو ایم اے ، اوسط اشارے کے طور پر ، اتار چڑھاؤ کے رجحانات کی شناخت میں کمزور ہیں۔ جب رجحان واضح نہیں ہوتا ہے تو ، زیادہ غلط سگنل پیدا ہوسکتے ہیں ، جس کی وجہ سے زیادہ بار بار تجارت ہوتی ہے۔
دوسرا ، اسٹاپ نقصان کی مقررہ پوزیشن مارکیٹ میں اتار چڑھاؤ کے ساتھ مطابقت نہیں رکھ سکتی ہے۔ جب اتار چڑھاؤ زیادہ ہوتا ہے تو ، اسٹاپ نقصان کو توڑ دیا جاسکتا ہے اور حفاظتی کردار ادا نہیں کرسکتا ہے۔
آخر میں ، اس حکمت عملی میں غیر متوقع واقعات کا جواب نہیں دیا جاسکتا ہے ، اور اس میں بیعانہ لینے کا خطرہ ہے۔ جب کوئی اہم خبروں کا واقعہ ہوتا ہے تو ، قیمتوں میں تیزی سے اضافہ ہوسکتا ہے ، جس سے براہ راست اسٹاپ نقصان کی لائن کو نشانہ بنایا جاسکتا ہے ، جس سے زیادہ نقصان ہوتا ہے۔
اس حکمت عملی کو مزید بہتر بنانے کے لیے مندرجہ ذیل نکات پر غور کیا جا سکتا ہے۔
داخل ہونے والے سگنل کو بہتر بنائیں۔ آپ ای ایم اے اور ڈبلیو ایم اے سے بہتر اوسط لائن اشارے یا رجحان اشارے کی کوشش کر سکتے ہیں تاکہ سگنل کی کوالٹی کو بہتر بنایا جاسکے۔
متحرک طور پر اسٹاپ نقصان کی پوزیشن کو ایڈجسٹ کریں۔ اسٹاپ نقصان کی پوزیشن کو اے ٹی آر ، موبائل اسٹاپ نقصان وغیرہ کے مطابق ریئل ٹائم میں ایڈجسٹ کیا جاسکتا ہے ، تاکہ یہ مارکیٹ کے ساتھ متحرک طور پر عمل پیرا ہو۔
فلٹرنگ کی شرائط کو شامل کریں۔ آپ کو سونے کی کان سے پہلے تجارت کی مقدار یا ضمنی اشارے کی تصدیق شامل کرنے کی اجازت ہے ، تاکہ آپ کو اسٹیک سے بچایا جاسکے۔ آپ کو یہ بھی منتخب کرنا ہوگا کہ آیا آپ اہم واقعات کے کیلنڈر کے مطابق تجارت کرتے ہیں یا نہیں۔
پوزیشن مینجمنٹ کو بہتر بنائیں۔ فنڈ مینجمنٹ کے اصولوں کے مطابق ہر تجارت کے لئے پوزیشن کا سائز بہتر بنایا جاسکتا ہے۔
یہ حکمت عملی مجموعی طور پر ایک سادہ اور عملی رجحان کی پیروی کرنے والی حکمت عملی ہے۔ یہ تجارتی سگنل بنانے کے لئے ای ایم اے اور ڈبلیو ایم اے کا استعمال کرتی ہے ، اور ڈبل اسٹاپنگ تکنیک کا استعمال کرکے خطرے پر قابو پالتی ہے۔ روایتی حکمت عملی کے مقابلے میں ، اس میں منافع کی زیادہ امکان اور کم خطرہ ہے۔ یقینا ، اشارے کی حدود اور اسٹاپ نقصان کی ترتیب کے خطرات پر بھی توجہ دینے کی ضرورت ہے۔ مزید اصلاح کے ساتھ ، اس حکمت عملی کو زیادہ مستحکم اور قابل اعتماد بنایا جاسکتا ہے۔
/*backtest
start: 2023-11-06 00:00:00
end: 2023-11-13 00:00:00
period: 30m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("FS ATR & PS (MA)", overlay=true)
// Strategy
Buy = input(true)
Sell = input(true)
// Time Period
start_year = input(title='Start year' ,defval=2019)
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=2019)
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
longCondition =
crossover(ema,wma) and Buy and
nz(strategy.position_size) == 0 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)
shortCondition =
crossunder(ema,wma) and Sell and
nz(strategy.position_size) == 0 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)
// Exit Condition
a = input(20)*10
b = input(40)*10
c = a*syminfo.mintick
d = b*syminfo.mintick
long_stop_level = float(na)
long_profit_level1 = float(na)
long_profit_level2 = float(na)
long_even_level = float(na)
short_stop_level = float(na)
short_profit_level1 = float(na)
short_profit_level2 = float(na)
short_even_level = float(na)
long_stop_level := longCondition ? close - c : long_stop_level [1]
long_profit_level1 := longCondition ? close + c : long_profit_level1 [1]
long_profit_level2 := longCondition ? close + d : long_profit_level2 [1]
long_even_level := longCondition ? close + 0 : long_even_level [1]
short_stop_level := shortCondition ? close + c : short_stop_level [1]
short_profit_level1 := shortCondition ? close - c : short_profit_level1 [1]
short_profit_level2 := shortCondition ? close - d : short_profit_level2 [1]
short_even_level := shortCondition ? close + 0 : short_even_level [1]
// Position Sizing
Risk = input(defval=10, title="Risk per trade%", step=1, minval=0, maxval=100)/100
size = 1
// Strategy
if longCondition
strategy.entry("Buy" , strategy.long, qty=size)
strategy.exit ("Exit1", stop=long_stop_level, limit=long_profit_level1, qty=size/2)
strategy.exit ("Exit2", stop=long_stop_level, limit=long_profit_level2)
if shortCondition
strategy.entry("Sell" , strategy.short, qty=size)
strategy.exit ("Exit3", stop=short_stop_level, limit=short_profit_level1, qty=size/2)
strategy.exit ("Exit4", stop=short_stop_level, limit=short_profit_level2)
// Plot
plot(strategy.position_size <= 0 ? na : long_stop_level , color=#dc143c, style=plot.style_linebr, linewidth=1)
plot(strategy.position_size <= 0 ? na : long_profit_level1 , color=#00ced1, style=plot.style_linebr, linewidth=1)
plot(strategy.position_size <= 0 ? na : long_profit_level2 , color=#00ced1, style=plot.style_linebr, linewidth=1)
plot(strategy.position_size <= 0 ? na : long_even_level , color=#ffffff, style=plot.style_linebr, linewidth=1)
plot(strategy.position_size >= 0 ? na : short_stop_level , color=#dc143c, style=plot.style_linebr, linewidth=1)
plot(strategy.position_size >= 0 ? na : short_profit_level1, color=#00ced1, style=plot.style_linebr, linewidth=1)
plot(strategy.position_size >= 0 ? na : short_profit_level2, color=#00ced1, style=plot.style_linebr, linewidth=1)
plot(strategy.position_size >= 0 ? na : short_even_level , color=#ffffff, style=plot.style_linebr, linewidth=1)
plot(ema,color=#00ced1)
plot(wma,color=#dc143c)