
یہ حکمت عملی چلتی اوسط کے سنہری فورک اصول پر مبنی ہے۔ حکمت عملی دو چلتی اوسط کا استعمال کرتی ہے ، اور جب قلیل مدتی چلتی اوسط نیچے سے طویل مدتی چلتی اوسط کو توڑ دیتی ہے تو اس سے خریدنے کا اشارہ ملتا ہے۔ جب قیمت ایک اور چلتی اوسط سے نیچے آجاتی ہے تو اس سے فروخت کا اشارہ ملتا ہے۔ یہ حکمت عملی رجحان ساز مارکیٹوں کے لئے موزوں ہے ، جو کچھ شور کی تجارت کو مؤثر طریقے سے فلٹر کرنے کے قابل ہے ، اور اہم رجحانات کو پکڑنے کے لئے تجارت کرتی ہے۔
یہ حکمت عملی صارف کی اپنی مرضی کے مطابق قلیل مدتی اوسط اوسط ، طویل مدتی اوسط اوسط ، اوسط اوسط اوسط سے باہر نکلنے اور اوسط اوسط کے حساب کتاب کا استعمال کرتی ہے۔
جب قلیل مدتی حرکت پذیر اوسط نیچے کی طرف سے طویل مدتی حرکت پذیر اوسط کو توڑتا ہے تو ، خریدنے کا اشارہ ہوتا ہے۔ اس کا مطلب ہے کہ قلیل مدتی رجحان کو اوپر کی طرف تبدیل کیا جاسکتا ہے ، جس پر خرید لیا جاسکتا ہے۔
جب اختتامی قیمتوں میں کمی ہوتی ہے تو وہ منتقل شدہ اوسط سے باہر نکل جاتے ہیں ، جس سے فروخت کا اشارہ ہوتا ہے۔ اس کا مطلب یہ ہے کہ رجحان الٹ گیا ہے اور اس سے باہر نکلنا چاہئے۔
لہذا اس حکمت عملی کے لئے ٹریڈنگ سگنل قلیل مدتی اور طویل مدتی منتقل اوسط کی کراسنگ اور بند ہونے والی قیمتوں اور باہر نکلنے والی اوسط سے متعلق تعلقات سے حاصل ہوتا ہے۔
یہ حکمت عملی مندرجہ ذیل فوائد رکھتی ہے:
اس کے علاوہ، اس کے ساتھ ساتھ اس کے ساتھ ساتھ اس کے ساتھ ساتھ اس کے ساتھ ساتھ اس کے ساتھ.
اپنی مرضی کے مطابق پیرامیٹرز مختلف مارکیٹ کے حالات کے مطابق.
اہم رجحانات کو پکڑنے کے لئے حرکت پذیری اوسط کے ذریعے شور کو فلٹر کریں
تکنیکی اشارے جیسے رجحانات، حمایت اور مزاحمت کو مزید بہتر بنانے کے لئے استعمال کیا جا سکتا ہے.
منافع کے تناسب کو کنٹرول کیا جاسکتا ہے اور اس میں نقصان کی روک تھام کا طریقہ کار ہے۔
اس حکمت عملی میں مندرجہ ذیل خطرات بھی ہیں:
اس کے علاوہ ، یہ بھی کہا گیا ہے کہ اس طرح کے فیصلوں سے غلط سگنل پیدا ہوسکتے ہیں ، خاص طور پر جب مارکیٹ میں کوئی رجحان نہیں ہے۔
پیرامیٹرز کی غلط ترتیب سے رجحانات کو یاد کیا جاسکتا ہے یا بہت زیادہ غیر موثر تجارت پیدا ہوسکتی ہے۔
نقصانات کو بڑھانے کے لئے غیر معقول اسٹاپ نقصان کی پوزیشن سیٹ کریں۔
اس کے نتیجے میں نقصانات کا سامنا کرنا پڑ سکتا ہے۔
مارکیٹ میں تبدیلیوں کے مطابق پیرامیٹرز کو ایڈجسٹ کرنے کی ضرورت ہے۔
خطرے سے نمٹنے کے طریقوں میں شامل ہیں: پیرامیٹرز کو بہتر بنانے کی ترتیب ، دوسرے اشارے کے ساتھ مل کر فلٹرنگ سگنل ، اسٹاپ نقصان کی پوزیشن کو ایڈجسٹ کرنا ، رجحانات کی نشاندہی کرنے کے بعد شامل ہونا وغیرہ۔
یہ حکمت عملی مندرجہ ذیل پہلوؤں سے بہتر بنائی جا سکتی ہے۔
رجحانات کا تعین کرنے اور ٹریڈنگ سگنل پیدا کرنے کے لئے رجحانات کا تعین کرنے کے لئے ایک طریقہ کار تیار کریں.
ٹرانزیکشن حجم یا اتار چڑھاؤ کے اشارے کے ساتھ مل کر سگنل فلٹر کریں۔
متحرک طور پر اصلاح شدہ حرکت پذیری اوسط کی مدت پیرامیٹرز
آپٹمائزڈ سٹاپ نقصان کا طریقہ کار، متحرک سٹاپ نقصان کا احساس۔
سپورٹ اور مزاحمت کے ساتھ ساتھ دیگر اشارے کے ساتھ تجارت کے اشارے کی مزید تصدیق کریں۔
مختلف اقسام اور دورانیوں کے مطابق پیرامیٹرز کو ایڈجسٹ کریں۔
یہ موبائل اوسط لکیری فورک ٹریڈنگ حکمت عملی مجموعی طور پر ایک سادہ عملی رجحان ٹریکنگ حکمت عملی ہے۔ یہ مارکیٹ کی صورتحال کے مطابق پیرامیٹرز کو ایڈجسٹ کرسکتا ہے ، اور رجحان کی صورتحال میں اہم رجحان کی سمت کو پکڑ سکتا ہے۔ تاہم ، اس بات پر بھی توجہ دی جانی چاہئے کہ رجحان کا فیصلہ کرنے میں غلطی جیسے خطرات سے بچنے کے لئے ، مارکیٹ میں تبدیلیوں کے مطابق ڈھالنے کے لئے مسلسل اصلاح کی ضرورت ہے۔ مجموعی طور پر ، اس حکمت عملی میں اچھی عملی ہے۔
/*backtest
start: 2022-10-30 00:00:00
end: 2023-11-05 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/
// © TwoChiefs
//@version=4
strategy("John EMA Crossover Strategy", overlay=true)
////////////////////////////////////////////////////////////////////////////////
// BACKTESTING RANGE
// From Date Inputs
fromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
fromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
fromYear = input(defval = 2020, title = "From Year", minval = 1970)
// To Date Inputs
toDay = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
toMonth = input(defval = 1, title = "To Month", minval = 1, maxval = 12)
toYear = input(defval = 2021, title = "To Year", minval = 1970)
// Calculate start/end date and time condition
startDate = timestamp(fromYear, fromMonth, fromDay, 00, 00)
finishDate = timestamp(toYear, toMonth, toDay, 00, 00)
time_cond = true
////////////////////////////////////////////////////////////////////////////////
//CREATE USER-INPUT VARIABLES
periodShort = input(13, minval=1, title="Enter Period for Short Moving Average")
smoothingShort = input(title="Choose Smoothing Type for Short Moving Average", defval="EMA", options=["RMA", "SMA", "EMA", "WMA", "VWMA", "SMMA", "DEMA", "TEMA", "HullMA", "LSMA"])
periodLong = input(48, minval=1, title="Enter Period for Long Moving Average")
smoothingLong = input(title="Choose Smoothing Type for Long Moving Average", defval="EMA", options=["RMA", "SMA", "EMA", "WMA", "VWMA", "SMMA", "DEMA", "TEMA", "HullMA", "LSMA"])
periodExit = input(30, minval=1, title="Enter Period for Exit Moving Average")
smoothingExit = input(title="Choose Smoothing Type for Exit Moving Average", defval="EMA", options=["RMA", "SMA", "EMA", "WMA", "VWMA", "SMMA", "DEMA", "TEMA", "HullMA", "LSMA"])
src1 = close
pivot = (high + low + close) / 3
//MA CALCULATION FUNCTION
ma(smoothing, src, length) =>
if smoothing == "RMA"
rma(src, length)
else
if smoothing == "SMA"
sma(src, length)
else
if smoothing == "EMA"
ema(src, length)
else
if smoothing == "WMA"
wma(src, length)
else
if smoothing == "VWMA"
vwma(src, length)
else
if smoothing == "SMMA"
na(src[1]) ? sma(src, length) : (src[1] * (length - 1) + src) / length
else
if smoothing == "HullMA"
wma(2 * wma(src, length / 2) - wma(src, length), round(sqrt(length)))
//ASSIGN A MOVING AVERAGE RESULT TO A VARIABLE
shortMA=ma(smoothingShort, pivot, periodShort)
longMA=ma(smoothingLong, pivot, periodLong)
exitMA=ma(smoothingExit, pivot, periodExit)
//PLOT THOSE VARIABLES
plot(shortMA, linewidth=4, color=color.yellow,title="The Short Moving Average")
plot(longMA, linewidth=4, color=color.blue,title="The Long Moving Average")
plot(exitMA, linewidth=1, color=color.red,title="The Exit CrossUnder Moving Average")
//BUY STRATEGY
buy = crossover(shortMA,longMA) ? true : na
exit = crossunder(close,exitMA) ? true : na
strategy.entry("long",true,when=buy and time_cond)
strategy.close("long",when=exit and time_cond)
if (not time_cond)
strategy.close_all()