রিসোর্স লোড হচ্ছে... লোডিং...

মাল্টি-ইন্ডিক্টর ক্রস-ট্রেন্ড ট্র্যাকিং এবং ভলিউম-প্রাইস সমন্বিত অভিযোজিত ট্রেডিং কৌশল

লেখক:চাওঝাং, তারিখঃ 2024-11-27 16:58:35
ট্যাগঃএমএসিডিআরএসআইআরভিআইইএমএ

img

সারসংক্ষেপ

এই কৌশলটি একটি প্রবণতা অনুসরণকারী ট্রেডিং সিস্টেম যা একাধিক প্রযুক্তিগত সূচককে একত্রিত করে, মার্কেট ট্রেন্ডগুলি সনাক্ত করতে এমএসিডি, আরএসআই, আরভিআই, ইএমএ এবং ভলিউম নিশ্চিতকরণের ক্রস সংকেতগুলি ব্যবহার করে, ঝুঁকি পরিচালনার জন্য ট্রেলিং স্টপ সহ। কৌশলটি নির্দিষ্ট মূল্য পরিসীমাগুলির মধ্যে পরিচালনা করে এবং ট্রেডিংয়ের নির্ভুলতা এবং নির্ভরযোগ্যতা উন্নত করতে একাধিক সংকেত সংমিশ্রণ ব্যবহার করে।

কৌশলগত নীতি

কৌশলটি বেশ কয়েকটি মূল উপাদানগুলির সাথে একটি বহু-স্তরযুক্ত সংকেত যাচাইকরণ প্রক্রিয়া ব্যবহার করেঃ প্রথমত, এটি সামগ্রিক বাজারের প্রবণতা নির্ধারণের জন্য 20-অবধি এবং 200-অবধি এক্সপোনেনশিয়াল মুভিং গড় (ইএমএ) ব্যবহার করে; দ্বিতীয়ত, এটি প্রবণতা টার্নিং পয়েন্টগুলি ক্যাপচার করতে এমএসিডি সূচক (12,26,9) ক্রসওভার ব্যবহার করে; তৃতীয়ত, এটি ওভারকপ/ওভারসোল্ড শর্তগুলি নিশ্চিত করতে আপেক্ষিক শক্তি সূচক (আরএসআই) এবং আপেক্ষিক অস্থিরতা সূচক (আরভিআই) ব্যবহার করে; অবশেষে, এটি ভলিউম সূচকগুলির মাধ্যমে ব্যবসায়কে বৈধতা দেয়। ক্রয় শর্তগুলির জন্য একই সাথে সন্তুষ্টি প্রয়োজনঃ এমএসিডি সোনার ক্রস, আরএসআই 70 এর নীচে, আরভিআই 0 এর উপরে, উভয়ই ইএমএর উপরে এবং সর্বনিম্ন ভলিউম প্রয়োজনীয়তা। বিক্রয় শর্তগুলি বিপরীত। কৌশলটি গতিশীল স্টপ-ল

কৌশলগত সুবিধা

  1. একাধিক সিগন্যাল যাচাইকরণ ব্যবস্থা ভুয়া ব্রেকআউটের ঝুঁকিকে ব্যাপকভাবে হ্রাস করে
  2. বিভিন্ন বাজারের অবস্থার মধ্যে স্থিতিশীলতার জন্য প্রবণতা অনুসরণকারী এবং দোলনকারী সূচকগুলির সমন্বয় করে
  3. ভলিউম নিশ্চিতকরণ ট্রেডিং সিগন্যালের নির্ভরযোগ্যতা উন্নত করে
  4. ট্রেলিং স্টপ প্রক্রিয়া কার্যকরভাবে সঞ্চিত মুনাফা রক্ষা করে
  5. চরম বাজারের পরিস্থিতিতে দামের সীমাবদ্ধতা অত্যধিক বাণিজ্য রোধ করে
  6. সূচক পরামিতিগুলি বাজারের অবস্থার সাথে নমনীয়ভাবে সামঞ্জস্য করা যেতে পারে
  7. সিস্টেম ভাল স্কেলযোগ্যতা এবং অভিযোজনযোগ্যতা আছে

কৌশলগত ঝুঁকি

  1. একাধিক শর্ত গুরুত্বপূর্ণ বাণিজ্য সুযোগ হারাতে পারে
  2. পার্শ্ববর্তী বাজারে প্রায়শই মিথ্যা সংকেত তৈরি করতে পারে
  3. স্থির মূল্য পরিসীমা সীমাবদ্ধতা গুরুত্বপূর্ণ ব্রেকআউট সুযোগ মিস করতে পারে
  4. প্রযুক্তিগত সূচকগুলির উপর অত্যধিক নির্ভরতা মৌলিক কারণগুলিকে উপেক্ষা করতে পারে
  5. অস্থিরতার সময় ট্রেইলিং স্টপগুলি অকাল সক্রিয় হতে পারে

কৌশল অপ্টিমাইজেশান নির্দেশাবলী

  1. বাজারের অস্থিরতার উপর ভিত্তি করে সূচক পরামিতিগুলিকে গতিশীলভাবে সামঞ্জস্য করার জন্য অভিযোজিত পরামিতি প্রক্রিয়া প্রবর্তন করুন
  2. বাজারের টার্নিং পয়েন্টগুলির পূর্বাভাস উন্নত করতে বাজারের আবেগ সূচক যুক্ত করুন
  3. আরও নমনীয়তার জন্য গতিশীল মূল্য পরিসীমা মূল্যায়ন প্রক্রিয়া বিকাশ
  4. অনুপযুক্ত সেশনের সময় ট্রেডিং এড়াতে সময়কালের ফিল্টার যুক্ত করুন
  5. স্টপ-লস মেকানিজমের অপ্টিমাইজেশন করুন ভোল্টেবিলিটি-ভিত্তিক গতিশীল স্টপগুলি বিবেচনা করে
  6. আরও ব্যাপক পজিশন ম্যানেজমেন্টের জন্য ঝুঁকি ব্যবস্থাপনা মডিউল যোগ করা

সংক্ষিপ্তসার

এই কৌশলটি একাধিক প্রযুক্তিগত সূচকগুলির সংমিশ্রণের মাধ্যমে একটি অপেক্ষাকৃত সম্পূর্ণ ট্রেডিং সিস্টেম তৈরি করে। যদিও এর কিছু সীমাবদ্ধতা রয়েছে, তবে যুক্তিসঙ্গত পরামিতি অপ্টিমাইজেশন এবং ঝুঁকি ব্যবস্থাপনার মাধ্যমে কৌশলটির ভাল ব্যবহারিক মূল্য রয়েছে। ভবিষ্যতে আরও অভিযোজনশীল প্রক্রিয়া এবং ঝুঁকি নিয়ন্ত্রণ ব্যবস্থা প্রবর্তন করে স্থিতিশীলতা এবং লাভজনকতা বাড়ানোর মাধ্যমে ভবিষ্যতে উন্নতি করা যেতে পারে।


/*backtest
start: 2024-10-27 00:00:00
end: 2024-11-26 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("MACD/RSI/RVI/EMA20-200/Volume BTC Auto Trading Bot", overlay=true, margin_long=100, margin_short=100)

// Parámetros de EMA
ema20Length = input(20, title="EMA 20 Length")
ema200Length = input(200, title="EMA 200 Length")

// Parámetros de MACD
macdFastLength = input(12, title="MACD Fast Length")
macdSlowLength = input(26, title="MACD Slow Length")
macdSignalSmoothing = input(9, title="MACD Signal Smoothing")

// Parámetros de RSI y RVI
rsiLength = input(14, title="RSI Length")
rviLength = input(14, title="RVI Length")

// Volumen mínimo para operar
minVolume = input(100, title="Min Volume to Enter Trade")

// Rango de precios de BTC entre 60k y 80k
minPrice = 60000
maxPrice = 80000

// Rango de precios BTC
inPriceRange = close >= minPrice and close <= maxPrice

// Cálculo de las EMAs
ema20 = ta.ema(close, ema20Length)
ema200 = ta.ema(close, ema200Length)
plot(ema20, color=color.green, title="EMA 20")
plot(ema200, color=color.red, title="EMA 200")

// Cálculo del MACD
[macdLine, signalLine, _] = ta.macd(close, macdFastLength, macdSlowLength, macdSignalSmoothing)
macdHist = macdLine - signalLine
plot(macdLine, color=color.blue, title="MACD Line")
plot(signalLine, color=color.orange, title="Signal Line")
hline(0, "MACD Zero Line", color=color.gray)
plot(macdHist, style=plot.style_histogram, color=(macdHist >= 0 ? color.green : color.red), title="MACD Histogram")

// Cálculo del RSI
rsi = ta.rsi(close, rsiLength)
hline(70, "RSI Overbought", color=color.red)
hline(30, "RSI Oversold", color=color.green)
plot(rsi, color=color.purple, title="RSI")

// Cálculo del RVI
numerator = (close - open) + 2 * (close[1] - open[1]) + 2 * (close[2] - open[2]) + (close[3] - open[3])
denominator = (high - low) + 2 * (high[1] - low[1]) + 2 * (high[2] - low[2]) + (high[3] - low[3])
rvi = ta.sma(numerator / denominator, rviLength)
plot(rvi, color=color.blue, title="RVI")

// Volumen
volumeCondition = volume > minVolume

// Condiciones de compra
bullishCondition = ta.crossover(macdLine, signalLine) and rsi < 70 and rvi > 0 and close > ema20 and close > ema200 and inPriceRange and volumeCondition

// Condiciones de venta
bearishCondition = ta.crossunder(macdLine, signalLine) and rsi > 30 and rvi < 0 and close < ema20 and close < ema200 and inPriceRange and volumeCondition

// Configuración del trailing stop loss
trail_stop = input(true, title="Enable Trailing Stop")
trail_offset = input.float(0.5, title="Trailing Stop Offset (%)", step=0.1)

// Funciones para la gestión del Trailing Stop Loss
if (bullishCondition)
    strategy.entry("Buy", strategy.long)
    var float highestPrice = na
    highestPrice := na(highestPrice) ? high : math.max(high, highestPrice)
    strategy.exit("Trailing Stop", "Buy", stop=highestPrice * (1 - trail_offset / 100))

if (bearishCondition)
    strategy.entry("Sell", strategy.short)
    var float lowestPrice = na
    lowestPrice := na(lowestPrice) ? low : math.min(low, lowestPrice)
    strategy.exit("Trailing Stop", "Sell", stop=lowestPrice * (1 + trail_offset / 100))
plotshape(bullishCondition, title="Buy Signal", location=location.belowbar, color=color.new(color.green, 0), style=shape.labelup, text="BUY")
plotshape(bearishCondition, title="Sell Signal", location=location.abovebar, color=color.new(color.red, 0), style=shape.labeldown, text="SELL")


সম্পর্কিত

আরো