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

کثیر اشارے پر مبنی متحرک تجارتی حکمت عملی

مصنف:چاؤ ژانگ، تاریخ: 2024-07-30 17:29:59
ٹیگز:ای ایم اےآر ایس آئیایس ایم اےٹی پیSL

img

جائزہ

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

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

  1. ٹریڈ سگنل جنریشن:

    • لانگ انٹری: ای ایم اے 34 ای ایم اے 89 سے اوپر عبور کرتا ہے ، اور آر ایس آئی 30 سے زیادہ ہے
    • شارٹ انٹری: ای ایم اے 34 ای ایم اے 89 سے نیچے کراس کرتا ہے ، اور آر ایس آئی 70 سے کم ہے
  2. متحرک منافع اور سٹاپ نقصان:

    • جب تجارتی حجم آخری 20 موم بتیوں کے اوسط حجم سے 3 گنا زیادہ ہو تو منافع لینے اور اسٹاپ نقصان کی قیمتوں کو اپ ڈیٹ کریں
    • جب اعلی حجم ہوتا ہے تو منافع لینے اور سٹاپ نقصان کی قیمتوں کو بند کرنے کی قیمت پر مقرر کرتا ہے
  3. فکسڈ اسٹینڈ وقت:

    • منافع یا نقصان سے قطع نظر 15 موم بتیوں کے بعد پوزیشن بند کرنے پر مجبور کرتا ہے
  4. EMA سٹاپ نقصان:

    • EMA34 کو متحرک سٹاپ نقصان لائن کے طور پر استعمال کرتا ہے۔
  5. حجم کی تصدیق:

    • سگنل کی طاقت کی تصدیق اور منافع لینے اور سٹاپ نقصان کی قیمتوں کو اپ ڈیٹ کرنے کے لئے اعلی حجم کے حالات کا استعمال کرتا ہے

حکمت عملی کے فوائد

  1. ملٹی انڈیکیٹر ہم آہنگی: جامع مارکیٹ تجزیہ کے لئے ای ایم اے ، آر ایس آئی ، اور حجم کو یکجا کرتا ہے ، جس سے سگنل کی وشوسنییتا میں بہتری آتی ہے۔

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

  3. فکسڈ ہولڈنگ ٹائم: طویل مدتی ہولڈنگ کے ساتھ منسلک خطرات سے بچنے، ہر تجارت کے لئے نمائش کا وقت کنٹرول.

  4. ای ایم اے متحرک سٹاپ نقصان: متحرک معاونت اور مزاحمت کے طور پر چلتی اوسط کا استعمال کرتا ہے ، جو زیادہ لچکدار اسٹاپ نقصان کی حفاظت فراہم کرتا ہے۔

  5. حجم کی تصدیق: سگنل کی طاقت کی تصدیق کرنے کے لئے حجم کے وقفے کا استعمال کرتا ہے ، جس سے تجارت کی درستگی میں اضافہ ہوتا ہے۔

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

حکمت عملی کے خطرات

  1. متضاد مارکیٹ کا خطرہ: ای ایم اے کراس اوورز سائیڈ ویز ، اتار چڑھاؤ والے بازاروں میں کثرت سے غلط سگنل پیدا کرسکتے ہیں۔

  2. مقررہ RSI کی حد: مقررہ RSI کی حد تمام مارکیٹ کے حالات کے لئے موزوں نہیں ہو سکتا.

  3. حجم کی حد کی حساسیت: 3x اوسط حجم کی حد بہت زیادہ یا کم ہوسکتی ہے، مخصوص مارکیٹوں کے لئے ایڈجسٹمنٹ کی ضرورت ہوتی ہے.

  4. فکسڈ ہولڈنگ ٹائم کی حد: 15 موم بتیوں کا فکسڈ کلوزنگ ٹائم منافع بخش تجارتوں کو قبل از وقت ختم کرسکتا ہے۔

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

حکمت عملی کی اصلاح کی ہدایات

  1. متحرک آر ایس آئی کی حدیں: مارکیٹ کی اتار چڑھاؤ کی بنیاد پر آر ایس آئی کی زیادہ خرید / زیادہ فروخت کی حدوں کو خود بخود ایڈجسٹ کریں۔

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

  3. ہولڈنگ ٹائم مینجمنٹ کو بہتر بنائیں: رجحان کی طاقت اور منافع کی بنیاد پر زیادہ سے زیادہ ہولڈنگ ٹائم کو متحرک طور پر ایڈجسٹ کریں۔

  4. ٹیک منافع اور اسٹاپ نقصان کی ترتیبات کو بہتر بنائیں: مارکیٹ کی اتار چڑھاؤ کی بنیاد پر منافع اور سٹاپ نقصان کی قیمتوں کو متحرک طور پر طے کرنے کے لئے اے ٹی آر اشارے کو شامل کرنے پر غور کریں۔

  5. رجحان فلٹرز شامل کریں: بنیادی رجحان کے خلاف تجارت سے بچنے کے لئے طویل مدتی EMAs یا رجحان اشارے متعارف کروائیں۔

  6. قیمت ایکشن تجزیہ شامل کریں: داخلہ اور باہر نکلنے کی درستگی کو بہتر بنانے کے لئے موم بتی کے نمونوں اور حمایت / مزاحمت کی سطح کو یکجا کریں.

  7. ڈراؤنڈ کنٹرول پر غور کریں: زیادہ سے زیادہ ڈراؤنڈ کی حد مقرر کریں ، جب مخصوص ڈراؤنڈ کی سطح تک پہنچ جائیں تو پوزیشن بند کرنے پر مجبور کریں۔

خلاصہ

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


/*backtest
start: 2024-06-29 00:00:00
end: 2024-07-29 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("EMA & RSI Strategy", overlay=true)

// Install indicators
ema34 = ta.ema(close, 34)
ema89 = ta.ema(close, 89)
ema54 = ta.ema(close, 54)
ema150 = ta.ema(close, 150)
rsi = ta.rsi(close, 14)

// Draw indicator
plot(ema34, color=color.red, title="EMA 34")
plot(ema89, color=color.blue, title="EMA 89")
//plot(ema54, color=color.green, title="EMA 54")
//plot(ema150, color=color.yellow, title="EMA 150")
hline(50, "RSI 50", color=color.gray)
plot(rsi, title="RSI", color=color.orange, linewidth=2, offset=-1)

// condition long or short
longCondition = ta.crossover(ema34, ema89) and rsi > 30
shortCondition = ta.crossunder(ema34, ema89) and rsi < 70

// Add strategy long
if (longCondition)
    strategy.entry("Long", strategy.long)

// Add strategy short
if (shortCondition)
    strategy.entry("Short", strategy.short)

// Calculate the average volume of previous candles
length = 20 // Number of candles to calculate average volume
avgVolume = ta.sma(volume, length)
highVolumeCondition = volume > 3 * avgVolume

// Determine take profit and stop loss prices when there is high volume
var float takeProfitPriceLong = na
var float stopLossPriceLong = na
var float takeProfitPriceShort = na
var float stopLossPriceShort = na

if (longCondition)
    takeProfitPriceLong := na
    stopLossPriceLong := na

if (shortCondition)
    takeProfitPriceShort := na
    stopLossPriceShort := na

// Update take profit and stop loss prices when volume is high
if (strategy.opentrades.entry_id(0) == "Long" and highVolumeCondition)
    takeProfitPriceLong := close
    stopLossPriceLong := close

if (strategy.opentrades.entry_id(0) == "Short" and highVolumeCondition)
    takeProfitPriceShort := close
    stopLossPriceShort := close

// Execute exit orders for buy and sell orders when there is high volume
if (not na(takeProfitPriceLong))
    strategy.exit("Take Profit Long", from_entry="Long", limit=takeProfitPriceLong, stop=stopLossPriceLong)

if (not na(takeProfitPriceShort))
    strategy.exit("Take Profit Short", from_entry="Short", limit=takeProfitPriceShort, stop=stopLossPriceShort)

// Track the number of candles since the order was opened
var int barsSinceEntryLong = na
var int barsSinceEntryShort = na
var bool longPositionClosed = false
var bool shortPositionClosed = false

if (longCondition)
    barsSinceEntryLong := 0
    longPositionClosed := false
if (shortCondition)
    barsSinceEntryShort := 0
    shortPositionClosed := false

if (strategy.opentrades.entry_id(0) == "Long")
    barsSinceEntryLong := barsSinceEntryLong + 1

if (strategy.opentrades.entry_id(0) == "Short")
    barsSinceEntryShort := barsSinceEntryShort + 1

// Check the conditions to close the order at the 15th candle
if (strategy.opentrades.entry_id(0) == "Long" and barsSinceEntryLong >= 15 and not longPositionClosed)
    strategy.close("Long")
    longPositionClosed := true

if (strategy.opentrades.entry_id(0) == "Short" and barsSinceEntryShort >= 15 and not shortPositionClosed)
    strategy.close("Short")
    shortPositionClosed := true

// Thêm stop loss theo EMA34
if (strategy.opentrades.entry_id(0) == "Long")
    strategy.exit("Stop Loss Long", from_entry="Long", stop=ema34)
if (strategy.opentrades.entry_id(0) == "Short")
    strategy.exit("Stop Loss Short", from_entry="Short", stop=ema34)

// Displays buy/sell signals and price levels on the chart
plotshape(series=longCondition, location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(series=shortCondition, location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")

// Displays take profit and stop loss prices on the chart
// var line takeProfitLineLong = na
// var line stopLossLineLong = na
// var line takeProfitLineShort = na
// var line stopLossLineShort = na

// if (not na(takeProfitPriceLong)) 
//     if na(takeProfitLineLong)
//         takeProfitLineLong := line.new(x1=bar_index, y1=takeProfitPriceLong, x2=bar_index + 1, y2=takeProfitPriceLong, color=color.blue, width=1, style=line.style_dashed)
//     else
//         line.set_xy1(takeProfitLineLong, x=bar_index, y=takeProfitPriceLong)
//         line.set_xy2(takeProfitLineLong, x=bar_index + 1, y=takeProfitPriceLong)

// if (not na(stopLossPriceLong)) 
//     if na(stopLossLineLong)
//         stopLossLineLong := line.new(x1=bar_index, y1=stopLossPriceLong, x2=bar_index + 1, y2=stopLossPriceLong, color=color.red, width=1, style=line.style_dashed)
//     else
//         line.set_xy1(stopLossLineLong, x=bar_index, y=stopLossPriceLong)
//         line.set_xy2(stopLossLineLong, x=bar_index + 1, y=stopLossPriceLong)

// if (not na(takeProfitPriceShort)) 
//     if na(takeProfitLineShort)
//         takeProfitLineShort := line.new(x1=bar_index, y1=takeProfitPriceShort, x2=bar_index + 1, y2=takeProfitPriceShort, color=color.blue, width=1, style=line.style_dashed)
//     else
//         line.set_xy1(takeProfitLineShort, x=bar_index, y=takeProfitPriceShort)
//         line.set_xy2(takeProfitLineShort, x=bar_index + 1, y=takeProfitPriceShort)

// if (not na(stopLossPriceShort)) 
//     if na(stopLossLineShort)
//         stopLossLineShort := line.new(x1=bar_index, y1=stopLossPriceShort, x2=bar_index + 1, y2=stopLossPriceShort, color=color.red, width=1, style=line.style_dashed)
//     else
//         line.set_xy1(stopLossLineShort, x=bar_index, y=stopLossPriceShort)
//         line.set_xy2(stopLossLineShort, x=bar_index + 1, y=stopLossPriceShort)

// // Shows annotations for take profit and stop loss prices
// if (not na(takeProfitPriceLong))
//     label.new(x=bar_index, y=takeProfitPriceLong, text="TP Long", style=label.style_label_down, color=color.blue, textcolor=color.white)
// if (not na(stopLossPriceLong))
//     label.new(x=bar_index, y=stopLossPriceLong, text="SL Long", style=label.style_label_up, color=color.red, textcolor=color.white)
// if (not na(takeProfitPriceShort))
//     label.new(x=bar_index, y=takeProfitPriceShort, text="TP Short", style=label.style_label_up, color=color.blue, textcolor=color.white)
// if (not na(stopLossPriceShort))
//     label.new(x=bar_index, y=stopLossPriceShort, text="SL Short", style=label.style_label_down, color=color.red, textcolor=color.white)


متعلقہ

مزید