وسائل لوڈ ہو رہے ہیں... لوڈنگ...

چلتی اوسط پر مبنی ایک کثیر مدتی تجارتی حکمت عملی

مصنف:چاؤ ژانگ، تاریخ: 2023-12-26 10:13:34
ٹیگز:

img

جائزہ

یہ حکمت عملی تین اشارے کو یکجا کرتی ہے - گھومنے والی اوسط ، بولنگر بینڈ اور ملٹی پیریڈ اسٹاک ٹریڈنگ کے لئے رشتہ دار طاقت انڈیکس (آر ایس آئی) ۔ اس میں تیز اور سست گھومنے والی اوسط ، آر ایس آئی 50 سے نیچے اور خریدتے وقت بی بی مڈل بینڈ سے نیچے کی قیمت پر غور کیا جاتا ہے۔ اس میں بی بی کے اوپری بینڈ سے اوپر آر ایس آئی 70 اور فروخت کرتے وقت قریب کی قیمت پر غور کیا جاتا ہے۔

حکمت عملی منطق

حکمت عملی بنیادی طور پر فیصلہ سازی کے لئے تین اشارے استعمال کرتی ہے۔ سب سے پہلے ، ایم اے سی ڈی اشارے میں تیز اور سست حرکت پذیر اوسط شامل ہیں۔ سست لائن سے اوپر تیز لائن کے کراس اوورز خرید سگنل پیدا کرتے ہیں۔ دوسرا ، وسط ، اوپری اور نچلے بینڈ کے ساتھ بولنگر بینڈ۔ نچلے بینڈ کے قریب قیمتیں سوئنگ لو میں خریدنے کے مواقع پیش کرتی ہیں ، جبکہ اوپری بینڈ کے قریب قیمتیں سوئنگ ہائی میں فروخت کے مواقع پیش کرتی ہیں۔ آخر میں ، آر ایس آئی قیمت کی کارروائی کی رفتار اور تبدیلی کی شرح کی عکاسی کرتا ہے اور ممکنہ سوئنگ ہائی اور سوئنگ لو کی نشاندہی کرتا ہے۔

خاص طور پر ، اس حکمت عملی میں پہلے سست حرکت پذیر اوسط کے اوپر تیزی سے چلنے والی اوسط کی ضرورت ہوتی ہے ، جس سے یہ ظاہر ہوتا ہے کہ اپ ٹرینڈ کو مضبوط کرنا جو خریدنے کی تجویز کرتا ہے۔ اس میں 50 سے کم آر ایس آئی کی بھی ضرورت ہوتی ہے ، جس سے یہ ظاہر ہوتا ہے کہ قیمت زیادہ فروخت کی سطح میں ہوسکتی ہے اور خریدنے کے مواقع پیش کرتے ہیں۔ اس کے علاوہ ، اس میں بی بی مڈل بینڈ کے نیچے قریب قیمت کی ضرورت ہوتی ہے ، جس سے یہ ظاہر ہوتا ہے کہ قیمت سوئنگ کم اور ایک اچھا انٹری پوائنٹ ہے۔

منافع لینے اور نقصان روکنے کے ل when ، جب آر ایس آئی 70 سے اوپر بڑھتا ہے تو ، اس سے یہ ظاہر ہوتا ہے کہ قیمت زیادہ خریدنے کی سطح پر ہوسکتی ہے اور اپ ٹرینڈ کی رفتار کم ہورہی ہے ، جو منافع لینے کے لئے موزوں ہے۔ نیز جب بند قیمت بی بی کے اوپری بینڈ سے اوپر بڑھتی ہے تو ، یہ منافع لینے کے لئے موزوں ، واپس لینے کے اعلی خطرے کی نشاندہی کرتی ہے۔

فوائد

اس حکمت عملی میں داخلہ اور باہر نکلنے کے نکات کا زیادہ درست طریقے سے فیصلہ کرنے کے لئے حرکت پذیر اوسط ، بولنگر بینڈ اور آر ایس آئی کی طاقتوں کا امتزاج کیا گیا ہے۔ اہم فوائد یہ ہیں:

  1. حرکت پذیر اوسط قیمتوں میں اضافے کی رفتار کا تعین کرتے ہیں۔ بی بی مڈل بینڈ اندراج کے لئے سوئنگ لو کو نشان زد کرتا ہے۔ آر ایس آئی قیمتوں کی چوٹیوں پر خریدنے سے گریز کرتا ہے۔ تینوں مل کر قیمتوں میں اضافے کے دوران نسبتا ideal مثالی خریدنے کے مواقع فراہم کرتے ہیں۔

  2. آر ایس آئی اور بی بی کے اوپری بینڈ کا امتزاج قیمتوں میں اتار چڑھاؤ کو اچھی طرح سے پکڑتا ہے تاکہ زیادہ خریدنے سے بچنے کے ل profit منافع حاصل کیا جاسکے۔

  3. متعدد ادوار کی تشخیص سے منافع کو زیادہ سے زیادہ کرنے کے لئے ٹائم فریموں میں تجارتی مواقع حاصل کرنے کی اجازت ملتی ہے۔

  4. منطقی تجارتی قواعد اس حکمت عملی کو درمیانی سے طویل مدتی سرمایہ کاری کے لئے آسانی سے سمجھنے کے قابل بناتے ہیں۔

خطرات

فیصلے کی درستگی کو بہتر بنانے کے لئے اشارے کو یکجا کرنے کے باوجود، اہم خطرات موجود ہیں:

  1. پیرامیٹر سیٹنگ کے خطرات۔ اشارے کے پیرامیٹرز کو تجرباتی ایڈجسٹمنٹ کی ضرورت ہے۔ ناکافی ایڈجسٹمنٹ حکمت عملی کی کارکردگی کو متاثر کرتی ہے۔

  2. بیل مارکیٹوں کے لئے زیادہ موزوں ہے۔ ریچھ مارکیٹوں میں ، قیمتوں میں کمی کی رفتار اسٹاپ نقصانات کو غیر موثر بنا سکتی ہے۔

  3. پورٹ فولیو کے باوجود واحد اسٹاک کے خطرات برقرار ہیں۔ اثاثوں میں سرمایہ کاری کو متنوع کرنے کی ضرورت ہے۔

  4. ممکنہ طور پر تجارت کی حد سے زیادہ تعدد۔ پیرامیٹر کی بہترین ترتیب کے نتیجے میں کثرت سے تجارت ہوسکتی ہے ، جس سے ٹرانزیکشن کے زیادہ اخراجات اور ٹیکسوں کا سامنا کرنا پڑتا ہے۔

حل:

  1. مناسب سگنل فریکوئنسی حاصل کرنے کے لئے بیک ٹسٹ پر مبنی پیرامیٹرز کو ایڈجسٹ کریں۔

  2. چلتی اوسط ادوار کو اعتدال پسند انٹری فریکوئنسی پر ٹیون کریں اور نقصانات کو کم سے کم کریں۔

  3. ایک اسٹاک کے خطرات کو کم سے کم کرنے کے لئے زیادہ سے زیادہ اثاثوں میں سرمایہ کاری کو متنوع بنائیں۔

  4. تجارتی تعدد کو کم کرنے کے لئے خریداری اور منافع لینے کے معیار کو اعتدال پسند طور پر نرم کریں۔

بہتر مواقع

اصلاحات کے لیے مزید گنجائش باقی ہے:

  1. حجم جیسے مزید فلٹرز شامل کریں تاکہ خریداریوں پر حجم میں اضافہ یقینی بنایا جاسکے ، فیصلے کی درستگی کو بہتر بنایا جاسکے۔

  2. پوزیشن سائزنگ ماڈیولز کو مارکیٹ کے حالات کی بنیاد پر متحرک سائز پوزیشنوں میں شامل کریں.

  3. بڑے ڈیٹا سیٹ پر تربیت کے ذریعے پیرامیٹرز کو خودکار طور پر ٹون کرنے کے لئے گہری سیکھنے کے الگورتھم کا استعمال کریں۔

  4. فیصلوں کے لئے مزید ٹائم فریم متعارف کرانے کے لئے قابل اطلاق کو بڑھانے کے لئے.

نتیجہ

مجموعی طور پر ، حکمت عملی میں واضح ، سمجھنے میں آسان منطق ہے ، غلط اشاروں کو کم کرنے کے لئے اشارے کو ہم آہنگ کرنا۔ پیرامیٹر کی مزید ترتیب اور اشارے شامل کرنا استحکام اور فیصلے کی درستگی کو بڑھانا جاری رکھ سکتا ہے۔ یہ درمیانی سے طویل مدتی سرمایہ کاری اور مقداری تجارت کے لئے موزوں ہے۔ تاہم ، کوئی حکمت عملی مارکیٹ کے خطرات کو مکمل طور پر ختم نہیں کرتی ہے۔ مناسب پوزیشن سائزنگ اور اسٹاپ نقصان کی سطح ہمیشہ ضروری ہوتی ہے۔


/*backtest
start: 2023-11-25 00:00:00
end: 2023-12-25 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//
//@author Alorse
//@version=4
strategy("MACD + BB + RSI [Alorse]", shorttitle="BB + MACD + RSI [Alorse]", overlay=true, pyramiding=0, currency=currency.USD, default_qty_type=strategy.percent_of_equity, initial_capital=1000, default_qty_value=20, commission_type=strategy.commission.percent, commission_value=0.01) 

txtVer = "1.0.1"
version = input(title="Version", type=input.string, defval=txtVer, options=[txtVer], tooltip="This is informational only, nothing will change.")
src = input(title="Source", type=input.source, defval=close)

// MACD
fast_length = input(title="Fast Length", type=input.integer, defval=12, group="MACD")
slow_length = input(title="Slow Length", type=input.integer, defval=26, group="MACD")
signal_length = input(title="Signal Smoothing", type=input.integer, minval = 1, maxval = 50, defval = 9, group="MACD")
sma_source = input(title="Oscillator MA Type", type=input.string, defval="EMA", options=["SMA", "EMA"], group="MACD")
sma_signal = input(title="Signal Line MA Type", type=input.string, defval="EMA", options=["SMA", "EMA"], group="MACD")
fast_ma = sma_source == "SMA" ? sma(src, fast_length) : ema(src, fast_length)
slow_ma = sma_source == "SMA" ? sma(src, slow_length) : ema(src, slow_length)
macd = fast_ma - slow_ma
signal = sma_signal == "SMA" ? sma(macd, signal_length) : ema(macd, signal_length)

// Bollinger Bands
bbGroup = "Bollindger Bands"
length = input(20, title="Length", group=bbGroup)
mult = input(2.0, title="StdDev", minval=0.001, maxval=5, group=bbGroup)

basis = sma(src, length)
dev = mult * stdev(src, length)
upper = basis + dev
lower = basis - dev

// RSI
rsiGroup = "RSI"
lenRSI = input(14, title="Length", minval=1, group=rsiGroup)
// lessThan = input(50, title="Less than", minval=1 , maxval=100, group=rsiGroup)
RSI = rsi(src, lenRSI)

// Strategy Conditions
buy = crossover(macd, signal) and RSI < 50 and close < basis
sell = RSI > 70 and close > upper


// Stop Loss
slGroup = "Stop Loss"
useSL = input(false, title="╔══════   Enable   ══════╗", group=slGroup, tooltip="If you are using this strategy for Scalping or Futures market, we do not recommend using Stop Loss.")
SLbased = input(title="Based on", type=input.string, defval="Percent", options=["ATR", "Percent"], group=slGroup, tooltip="ATR: Average True Range\nPercent: eg. 5%.")
multiATR = input(10.0, title="ATR   Mult", type=input.float, group=slGroup, inline="atr")
lengthATR = input(14, title="Length", type=input.integer, group=slGroup, inline="atr")
SLPercent = input(10, title="Percent", type=input.float, group=slGroup) * 0.01

longStop = 0.0
shortStop = 0.0

if SLbased == "ATR"
    longStop := valuewhen(buy, low, 0) - (valuewhen(buy, rma(tr(true), lengthATR), 0) * multiATR)
    longStopPrev = nz(longStop[1], longStop)
    longStop := close[1] > longStopPrev ? max(longStop, longStopPrev) : longStop

    shortStop := (valuewhen(sell, rma(tr(true), lengthATR), 0) * multiATR) + valuewhen(sell, high, 0)
    shortStopPrev = nz(shortStop[1], shortStop)
    shortStop := close[1] > shortStopPrev ? max(shortStop, shortStopPrev) : shortStop
if SLbased == "Percent"
    longStop  := strategy.position_avg_price * (1 - SLPercent)
    shortStop := strategy.position_avg_price * (1 + SLPercent)

strategy.entry("Long", true, when=buy)
strategy.close("Long", when=sell, comment="Exit")

if useSL
    strategy.exit("Stop Loss", "Long", stop=longStop)


مزید