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

রিয়েল-টাইম মূল্য কৌশল সহ কিনুন এবং বিক্রয় ভলিউম হিটম্যাপ

লেখক:চাওঝাং, তারিখঃ 2024-05-24 17:16:58
ট্যাগঃইএমএভিডব্লিউএপিএসএমএ

img

সারসংক্ষেপ

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

কৌশল নীতি

  1. বর্তমান মূল্য এবং একটি নির্দিষ্ট মূল্য পরিসীমা শতাংশের উপর ভিত্তি করে বিভিন্ন মূল্য স্তর গণনা করুন।
  2. গত সময়ের প্রতিটি মূল্য স্তরে ক্রয় এবং বিক্রয় পরিমাণ গণনা করুন এবং ক্রমাগত ক্রয় এবং বিক্রয় পরিমাণ গণনা করুন।
  3. ক্রমাগত ক্রয় এবং বিক্রয় পরিমাণের উপর ভিত্তি করে লেবেলগুলির রঙ নির্ধারণ করুন এবং লেবেলগুলি বা গ্রাফের আকারগুলি প্রদর্শন করুন।
  4. রিয়েল-টাইম মূল্য কার্ভ গ্রাফ করুন।
  5. EMA এবং VWAP এর মতো সূচক গণনা করুন।
  6. মূল্য এবং ইএমএ এবং ভিডাব্লুএপি-র মতো সূচকগুলির মধ্যে সম্পর্ক, পাশাপাশি ভলিউম শর্তগুলির উপর ভিত্তি করে ক্রয়ের শর্তগুলি পূরণ হয়েছে কিনা তা নির্ধারণ করুন। যদি পূরণ করা হয় এবং কোনও পূর্ববর্তী সংকেত ঘটেনি তবে একটি ক্রয় সংকেত তৈরি করুন।
  7. দাম এবং ইএমএ এর মতো সূচকগুলির মধ্যে সম্পর্কের ভিত্তিতে বিক্রয় শর্তগুলি পূরণ হয়েছে কিনা তা নির্ধারণ করুন, পাশাপাশি ভলিউম শর্তগুলি। যদি পূরণ করা হয় এবং কোনও পূর্ববর্তী সংকেত ঘটে না থাকে তবে একটি বিক্রয় সংকেত তৈরি করুন। যদি দুটি ধারাবাহিক লাল মোমবাতি থাকে এবং কোনও পূর্ববর্তী সংকেত ঘটে না থাকে তবে একটি বিক্রয় সংকেতও তৈরি করুন।
  8. বর্তমান ক্রয় এবং বিক্রয় শর্তের অবস্থা রেকর্ড করুন এবং সংকেত ঘটনার অবস্থা আপডেট করুন।

সুবিধা বিশ্লেষণ

  1. ভলিউম হিটম্যাপ এবং রিয়েল-টাইম মূল্যের সংমিশ্রণটি মূল্য এবং ভলিউম বিতরণের একটি স্বজ্ঞাত প্রদর্শন সরবরাহ করে, যা ট্রেডিং সিদ্ধান্তের জন্য একটি রেফারেন্স হিসাবে কাজ করে।
  2. EMA এবং VWAP-এর মতো সূচক অন্তর্ভুক্ত করা কৌশলটির অবস্থার মূল্যায়নকে সমৃদ্ধ করে এবং এর নির্ভরযোগ্যতা বাড়ায়।
  3. কৌশলটি মূল্য, সূচক এবং ভলিউম সহ একাধিক কারণ বিবেচনা করে, ক্রয় এবং বিক্রয় সংকেতগুলিকে আরও বিস্তৃত এবং শক্তিশালী করে তোলে।
  4. কৌশলটি বিভ্রান্তিকর সংকেতগুলি হ্রাস করার জন্য ক্রমাগত পুনরাবৃত্তি সংকেত উত্পাদন এড়াতে সংকেত উত্পাদনের সীমাবদ্ধতা নির্ধারণ করে।

ঝুঁকি বিশ্লেষণ

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

অপ্টিমাইজেশান দিক

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

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

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


/*backtest
start: 2024-04-01 00:00:00
end: 2024-04-30 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Buy and Sell Volume Heatmap with Real-Time Price Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10)

// Settings for Volume Heatmap
lookbackPeriod = input.int(100, title="Lookback Period")
baseGreenColor = input.color(color.green, title="Buy Volume Color")
baseRedColor = input.color(color.red, title="Sell Volume Color")
priceLevels = input.int(10, title="Number of Price Levels")
priceRangePct = input.float(0.01, title="Price Range Percentage")
labelSize = input.string("small", title="Label Size", options=["tiny", "small", "normal", "large"])
showLabels = input.bool(true, title="Show Volume Labels")

// Initialize arrays to store price levels, buy volumes, and sell volumes
var float[] priceLevelsArr = array.new_float(priceLevels)
var float[] buyVolumes = array.new_float(priceLevels)
var float[] sellVolumes = array.new_float(priceLevels)

// Calculate price levels around the current price
for i = 0 to priceLevels - 1
    priceLevel = close * (1 + (i - priceLevels / 2) * priceRangePct)  // Adjust multiplier for desired spacing
    array.set(priceLevelsArr, i, priceLevel)

// Calculate buy and sell volumes for each price level
for i = 0 to priceLevels - 1
    level = array.get(priceLevelsArr, i)
    buyVol = 0.0
    sellVol = 0.0
    for j = 1 to lookbackPeriod
        if close[j] > open[j]
            if close[j] >= level and low[j] <= level
                buyVol := buyVol + volume[j]
        else
            if close[j] <= level and high[j] >= level
                sellVol := sellVol + volume[j]
    array.set(buyVolumes, i, buyVol)
    array.set(sellVolumes, i, sellVol)

// Determine the maximum volumes for normalization
maxBuyVolume = array.max(buyVolumes)
maxSellVolume = array.max(sellVolumes)

// Initialize cumulative buy and sell volumes for the current bar
cumulativeBuyVol = 0.0
cumulativeSellVol = 0.0

// Calculate colors based on the volumes and accumulate volumes for the current bar
for i = 0 to priceLevels - 1
    buyVol = array.get(buyVolumes, i)
    sellVol = array.get(sellVolumes, i)
    cumulativeBuyVol := cumulativeBuyVol + buyVol
    cumulativeSellVol := cumulativeSellVol + sellVol

// Determine the label color based on which volume is higher
labelColor = cumulativeBuyVol > cumulativeSellVol ? baseGreenColor : baseRedColor

// Initialize variables for plotshape
var float shapePosition = na
var color shapeColor = na

if cumulativeBuyVol > 0 or cumulativeSellVol > 0
    if showLabels
        labelText = "Buy: " + str.tostring(cumulativeBuyVol) + "\nSell: " + str.tostring(cumulativeSellVol)
        label.new(x=bar_index, y=high + (high - low) * 0.02, text=labelText, color=color.new(labelColor, 0), textcolor=color.white, style=label.style_label_down, size=labelSize)
    else
        shapePosition := high + (high - low) * 0.02
        shapeColor := labelColor

// Plot the shape outside the local scope
plotshape(series=showLabels ? na : shapePosition, location=location.absolute, style=shape.circle, size=size.tiny, color=shapeColor)

// Plot the real-time price on the chart
plot(close, title="Real-Time Price", color=color.blue, linewidth=2, style=plot.style_line)

// Mpullback Indicator Settings
a = ta.ema(close, 9)
b = ta.ema(close, 20)
e = ta.vwap(close)
volume_ma = ta.sma(volume, 20)

// Calculate conditions for buy and sell signals
buy_condition = close > a and close > e and volume > volume_ma and close > open and low > a and low > e // Ensure close, low are higher than open, EMA, and VWAP
sell_condition = close < a and close < b and close < e and volume > volume_ma

// Store the previous buy and sell conditions
var bool prev_buy_condition = na
var bool prev_sell_condition = na

// Track if a buy or sell signal has occurred
var bool signal_occurred = false

// Generate buy and sell signals based on conditions
buy_signal = buy_condition and not prev_buy_condition and not signal_occurred
sell_signal = sell_condition and not prev_sell_condition and not signal_occurred

// Determine bearish condition (close lower than the bottom 30% of the candle's range)
bearish = close < low + (high - low) * 0.3

// Add sell signal when there are two consecutive red candles and no signal has occurred
two_consecutive_red_candles = close[1] < open[1] and close < open
sell_signal := sell_signal or (two_consecutive_red_candles and not signal_occurred)

// Remember the current conditions for the next bar
prev_buy_condition := buy_condition
prev_sell_condition := sell_condition

// Update signal occurred status
signal_occurred := buy_signal or sell_signal

// Plot buy and sell signals
plotshape(buy_signal, title="Buy", style=shape.labelup, location=location.belowbar, color=color.green, text="Buy", textcolor=color.white)
plotshape(sell_signal, title="Sell", style=shape.labeldown, location=location.abovebar, color=color.red, text="Sell", textcolor=color.white)

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

if sell_signal
    strategy.entry("Sell", strategy.short)


সম্পর্কিত

আরো