دوہری متحرک اوسط الٹ ٹریڈنگ حکمت عملی دو مختلف ادوار - قلیل مدتی اور طویل مدتی کے سادہ متحرک اوسط کا حساب لگاتے ہوئے تجارتی سگنل تیار کرتی ہے۔ جب مختصر مدت کی متحرک اوسط طویل مدت کی متحرک اوسط سے تجاوز کرتی ہے تو یہ طویل ہوجاتی ہے ، اور جب مختصر مدت کی متحرک اوسط طویل مدت کی متحرک اوسط سے تجاوز کرتی ہے تو مختصر ہوجاتی ہے۔ یہ حکمت عملی رجحان کی پیروی کرنے والی حکمت عملی کی قسم سے تعلق رکھتی ہے۔
یہ حکمت عملی ان پٹ پیرامیٹرز کے ذریعہ مختلف مدت کی لمبائی کے ساتھ دو آسان حرکت پذیر اوسط طے کرتی ہے ، جس میں مختصر مدت کے ایم اے کو فاسٹ لائن کہا جاتا ہے ، اور طویل مدت کے ایم اے کو سست لائن کہا جاتا ہے۔ فاسٹ لائن قیمت کی تبدیلیوں پر تیزی سے رد عمل ظاہر کرتی ہے اور قلیل مدتی رجحانات کو پکڑتی ہے ، جبکہ سست لائن قلیل مدتی مارکیٹ کے شور کو فلٹر کرتی ہے اور اہم رجحان کو پکڑتی ہے۔ جب فاسٹ لائن سست لائن سے تجاوز کرتی ہے تو ، اس سے یہ ظاہر ہوتا ہے کہ اپ ٹرینڈ مضبوط ہورہا ہے اور ایک لمبی پوزیشن لی گئی ہے۔ جب فاسٹ لائن سست لائن سے نیچے عبور کرتی ہے تو ، اس سے یہ ظاہر ہوتا ہے کہ ڈاؤن ٹرینڈ مضبوط ہورہا ہے اور ایک مختصر پوزیشن لی گئی ہے۔
خاص طور پر ، حکمت عملی دو ایم اے کا حساب اسما (()) فنکشن کا استعمال کرتے ہوئے کرتی ہے ، جس کا نتیجہ ایکس ایس ایم اے (سست لائن) اور فاسٹ لائن کو تفویض کیا جاتا ہے۔ ایم اے کا حساب بند ہونے کی قیمت کی بنیاد پر کیا جاتا ہے۔ جب بند ہونے کی قیمت ایکس ایس ایم اے سے اوپر ہوتی ہے تو ، ایک لمبی پوزیشن لی جاتی ہے۔ جب بند ہونے کی قیمت ایکس ایس ایم اے سے نیچے ہوتی ہے تو ، ایک مختصر پوزیشن لی جاتی ہے۔ حکمت عملی میں تجارتی وقت کی حد بھی طے کی جاتی ہے ، تاکہ تجارتی سگنل صرف مخصوص وقت کی حد میں تیار کیے جائیں۔
ہر تجارت کے لئے منافع اور اسٹاپ نقصان کے پوائنٹس طے کیے جاتے ہیں ، اور جب قیمت منافع یا اسٹاپ نقصان کی سطح تک پہنچ جاتی ہے تو فوری طور پر منافع لیا جاتا ہے یا اسٹاپ نقصان کو متحرک کردیا جاتا ہے۔ دریں اثنا ، حکمت عملی بارکولر فنکشن کا استعمال کرتے ہوئے باروں پر قیمت بمقابلہ ایم اے تعلقات کو پلاٹ کرتی ہے - بار لمبی پوزیشنوں کے دوران سبز ، مختصر پوزیشنوں کے دوران سرخ ، اور فلیٹ ہونے پر نیلے رنگ کے ہوتے ہیں۔
ایم اے پیرامیٹرز کو ایڈجسٹ کرنے ، منافع / اسٹاپ نقصان کی حکمت عملی کو بہتر بنانے ، وقت کی حدود کو ختم کرنے یا زیادہ معقول تجارتی وقت کی مدت طے کرنے سے خطرے کو کم کیا جاسکتا ہے۔ بہت سارے غلط اشاروں سے بچنے کے لئے فلٹر شرائط کے طور پر دوسرے اشارے بھی شامل کیے جاسکتے ہیں۔
دوہری حرکت پذیر اوسط الٹ ٹریڈنگ حکمت عملی مجموعی طور پر ایک آسان اور عملی رجحان کی پیروی کرنے والی حکمت عملی ہے۔ یہ رجحان کی سمت کی نشاندہی کرنے کے لئے ایم اے کے ہموار اثر کا بھرپور فائدہ اٹھاتا ہے ، اور تجارتی سگنل پیدا کرنے کے لئے تیز / سست ایم اے کا استعمال کرتا ہے۔ حکمت عملی کو واضح منطق کے ساتھ نافذ کرنا آسان ہے ، جو ابتدائیوں کے لئے سمجھنے کے لئے موزوں ہے۔ تاہم ، اس سے بہت زیادہ غلط سگنل اور تاخیر کے مسائل پیدا ہوسکتے ہیں۔ حکمت عملی کو زیادہ مضبوط بنانے کے لئے پیرامیٹر کی اصلاح ، معاون اشارے وغیرہ شامل کرکے بہتری لائی جاسکتی ہے۔ اگر مناسب طریقے سے استعمال کیا جائے تو ، یہ حکمت عملی مستحکم منافع فراہم کرسکتی ہے اور جامع جانچ اور اصلاح کے قابل ہے۔
/*backtest start: 2023-09-15 00:00:00 end: 2023-10-15 00:00:00 period: 4h 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/ // © HPotter // Simple SMA strategy // // WARNING: // - For purpose educate only // - This script to change bars colors //@version=4 timeinrange(res, sess) => not na(time(res, sess)) ? 1 : 0 strategy(title="Simple SMA Strategy Backtest", shorttitle="SMA Backtest", precision=6, overlay=true) Resolution = input(title="Resolution", type=input.resolution, defval="D") Source = input(title="Source", type=input.source, defval=close) xSeries = security(syminfo.tickerid, Resolution, Source) Length = input(title="Length", type=input.integer, defval=14, minval=2) TriggerPrice = input(title="Trigger Price", type=input.source, defval=close) TakeProfit = input(50, title="Take Profit", step=0.01) StopLoss = input(20, title="Stop Loss", step=0.01) UseTPSL = input(title="Use Take\Stop", type=input.bool, defval=false) BarColors = input(title="Painting bars", type=input.bool, defval=true) ShowLine = input(title="Show Line", type=input.bool, defval=true) UseAlerts = input(title="Use Alerts", type=input.bool, defval=false) timeframe = input(title="Time Frame", defval="15") timerange = input(title="Time Range", defval="2300-0800") reverse = input(title="Trade Reverse", type=input.bool, defval=false) pos = 0 xSMA = sma(xSeries, Length) pos := iff(TriggerPrice > xSMA, 1, iff(TriggerPrice < xSMA, -1, nz(pos[1], 0))) nRes = ShowLine ? xSMA : na alertcondition(UseAlerts == true and pos != pos[1] and pos == 1, title='Signal Buy', message='Strategy to change to BUY') alertcondition(UseAlerts == true and pos != pos[1] and pos == -1, title='Signal Sell', message='Strategy to change to SELL') alertcondition(UseAlerts == true and pos != pos[1] and pos == 0, title='FLAT', message='Strategy get out from position') possig =iff(pos[1] != pos, iff(reverse and pos == 1, -1, iff(reverse and pos == -1, 1, pos)), 0) if (possig == 1 and timeinrange(timeframe, timerange)) strategy.entry("Long", strategy.long) if (possig == -1 and timeinrange(timeframe, timerange)) strategy.entry("Short", strategy.short) if (timeinrange(timeframe, timerange) == 0) strategy.close_all() if (UseTPSL) strategy.close("Long", when = high > strategy.position_avg_price + TakeProfit, comment = "close buy take profit") strategy.close("Long", when = low < strategy.position_avg_price - StopLoss, comment = "close buy stop loss") strategy.close("Short", when = low < strategy.position_avg_price - TakeProfit, comment = "close buy take profit") strategy.close("Short", when = high > strategy.position_avg_price + StopLoss, comment = "close buy stop loss") nColor = BarColors ? strategy.position_avg_price != 0 and pos == 1 ? color.green :strategy.position_avg_price != 0 and pos == -1 ? color.red : color.blue : na barcolor(nColor) plot(nRes, title='SMA', color=#00ffaa, linewidth=2, style=plot.style_line)