
اس حکمت عملی میں انڈیکس کے چلنے والے اوسط اور MACD اشارے کے بریک سگنل شامل ہیں ، جس میں دو لمبے لمبے دورانیے کی پوزیشنیں طے کی گئیں ہیں ، جس میں رجحانات کی پیروی اور الٹ تجارت کے ذریعے منافع حاصل کیا گیا ہے۔
یہ حکمت عملی بنیادی طور پر مندرجہ ذیل اصولوں پر مبنی ہے۔
200 دن کے انڈیکس کی حرکت پذیری اوسط کا حساب لگائیں ، جس سے بڑے رجحان کی سمت کا تعین کیا جاسکے۔ closes قیمت اس اوسط سے زیادہ بولی لگتی ہے ، اور اس سے کم بولی لگتی ہے۔
اعلی ترین قیمت ، کم ترین قیمت ، اور اختتامی قیمت پر مبنی درمیانی قیمتوں کا اشاریہ منتقل اوسط ، اس اوسط کے ساتھ اعلی ترین قیمت اور کم ترین قیمت کے فرق کا حساب کتاب کریں ، اور MACD کالم کی شکل کا نقشہ بنائیں۔
MACD کالم گراف کی 9 دن کی متحرک اوسط کا حساب لگائیں اور MACD سگنل لائن کی تعمیر کریں۔
جب MACD نیچے سے اوپر کی طرف سے سگنل لائن کو توڑتا ہے تو خریدنے کا اشارہ پیدا ہوتا ہے۔ جب اوپر سے نیچے کی طرف سے سگنل لائن کو توڑتا ہے تو فروخت کا اشارہ پیدا ہوتا ہے۔
بڑے رجحان کی سمت کے ساتھ مل کر ، اس بات کا تعین کریں کہ آیا یہ ایک طویل رجحان میں داخل ہوا ہے یا مختصر لائن کا الٹ ہے۔
اس حکمت عملی میں رجحان اور الٹ ٹریڈنگ کا امتزاج کیا گیا ہے ، جس سے طویل مدتی رجحانات کی پیروی کی جاسکتی ہے اور مختصر لائنوں پر الٹ کے مواقع پر قبضہ کیا جاسکتا ہے ، جس سے مارکیٹ کی مختلف صورتحال کا لچکدار جواب دیا جاسکتا ہے۔
خاص طور پر:
اہم رجحانات کی سمت کا تعین کرنے کے لئے 200 دن کی متحرک اوسط کا استعمال کریں ، اور الٹا آپریشن سے گریز کریں۔
MACD اشارے قلیل مدتی قیمتوں میں ہونے والی تبدیلیوں کے لئے زیادہ حساس ہیں ، اور اس سے زیادہ موثر واپسی کے مواقع کا پتہ چلتا ہے۔
مختلف پیرامیٹرز کی ترتیبات کے تحت MACD مجموعہ، ایک سے زیادہ ٹائم فریم کے لئے ایک ٹریڈنگ سگنل کو لاگو کرنے کے لئے.
اسٹاپ نقصان کی حکمت عملی کے ساتھ مل کر ، انفرادی نقصان کو مؤثر طریقے سے کنٹرول کیا جاسکتا ہے۔
اس حکمت عملی میں مندرجہ ذیل خطرات شامل ہیں:
جب طویل اور مختصر مدت کے اشارے ٹریڈنگ سگنل دیتے ہیں تو ، وقت کا فرق ہوسکتا ہے ، جس سے بڑے رجحانات کا جامع فیصلہ کرنے کی ضرورت ہوتی ہے۔
MACD ایک الٹ اشارے کے طور پر ، جب شدید حالات پیش آتے ہیں تو اس کی اشارے کی تشریح کم ہوجاتی ہے۔
اسٹاپ نقصان کا نقطہ غیر مناسب طریقے سے ترتیب دیا گیا ہے ، جو بہت جلد یا بہت زیادہ اسٹاپ نقصان کا سبب بن سکتا ہے۔
اس کے نتیجے میں، ایک بار جب آپ کو ایک بار پھر ایک بار پھر ایک بار پھر ایک بار پھر ایک بار پھر ایک بار پھر ایک بار پھر ایک بار پھر ایک بار پھر ایک بار پھر ایک بار پھر ایک بار پھر.
اس کا حل کیا ہے؟
MACD پیرامیٹرز کو بہتر بنائیں ، اشارے کی حساسیت کو ایڈجسٹ کریں۔
دوسرے اشارے کے ساتھ مل کر ، MACD سگنل کو اندھا دھند سے بچنے سے گریز کریں۔
اسٹاپ نقصان کی حکمت عملی کے پیرامیٹرز کی جانچ اور اصلاح کریں۔
فلٹرنگ کی شرائط میں اضافہ کریں تاکہ غلط سگنل سے بچا جاسکے۔
اس حکمت عملی کو مندرجہ ذیل طریقوں سے بہتر بنایا جاسکتا ہے:
متحرک اوسط اور MACD کے پیرامیٹرز کو بہتر بنائیں تاکہ زیادہ موثر ٹریڈنگ سگنل حاصل کریں۔
کچھ دوسرے اشارے شامل کریں تاکہ حکمت عملی کی تاثیر کو بہتر بنایا جاسکے۔
Set up a position sizing strategy rather than fixed lots for each trade. ہر تجارت کے لئے ایک پوزیشن سائزنگ حکمت عملی قائم کریں ، نہ کہ ایک مقررہ تعداد۔
Add more advanced exit rules rather than just stop loss. Such as profit target, trailing stops etc. مزید اعلی درجے کے خارجی قواعد شامل کریں ، نہ صرف اسٹاپ نقصان ، جیسے اسٹاپ اسٹاپ ، ٹریلنگ اسٹاپ وغیرہ۔
Backtest with more complex fee settings to better simulate real trading environoment. ریئل ٹریڈنگ ماحول کو بہتر انداز میں تخلیق کرنے کے لئے زیادہ پیچیدہ فیس کی ترتیبات کے ساتھ بیک ٹیسٹ کریں۔
walk forward analysis, robustness test among multiple products to enhance reliability. قابل اعتبار کو بڑھانے کے لئے متعدد مصنوعات کے درمیان واک فارورڈ تجزیہ ، مضبوطی کی جانچ
یہ حکمت عملی رجحان اور الٹ تجارت دونوں کو مدنظر رکھتی ہے۔ اس کی کلید اشارے کے پیرامیٹرز کی ترتیب اور بڑے رجحان کی تفہیم کی درستگی میں ہے۔ پیرامیٹرز کی ترتیب کو مستقل طور پر بہتر بنانے ، ہائپرونڈ شرائط کو بڑھانے اور اسی طرح کے ذرائع سے حکمت عملی کو مارکیٹ کے اشارے کے بارے میں زیادہ درست فیصلہ کرنے اور منافع کو زیادہ مستحکم بنانے کے لئے استعمال کیا جاسکتا ہے۔ مجموعی طور پر ، اس حکمت عملی میں اعلی انضمام ہے اور اس میں اطلاق کے اچھے امکانات ہیں۔
/*backtest
start: 2022-12-01 00:00:00
end: 2023-12-07 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("Strategia EMA + Impulse MACD", shorttitle="EMA+IMACD", overlay=true)
// Impostazioni
ema_length = input(200, title="Periodo EMA a 200", type=input.integer)
lengthMA = input(34, title="Periodo EMA", type=input.integer)
lengthSignal = input(9, title="Periodo Signal", type=input.integer)
lengthImpulseMACD = input(12, title="Periodo Impulse MACD", type=input.integer)
lengthImpulseMACDSignal = input(9, title="Periodo Impulse MACD Signal", type=input.integer)
stopLossPeriod = input(20, title="Periodo Stop Loss", type=input.integer)
var float ema200 = na
if bar_index >= ema_length
ema200 := ema(close, ema_length)
// Impulse MACD
var float hi = na
var float lo = na
var float mi = na
var float impulseMACD = na
var float impulseMACDSignal = na
calc_smma(src, len) =>
var float smma = na
if na(smma)
smma := sma(src, len)
else
smma := (smma[1] * (len - 1) + src) / len
smma
calc_zlema(src, length) =>
ema1 = ema(src, length)
ema2 = ema(ema1, length)
d = ema1 - ema2
ema1 + d
if bar_index >= lengthMA
src = hlc3
hi := calc_smma(high, lengthMA)
lo := calc_smma(low, lengthMA)
mi := calc_zlema(src, lengthMA)
impulseMACD := (mi > hi) ? (mi - hi) : (mi < lo) ? (mi - lo) : 0
impulseMACDSignal := sma(impulseMACD, lengthSignal)
// Calcolo dello stop loss
var float stopLossLong = na
var float stopLossShort = na
stopLossLong := lowest(low, stopLossPeriod)
stopLossShort := highest(high, stopLossPeriod)
// Calcolo del take profit
var float takeProfitLong = na
var float takeProfitShort = na
if not na(stopLossLong)
takeProfitLong := close + (close - stopLossLong) * 1.5
if not na(stopLossShort)
takeProfitShort := close - (stopLossShort - close) * 1.5
// Condizioni per aprire una posizione long
longCondition = not na(ema200) and not na(impulseMACD) and not na(impulseMACDSignal) and close > ema200 and impulseMACD < 0 and impulseMACDSignal < 0 and crossover(impulseMACD, impulseMACDSignal)
// Condizioni per aprire una posizione short
shortCondition = not na(ema200) and not na(impulseMACD) and not na(impulseMACDSignal) and close < ema200 and impulseMACD > 0 and impulseMACDSignal > 0 and crossunder(impulseMACD, impulseMACDSignal)
// Disegna l'EMA 200 sul grafico
plot(ema200, color=color.blue, title="EMA 200")
// Imposta lo stop loss e il take profit
strategy.entry("Long", strategy.long, when=longCondition)
strategy.entry("Short", strategy.short, when=shortCondition)
strategy.exit("Take Profit/Stop Loss Long", from_entry="Long", stop=stopLossLong, limit=takeProfitLong)
strategy.exit("Take Profit/Stop Loss Short", from_entry="Short", stop=stopLossShort, limit=takeProfitShort)
// Impulse MACD
plot(0, color=color.gray, linewidth=1, title="MidLine")
plot(impulseMACD, color=color.red, linewidth=2, title="ImpulseMACD", style=plot.style_histogram)
plot(impulseMACDSignal, color=color.blue, linewidth=2, title="ImpulseMACDSignal", style=plot.style_histogram)
// Disegna le operazioni long e short sul grafico
plotshape(series=longCondition, location=location.belowbar, color=color.green, style=shape.triangleup, title="Long Entry")
plotshape(series=shortCondition, location=location.abovebar, color=color.red, style=shape.triangledown, title="Short Entry")