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

লিকুইডিটি-ওয়েটেড মুভিং এভারেজ ইম্পোমেন্টাম ক্রসওভার কৌশল

লেখক:চাওঝাং, তারিখ: ২০২৫-০১-১৭ ১৫ঃ৪৫ঃ৫৫
ট্যাগঃএলডব্লিউএমএইএমএভিওএলstdevক্রস

 Liquidity-Weighted Moving Average Momentum Crossover Strategy

সারসংক্ষেপ

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

কৌশলগত নীতি

মূল প্রক্রিয়াটি বাজারের তরলতার পরিমাপের উপর নির্ভর করে যা ভলিউম এবং মূল্য আন্দোলনের অনুপাতের মাধ্যমে। বাস্তবায়ন নিম্নলিখিত পদক্ষেপগুলি অনুসরণ করেঃ ১. লিকুইডিটি সূচক গণনা করুনঃ বন্ধ এবং খোলা মূল্যের মধ্যে পরম পার্থক্য দ্বারা বিভক্ত ভলিউম ২. তরলতার সীমা নির্ধারণ করুনঃ ইএমএ এবং স্ট্যান্ডার্ড ডিভিয়েশন ব্যবহার করে অস্বাভাবিক তরলতা সনাক্ত করুন ৩. মূল্যের অ্যারে বজায় রাখুন: তরলতার সীমা লঙ্ঘন হলে রেকর্ড মূল্য 4. চলমান গড় তৈরি করুনঃ তরলতার ইভেন্টগুলির উপর ভিত্তি করে দ্রুত এবং ধীর EMA গুনুন ৫. ট্রেডিং সিগন্যাল তৈরি করুনঃ চলমান গড় ক্রসওভারের মাধ্যমে প্রবেশ এবং প্রস্থান পয়েন্ট নির্ধারণ করুন

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

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

কৌশলগত ঝুঁকি

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

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

  1. ফিল্টার প্রয়োগ করুনঃ
  • ADX এর মত প্রবণতা নিশ্চিতকরণ সূচক যোগ করুন
  • ভুয়া সংকেত ফিল্টার করতে অস্থিরতা সূচক ব্যবহার করুন
  1. এন্ট্রি টাইমিং উন্নত করুনঃ
  • সমর্থন এবং প্রতিরোধের স্তর অন্তর্ভুক্ত করুন
  • ভলিউম ব্রেকআউট নিশ্চিতকরণ বিবেচনা করুন
  1. প্যারামিটার নির্বাচন অপ্টিমাইজ করুনঃ
  • অভিযোজিত পরামিতি বাস্তবায়ন
  • বাজারের অবস্থার উপর ভিত্তি করে গতিশীলভাবে সামঞ্জস্য
  1. ঝুঁকি ব্যবস্থাপনা উন্নত করাঃ
  • স্টপ লস এবং লাভ নেওয়ার ব্যবস্থা যোগ করুন
  • অবস্থান আকার সিস্টেম বাস্তবায়ন

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

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


/*backtest
start: 2019-12-23 08:00:00
end: 2025-01-16 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT","balance":49999}]
*/

//Liquidity ignoring price location

//@version=6
strategy("Liquidity Weighted Moving Averages [AlgoAlpha]", overlay=true, commission_type=strategy.commission.percent, commission_value=0.1, slippage=3)

// Inputs
outlierThreshold = input.int(10, "Outlier Threshold Length")
fastMovingAverageLength = input.int(50, "Fast MA Length")
slowMovingAverageLength = input.int(100, "Slow MA Length")
start_date = input(timestamp("2018-01-01 00:00"), title="Start Date")
end_date = input(timestamp("2069-12-31 23:59"), title="End Date")

// Define liquidity based on volume and price movement
priceMovementLiquidity = volume / math.abs(close - open)

// Calculate the boundary for liquidity to identify outliers
liquidityBoundary = ta.ema(priceMovementLiquidity, outlierThreshold) + ta.stdev(priceMovementLiquidity, outlierThreshold)

// Initialize an array to store liquidity values when they cross the boundary
var liquidityValues = array.new_float(5)

// Check if the liquidity crosses above the boundary and update the array
if ta.crossover(priceMovementLiquidity, liquidityBoundary)
    array.insert(liquidityValues, 0, close)
    if array.size(liquidityValues) > 5
        array.pop(liquidityValues)

// Calculate the Exponential Moving Averages for the close price at the last liquidity crossover
fastEMA = ta.ema(array.size(liquidityValues) > 0 ? array.get(liquidityValues, 0) : na, fastMovingAverageLength)
slowEMA = ta.ema(array.size(liquidityValues) > 0 ? array.get(liquidityValues, 0) : na, slowMovingAverageLength)

// Trading Logic
in_date_range = true
buy_signal = ta.crossover(fastEMA, slowEMA) and in_date_range
sell_signal = ta.crossunder(fastEMA, slowEMA) and in_date_range

// Strategy Entry and Exit
if (buy_signal)
    strategy.entry("Buy", strategy.long)

if (sell_signal)
    strategy.close("Buy")

// Plotting
fastPlot = plot(fastEMA, color=fastEMA > slowEMA ? color.new(#00ffbb, 50) : color.new(#ff1100, 50), title="Fast EMA")
slowPlot = plot(slowEMA, color=fastEMA > slowEMA ? color.new(#00ffbb, 50) : color.new(#ff1100, 50), title="Slow EMA")

// Create a fill between the fast and slow EMA plots with appropriate color based on crossover
fill(fastPlot, slowPlot, fastEMA > slowEMA ? color.new(#00ffbb, 50) : color.new(#ff1100, 50))


সম্পর্কিত

আরো