
یہ حکمت عملی MACD اشارے کو تیز رفتار اور سست رفتار اوسط اوسط کے فرق کے حساب سے تشکیل دیتی ہے ، اور پھر مالیاتی منڈیوں کے رجحانات اور اوور بیئر اوور سیل علاقوں کا فیصلہ کرنے کے لئے سگنل لائنوں کے ساتھ مل کر ، MACD اور سگنل لائنوں کو ملٹی ہیڈ فورک فارکس کی تشکیل کے ساتھ ساتھ 200 دن کی اوسط لائن سے اوپر کی قیمت میں اضافہ ہوتا ہے ، اور 200 دن کی اوسط لائن سے نیچے کی قیمت میں خالی ہیڈ فورک فارکس کی تشکیل ہوتی ہے ، جو ایک عام ڈبل فورک فارکس اوسط لائن توڑنے کی حکمت عملی میں شامل ہے۔
بنیادی اصول یہ ہے کہ تیزی سے چلنے والی اوسط اور آہستہ چلنے والی اوسط کے فرق کا حساب لگانا مارکیٹ کے رجحان کی سمت کا تعین کرنے کے لئے MACD اشارے تشکیل دیں ، پھر سگنل لائن کا استعمال اوور بیئر اوور سیل علاقوں کا تعین کرنے کے لئے کریں۔ جب MACD اور سگنل لائن گولڈ فورک تشکیل دیتے ہیں تو کثیر سر سگنل زیادہ ہوتا ہے ، جب ڈیڈ فورک تشکیل دیتے ہیں تو خالی سر سگنل خالی ہوتا ہے۔ اس کے ساتھ ساتھ قیمت اور 200 دن کی اوسط لائن کے تعلقات کے ساتھ مل کر ایک پلٹائیں سگنل ، صرف 200 دن کی اوسط لائن سے اوپر کی قیمت پر گولڈ فورک زیادہ ہوتا ہے ، 200 دن کی اوسط لائن سے نیچے کی قیمت پر ڈیڈ فورک خالی ہوتا ہے ، اس طرح مضبوط رجحان کے دوران غلط سگنل سے بچنے کے لئے۔
اس کا حساب کتاب اس طرح کیا جاتا ہے:
جب MACD پر سگنل لائن سے گزرتا ہے اور MACD اور سگنل لائن بیک وقت 0 سے نیچے ہوتا ہے تو گولڈ فورک کے لئے زیادہ سگنل بنائیں۔ جب MACD کے نیچے سگنل لائن سے گزرتا ہے اور MACD اور سگنل لائن بیک وقت 0 سے اوپر ہوتا ہے تو ڈیڈ فورک کے لئے خالی سگنل بنائیں۔ اس کے علاوہ ، جب قیمت 200 دن کی اوسط لائن سے زیادہ ہو تو گولڈ فورک کے لئے زیادہ کریں ، اور جب قیمت 200 دن کی اوسط لائن سے کم ہو تو ڈیڈ فورک کے لئے خالی کریں۔
خطرے کو کم کرنے کے لئے، مناسب طریقے سے اوسط مدت کو کم کرنے، دوسرے اشارے کے فیصلے کو شامل کرنے، اور نقصانات کو روکنے کے اقدامات کو شامل کرنے کے لئے استعمال کیا جا سکتا ہے.
1.tested on different timeframes from 15m upto 1D, where optimal results where on 4H timeframe in terms of risk adjusted returns
2.optimize fast ma and slow ma so that macd represents cycle, I found 7-21 performs good for 15m chart
3.also tested hull moving average for MACD which gave good results
4.stoploss can also be trailed for better risk management
یہ حکمت عملی مجموعی طور پر بہت آسان اور عملی ہے ، دوہری اشارے کے فیصلے اور قیمت کے فلٹرنگ کے ذریعے اعلی امکانات کے تجارتی سگنل پیدا کرتی ہے ، مارجن کی اعلی شرح ، MACD کا استعمال کرتے ہوئے کلاسیکی پیرامیٹرز کا مجموعہ ، زیادہ سے زیادہ اصلاح نہیں کرتی ہے۔ اصلاح کی گنجائش بہت زیادہ ہے ، اس حکمت عملی کی کارکردگی کو مزید بہتر بنانے کے لئے اوسط پیرامیٹرز کے مجموعے کو ایڈجسٹ کرکے ، دوسرے اشارے کے فیصلے اور نقصانات کو روکنے کے اقدامات میں شامل کرکے مزید اضافہ کیا جاسکتا ہے۔ مجموعی طور پر یہ ایک بنیادی بنیاد پر قائم ہونے والی ایک عام مقدار کی حکمت عملی ہے۔
/*backtest
start: 2024-02-14 00:00:00
end: 2024-02-21 00:00:00
period: 1h
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/
// © Hurmun
//@version=4
strategy("Simple MACD strategy ", overlay=true, margin_long=100, margin_short=100)
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
movinga2 = input(title="movinga 2", type=input.integer, defval=200)
movinga200 = sma(close, movinga2)
plot(movinga200, "MA", color.orange)
longCondition = crossover(macd, signal) and macd < 0 and signal < 0 and close > movinga200
if (longCondition)
strategy.entry("My Long Entry Id", strategy.long)
shortCondition = crossunder(macd, signal) and macd > 0 and signal > 0 and close < movinga200
if (shortCondition)
strategy.entry("My Short Entry Id", strategy.short)
shortProfitPerc = input(title="Short Take Profit (%)", minval=0.0, step=0.1, defval=2) / 100
longProfitPerc = input(title="Long Take Profit (%)", minval=0.0, step=0.1, defval=2) / 100
stoploss = input(title="stoploss in %", minval = 0.0, step=1, defval=2) /100
longStoploss = strategy.position_avg_price * (1 - stoploss)
longExitPrice = strategy.position_avg_price * (1 + longProfitPerc)
shortExitPrice = strategy.position_avg_price * (1 - shortProfitPerc)
shortStoploss = strategy.position_avg_price * (1 + stoploss)
if (strategy.position_size > 0 )
strategy.exit(id="XL TP", limit=longExitPrice, stop=longStoploss)
if (strategy.position_size < 0 )
strategy.exit(id="XS TP", limit=shortExitPrice, stop=shortStoploss)