
اس حکمت عملی میں اسٹاک کی تیز رفتار 30 دن کی سادہ حرکت پذیری اوسط اور سست رفتار 33 دن کی سادہ حرکت پذیری اوسط کا حساب لگایا جاتا ہے ، اور جب ان میں گولڈ فورک یا ڈیڈ فورک ہوتا ہے تو LONG یا SHORT انٹری ہوتی ہے۔ جب اس کے برعکس سگنل ہوتا ہے تو فوری طور پر بند ہوجاتا ہے۔ یہ رجحان کی تبدیلیوں کو مؤثر طریقے سے پکڑ سکتا ہے۔
اس حکمت عملی کا مرکز تیز 30 دن کی اوسط اور سست 33 دن کی اوسط کا حساب لگانا ہے۔ تیز لائن قیمت کی تبدیلیوں کا زیادہ تیزی سے جواب دیتی ہے جبکہ سست لائن میں بہتر لہر کا اثر ہوتا ہے۔ جب تیز لائن نیچے سے سست لائن کو توڑ کر اوپر جاتی ہے تو خریدنے کا اشارہ پیدا ہوتا ہے۔ اس کا مطلب یہ ہے کہ قیمتیں بڑھنا شروع ہوجاتی ہیں اور تیز لائن جواب دیتی ہے لیکن سست لائن پیچھے رہ جاتی ہے۔ جب تیز لائن اوپر سے گرتی ہے اور سست لائن نیچے سے گرتی ہے تو فروخت کا اشارہ پیدا ہوتا ہے۔ اس کا مطلب یہ ہے کہ قیمتوں میں کمی شروع ہوتی ہے اور تیز لائن جواب دیتی ہے لیکن سست لائن پیچھے رہ جاتی ہے۔
اس طرح کے تیز رفتار اور اوسط لائن کراس ڈیزائن کے ذریعہ ، رجحان کے آغاز پر ٹریڈنگ سگنل پیدا کیا جاسکتا ہے ، اور اس کے برعکس سگنل آنے پر اسٹاپ نقصان ہوتا ہے ، جس سے درمیانی اور لمبی لائن کی قیمتوں کے رجحان کو مؤثر طریقے سے پکڑا جاسکتا ہے۔
اس حکمت عملی کے درج ذیل فوائد ہیں:
اس حکمت عملی کے کچھ خطرات بھی ہیں:
ان خطرات کو کنٹرول اور کم کیا جاسکتا ہے جیسے پیرامیٹرز کو بہتر بنانا ، اسٹاپ نقصان کی پوزیشنیں لگانا ، اور صرف رجحان واضح ہونے پر تجارت کرنا۔
اس حکمت عملی کو مندرجہ ذیل پہلوؤں سے بہتر بنایا جاسکتا ہے:
جانچ اور اصلاح کے ذریعے ، حکمت عملی کے قواعد کو مستقل طور پر بہتر بنایا جاسکتا ہے ، جس سے مختلف مارکیٹ کے حالات میں زیادہ قابل اعتماد تجارتی سگنل حاصل ہوسکتے ہیں۔
یہ ڈبل اوسط لائن کراس بریکنگ حکمت عملی مجموعی طور پر آسان اور عملی ہے ، تیز اوسط اور سست اوسط لائن کے امتزاج کے ذریعہ ، وسط اور لمبی لائن رجحانات کے آغاز کو مؤثر طریقے سے پہچان سکتا ہے ، اور زیادہ قابل اعتماد تجارتی سگنل تیار کرسکتا ہے۔ اس کے ساتھ ہی اس کا اسٹاپ نقصان کا اصول بھی لاگو کرنا آسان ہے۔ مزید اصلاح کے ساتھ ، یہ حکمت عملی ایک قابل قدر مقدار کا نظام بن سکتی ہے جو طویل مدتی کے لئے قابل قدر ہے۔
/*backtest
start: 2022-11-20 00:00:00
end: 2023-11-26 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
//future strategy
//strategy(title = "es1!_1minute_hull", default_qty_type = strategy.fixed, initial_capital=250000, overlay = true, commission_type=strategy.commission.cash_per_contract,commission_value=2, calc_on_order_fills=false, calc_on_every_tick=false,pyramiding=0)
//strategy.risk.max_position_size(2)
//stock strategy
strategy(title = "stub", default_qty_type = strategy.percent_of_equity, default_qty_value = 100, initial_capital=1000000, overlay = false)//, calc_on_order_fills=true, calc_on_every_tick=true)
//forex strategy
//strategy(title = "stub", default_qty_type = strategy.percent_of_equity, default_qty_value = 100, overlay = true,initial_capital=250000, default_qty_type = strategy.percent_of_equity)
//crypto strategy
//strategy(title = "stub", default_qty_type = strategy.percent_of_equity, default_qty_value = 100, overlay = true, commission_type=strategy.commission.percent,commission_value=.005,default_qty_value=10000)
//strategy.risk.allow_entry_in(strategy.direction.long) // There will be no short entries, only exits from long.
testStartYear = 2010
testStartMonth = 1
testStartDay = 1
testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,0,0)
testEndYear = 2039
testEndMonth = 1
testEndDay = 1
testPeriodEnd = timestamp(testEndYear,testEndMonth,testEndDay,0,0)
testPeriod() =>
//true
time >= testPeriodStart and time <= testPeriodEnd ? true : false
fast_length = 30
slow_length = 33
ema1 = 0.0
ema2 = 0.0
volumeSum1 = sum(volume, fast_length)
volumeSum2 = sum(volume, slow_length)
//ema1 := (((volumeSum1 - volume) * nz(ema1[1]) + volume * close) / volumeSum1)
ema1 := ema(close,fast_length)
//ema2 := (((volumeSum2 - volume) * nz(ema2[1]) + volume * close) / volumeSum2)
ema2 := ema(close,slow_length)
plot(ema1,color=#00ff00, linewidth=3)
plot(ema2, color=#ffff00, linewidth=3)
go_long = crossover(ema1,ema2)
go_short = crossunder(ema1,ema2)
if testPeriod()
strategy.entry("long_ride", strategy.long, when=go_long)
strategy.entry("short_ride", strategy.short,when=go_short)
strategy.close("long_ride",when=go_short)
strategy.close("short_ride",when=go_long)