تین انڈیکس موونگ اوسط اسٹاپ پرافٹ اور اسٹاپ لاس اسٹریٹجی


تخلیق کی تاریخ: 2024-02-04 10:38:42 آخر میں ترمیم کریں: 2024-02-04 10:38:42
کاپی: 0 کلکس کی تعداد: 680
1
پر توجہ دیں
1617
پیروکار

تین انڈیکس موونگ اوسط اسٹاپ پرافٹ اور اسٹاپ لاس اسٹریٹجی

جائزہ

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

حکمت عملی کا اصول

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

اس کے علاوہ ، اس حکمت عملی نے اوسطا حقیقی طول و عرض کے اشارے کا استعمال کرتے ہوئے اسٹاپ اسٹاپ نقصان کا حساب لگایا ہے۔ خاص طور پر ، ایک سے زیادہ اسٹاپ اسٹاپ قیمت + اوسطا حقیقی طول و عرض کے لئے ہے۔*اسٹاپ اسٹیجنگ فیکٹر؛ خالی اسٹاپ اسٹیجنگ لاگ ان قیمت - اوسط حقیقی طول و عرض*روکنے کا عنصر۔ سٹاپ نقصان کا اصول روکنے کے مشابہ ہے۔ یہ ایک طرفہ خطرے کو مؤثر طریقے سے محدود کرسکتا ہے۔

طاقت کا تجزیہ

  1. فیصلے کے اشارے واضح اور آسانی سے سمجھنے کے قابل ہیں۔
  2. اس کے علاوہ ، یہ ایک بہت ہی اہم اور قابل اعتماد ٹول ہے۔
  3. رجحانات کی نگرانی اور خطرے کے کنٹرول کو مدنظر رکھتے ہوئے۔

خطرے کا تجزیہ

  1. کچھ تاخیر کی وجہ سے ، موڑ کو وقت پر پکڑنے میں ناکامی۔
  2. زلزلے کے رجحان میں نقصان کا خطرہ ہے۔
  3. پیرامیٹرز کی ترتیب کو بہتر بنانے کی ضرورت ہے ، ورنہ اس میں بہتری نہیں آئے گی۔

خطرے سے نمٹنے کے اقدامات میں شامل ہیں: اوسط سائیکل کو مناسب طریقے سے کم کرنا ، اسٹاپ اسٹاپ نقصان کے فیکٹر کو بہتر بنانا ، اور فیصلے میں معاون ہونے کے لئے دوسرے اشارے شامل کرنا۔

اصلاح کی سمت

  1. ایک سے زیادہ اوسط اشارے کا مجموعہ ، بہترین پیرامیٹرز تلاش کریں۔
  2. دیگر تکنیکی اشارے جیسے MACD، RSI، وغیرہ کو شامل کریں.
  3. مشین لرننگ الگورتھم کا استعمال کرتے ہوئے پیرامیٹرز کو خود بخود بہتر بنانا۔
  4. اسٹاپ نقصان کی سطح کو حقیقی طول موج کی رفتار کی بنیاد پر ایڈجسٹ کیا گیا ہے۔
  5. جذباتی اشارے کے ساتھ مل کر ، زیادہ سے زیادہ ہجوم سے بچنے کے لئے۔

خلاصہ کریں۔

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

حکمت عملی کا ماخذ کوڈ
/*backtest
start: 2024-01-04 00:00:00
end: 2024-02-03 00:00:00
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
//© Densz
strategy("3EMA with TP & SL (ATR)", overlay=true )

// INPUTS
startTime           =       input(title="Start Time", type = input.time, defval = timestamp("01 Jan 2017 00:00 +0000"))
endTime             =       input(title="End Time", type = input.time, defval = timestamp("01 Jan 2022 00:00 +0000"))

slowEMALength       =       input(title="Slow EMA Length", type = input.integer, defval = 55)
middleEMALength     =       input(title="Middle EMA Length", type = input.integer, defval = 21)
fastEMALength       =       input(title="Fast EMA Length", type = input.integer, defval = 9)

trendMALength       =       input(title="Trend indicator MA Length", type = input.integer, defval = 200)

atrLength           =       input(title="ATR Length", type = input.integer, defval = 14)
tpATRMult           =       input(title="Take profit ATR multiplier", type = input.integer, defval = 3)
slATRMult           =       input(title="Stop loss ATR multiplier", type = input.integer, defval = 2)

rsiLength           =       input(title="RSI Length", type = input.integer, defval = 14)

// Indicators
slowEMA             =       ema(close, slowEMALength)
middEMA             =       ema(close, middleEMALength)
fastEMA             =       ema(close, fastEMALength)
atr                 =       atr(atrLength)

rsiValue            =       rsi(close, rsiLength)
isRsiOB             =       rsiValue >= 80
isRsiOS             =       rsiValue <= 20

sma200              =       sma(close, trendMALength)

inDateRange         =       true

// Plotting
plot(slowEMA, title="Slow EMA", color=color.red, linewidth=2, transp=50)
plot(middEMA, title="Middle EMA", color=color.orange, linewidth=2, transp=50)
plot(fastEMA, title="Fast EMA", color=color.green, linewidth=2, transp=50)

plot(sma200, title="SMA Trend indicator", color=color.purple, linewidth=3, transp=10)
plotshape(isRsiOB, title="Overbought", location=location.abovebar, color=color.red, transp=0, style=shape.triangledown, text="OB")
plotshape(isRsiOS, title="Oversold", location=location.belowbar, color=color.green, transp=0, style=shape.triangledown, text="OS")

float takeprofit    =       na
float stoploss      =       na

var line tpline     =       na
var line slline     =       na

if strategy.position_size != 0
    takeprofit := takeprofit[1]
    stoploss := stoploss[1]
    line.set_x2(tpline, bar_index)
    line.set_x2(slline, bar_index)
    line.set_extend(tpline, extend.none)
    line.set_extend(slline, extend.none)
    
// STRATEGY
goLong  = crossover(middEMA, slowEMA) and inDateRange
closeLong = crossunder(fastEMA, middEMA) and inDateRange


if goLong
    takeprofit := close + atr * tpATRMult
    stoploss := close - atr * slATRMult
    // tpline := line.new(bar_index, takeprofit, bar_index, takeprofit, color=color.green, width=2, extend=extend.right, style=line.style_dotted)
    // slline := line.new(bar_index, stoploss, bar_index, stoploss, color=color.red, width=2, extend=extend.right, style=line.style_dotted)
    // label.new(bar_index, takeprofit, "TP", style=label.style_labeldown)
    // label.new(bar_index, stoploss, "SL", style=label.style_labelup)
    strategy.entry("Long", strategy.long, when = goLong)
    strategy.exit("TP/SL", "Long", stop=stoploss, limit=takeprofit)
if closeLong
    takeprofit := na
    stoploss := na
    strategy.close(id = "Long", when = closeLong)

if (not inDateRange)
    strategy.close_all()