
یہ حکمت عملی ایک خودکار تجارتی حکمت عملی ہے جو MACD تکنیکی اشارے پر مبنی ہے جس میں دو بار چلنے والی اوسط کی کراسنگ ہوتی ہے۔ یہ MACD اشارے کے تیز اور سست لائن کراسنگ سگنل کا استعمال کرتا ہے تاکہ رجحان کی سمت کا تعین کیا جاسکے اور رجحان کی پیروی کی جاسکے۔
اس حکمت عملی میں سب سے پہلے MACD اشارے کے تین منحنی خطوط کا حساب لگایا جاتا ہے: تیز ، سست اور فاصلے والی لائنیں۔ تیز لائن ایک مخصوص دورانیے میں تیز تر حرکت پذیر اوسط ہے ، اور سست ایک طویل دورانیے کی حرکت پذیر اوسط ہے۔ فاصلے والی لائن فوری لائن اور سست لائن کا فرق ہے۔ جب تیز لائن پر سست لائن کو عبور کرتے ہیں تو سونے کی کانٹا سگنل ، خریدنے کا اشارہ؛ جب تیز لائن کے نیچے سست لائن کو عبور کرتے ہیں تو ڈیڈ کانٹا سگنل ، فروخت کا اشارہ۔
حکمت عملی اس اصول کو استعمال کرتی ہے ، جب گولڈ فورک زیادہ ہوتا ہے تو ، جب وہ مردہ ہوتا ہے تو اس کی جگہ لی جاتی ہے۔ یا جب وہ مردہ ہوتا ہے تو اس کی جگہ لیتا ہے ، جب وہ گولڈ فورک پر ہوتا ہے تو اس کی جگہ لیتا ہے ، اور خود کار طریقے سے رجحان کی پیروی کرتا ہے۔ اس کے ساتھ ہی ، حکمت عملی MACD لائن کی مطلق قدر کو مثبت اور منفی سمجھتی ہے ، جھوٹے اشاروں سے بچنے کے لئے ، اس بات کو یقینی بناتی ہے کہ واقعی رجحان کی تبدیلی کو پکڑ لیا جائے۔
خطرے سے نمٹنے کے طریقے:
اس حکمت عملی کو مندرجہ ذیل پہلوؤں سے بہتر بنایا جاسکتا ہے:
دوسرے اشارے کی تصدیق کے اشارے کے ساتھ مل کر ، جیسے کے ڈی جے اشارے ، برن بینڈ اشارے وغیرہ ، جعلی سگنل کو فلٹر کریں
داخلہ کے طریقہ کار میں تبدیلی ، جیسے ابتدائی یا دیر سے داخل ہونے سے بچنے کے لئے بریک فلٹر شامل کرنا
پیرامیٹرز کی ترتیب کو بہتر بنائیں ، مارکیٹ کے مطابق مختلف دوروں اور مارکیٹ کے حالات کے مطابق فاسٹ لائن اور سست لائن کی مدت کو ایڈجسٹ کریں
اسٹاپ نقصان کی حکمت عملی میں شامل ہوں اور انفرادی نقصانات پر قابو پائیں
دیگر اقسام جیسے غیر ملکی کرنسی، ڈیجیٹل کرنسی وغیرہ تک توسیع
یہ دوہری منتقل اوسط کراس MACD رجحان ٹریکنگ حکمت عملی ، MACD اشارے کا استعمال کرتے ہوئے رجحان کی سمت کا تعین کرنے کے لئے ، تیز رفتار لائن کراس فلٹر سگنل کے ساتھ مل کر ، رجحان کی تبدیلی کو مؤثر طریقے سے پکڑ سکتا ہے ، خود کار طریقے سے رجحان کی پیروی کرتا ہے۔ حکمت عملی کا فائدہ یہ ہے کہ رجحان کا درست اندازہ لگایا جاسکتا ہے ، پیرامیٹرز کو ایڈجسٹ کیا جاسکتا ہے ، مارکیٹ کے ماحول کے مطابق بہتر بنایا جاسکتا ہے۔ غلط سگنل پیدا کرنے سے بچنے کے لئے خطرے پر قابو پانے پر توجہ دینے کی ضرورت ہے۔ یہ حکمت عملی دوسرے تکنیکی اشارے اور پیرامیٹر ایڈجسٹمنٹ کے ساتھ مل کر بہتر کام کرتی ہے۔
/*backtest
start: 2023-01-16 00:00:00
end: 2024-01-22 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/
// © DeMindSET
//@version=4
strategy("MACD Trend Follow Strategy", overlay=false)
// Getting inputs
LSB = input(title="Long/Short", defval="Long only", options=["Long only", "Short only" , "Both"])
fast_length = input(title="Fast Length", type=input.integer, defval=12)
slow_length = input(title="Slow Length", type=input.integer, defval=26)
src = input(title="Source", type=input.source, defval=close)
signal_length = input(title="Signal Smoothing", type=input.integer, minval = 1, maxval = 50, defval = 9)
sma_source = input(title="Simple MA(Oscillator)", type=input.bool, defval=false)
sma_signal = input(title="Simple MA(Signal Line)", type=input.bool, defval=false)
// Plot colors
col_grow_above = #26A69A
col_grow_below = #FFCDD2
col_fall_above = #B2DFDB
col_fall_below = #EF5350
col_macd = #0094ff
col_signal = #ff6a00
// Calculating
fast_ma = sma_source ? sma(src, fast_length) : ema(src, fast_length)
slow_ma = sma_source ? sma(src, slow_length) : ema(src, slow_length)
macd = fast_ma - slow_ma
signal = sma_signal ? sma(macd, signal_length) : ema(macd, signal_length)
hist = macd - signal
plot(hist, title="Histogram", style=plot.style_columns, color=(hist>=0 ? (hist[1] < hist ? col_grow_above : col_fall_above) : (hist[1] < hist ? col_grow_below : col_fall_below) ), transp=0 )
plot(macd, title="MACD", color=col_macd, transp=0)
plot(signal, title="Signal", color=col_signal, transp=0)
//
Bull= macd > signal
Bear= macd < signal
ConBull=macd>0
ConBear=macd<0
//
Green= Bull and ConBull
Red= Bear and ConBear
Yellow= Bull and ConBear
Blue= Bear and ConBull
//
bcolor = Green ? color.green : Red ? color.red : Yellow ? color.yellow : Blue ? color.blue : na
barcolor(color=bcolor)
// === INPUT BACKTEST RANGE ===
FromYear = input(defval = 2019, title = "From Year", minval = 1920)
FromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
FromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
ToYear = input(defval = 9999, title = "To Year", minval = 2009)
ToMonth = input(defval = 12, title = "To Month", minval = 1, maxval = 12)
ToDay = input(defval = 31, title = "To Day", minval = 1, maxval = 31)
// === FUNCTION EXAMPLE ===
start = timestamp(FromYear, FromMonth, FromDay, 00, 00) // backtest start window
finish = timestamp(ToYear, ToMonth, ToDay, 23, 59) // backtest finish window
window() => true // create function "within window of time"
if LSB == "Long only" and Green
strategy.entry("L",true)
if LSB == "Long only" and Red
strategy.close("L",qty_percent=100,comment="TP Long")
if LSB == "Both" and Green
strategy.entry("L",true)
if LSB == "Both" and Red
strategy.entry("S",false)
if LSB == "Short only" and Red
strategy.entry("S",false)
if LSB == "Short only" and Green
strategy.close("S",qty_percent=100,comment="TP Short")