
এই কৌশলটি একটি জটিল ট্রেডিং সিস্টেম যা প্রযুক্তিগত সূচকগুলির একটি সিরিজকে একত্রিত করে, যা মূলত বাজার প্রবণতা সনাক্ত করতে, গতিশীলতার শক্তি যাচাই করতে এবং মূল্যের অবস্থান নিশ্চিত করার জন্য তিনটি মূল সূচক ব্যবহার করে। এই কৌশলটি মাল্টি-ডাইমেনশনাল বিশ্লেষণের মাধ্যমে লেনদেনের নির্ভুলতা এবং নির্ভরযোগ্যতা বাড়ানোর জন্য বিশেষত মাঝারি এবং দীর্ঘমেয়াদী ট্রেন্ডিংয়ের জন্য উপযুক্ত।
এই কৌশলটি তিন স্তরের যাচাইকরণ পদ্ধতি ব্যবহার করেঃ
ট্রেডিং সিগন্যালের শর্তঃ ক্রয় সংকেতঃ মূল্য পূর্ববর্তী A এবং B ব্যান্ডের উপরে + ADX> 25 + মূল্য VWAP এর উপরে বিক্রয় সংকেতঃ মূল্য পূর্ববর্তী বন্ড A এবং B এর নিচে + ADX> 25 + মূল্য VWAP এর নিচে
ট্রেডিং সিগন্যালের ঘন ঘন উৎপন্ন হতে পারে এবং বাজারের অস্থিরতার কারণে ট্রেডিং খরচ বাড়তে পারে। সমাধানঃ ন্যূনতম হোল্ডিং সময়সীমা বাড়াতে পারেন, অথবা অস্থিরতার পরিমাপকে ফিল্টার করতে পারেন।
মার্কেটের দ্রুত পরিবর্তনের ফলে বড় ধরনের প্রত্যাহারের সম্ভাবনা রয়েছে। সমাধানঃ যথাযথ স্টপ অবস্থান সেট করুন এবং এটিআর সূচক ব্যবহার করে গতিশীলভাবে স্টপ সামঞ্জস্য করার বিষয়টি বিবেচনা করুন।
একাধিক শর্তাদি সেট করার ফলে কিছু সম্ভাব্য লেনদেনের সুযোগ মিস হতে পারে। সমাধানঃ বিভিন্ন বাজারের অবস্থার উপর নির্ভর করে প্যারামিটারগুলিকে গতিশীলভাবে সামঞ্জস্য করা যায়, বা প্যারামিটারগুলির বিভিন্ন সংমিশ্রণ সেট করা যায়।
এই কৌশলটি বেশ কয়েকটি পরিপক্ক এবং নির্ভরযোগ্য প্রযুক্তিগত সূচককে একত্রিত করে একটি সম্পূর্ণ ট্রেডিং সিস্টেম তৈরি করে। এই সিস্টেমটি কেবলমাত্র প্রবণতা সনাক্তকরণ, গতিশীলতা নিশ্চিতকরণ এবং মূল্য যাচাইয়ের মতো মূল কার্যকারিতা নয়, তবে স্পষ্ট ট্রেডিং নিয়ম এবং ঝুঁকি নিয়ন্ত্রণের ব্যবস্থাও সরবরাহ করে। যদিও কিছু অপ্টিমাইজেশনের জায়গা রয়েছে, তবে সামগ্রিকভাবে এটি একটি যৌক্তিকভাবে কঠোর এবং কার্যকর ট্রেডিং কৌশল।
/*backtest
start: 2025-02-12 00:00:00
end: 2025-02-15 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Binance","currency":"TRUMP_USDT"}]
*/
//@version=5
strategy("Ichimoku + ADX + VWAP Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10)
// --- Ichimoku Cloud Parameters ---
conversionPeriods = 9
basePeriods = 26
laggingSpan2Periods = 52
displacement = 26
// --- Ichimoku Cloud Calculation ---
conversionLine = (ta.highest(high, conversionPeriods) + ta.lowest(low, conversionPeriods)) / 2
baseLine = (ta.highest(high, basePeriods) + ta.lowest(low, basePeriods)) / 2
leadingSpanA = (conversionLine + baseLine) / 2
leadingSpanB = (ta.highest(high, laggingSpan2Periods) + ta.lowest(low, laggingSpan2Periods)) / 2
// Plot Ichimoku Cloud
plot(conversionLine, color=color.blue, title="Conversion Line")
plot(baseLine, color=color.red, title="Base Line")
plot(leadingSpanA, color=color.green, title="Leading Span A", offset=displacement)
plot(leadingSpanB, color=color.orange, title="Leading Span B", offset=displacement)
fill(plot(leadingSpanA, offset=displacement), plot(leadingSpanB, offset=displacement),
color=leadingSpanA > leadingSpanB ? color.new(color.green, 90) : color.new(color.red, 90),
title="Ichimoku Cloud")
// --- ADX Calculation ---
adx_length = 14
upMove = high - high[1]
downMove = low[1] - low
plusDM = upMove > downMove and upMove > 0 ? upMove : 0
minusDM = downMove > upMove and downMove > 0 ? downMove : 0
tr = ta.tr(true)
smoothedPlusDM = ta.rma(plusDM, adx_length)
smoothedMinusDM = ta.rma(minusDM, adx_length)
smoothedTR = ta.rma(tr, adx_length)
plusDI = (smoothedPlusDM / smoothedTR) * 100
minusDI = (smoothedMinusDM / smoothedTR) * 100
dx = math.abs(plusDI - minusDI) / (plusDI + minusDI) * 100
adx = ta.rma(dx, adx_length)
// Plot ADX
adx_threshold = 25
hline(adx_threshold, "ADX Threshold", color=color.gray)
plot(adx, color=color.purple, title="ADX")
// --- VWAP Calculation ---
vwap_val = ta.vwap(close)
plot(vwap_val, color=color.blue, title="VWAP", linewidth=2)
// --- Buy and Sell Conditions ---
// Buy Condition:
// - Cena je nad oboma Leading Span A a B
// - ADX je nad prahovou hodnotou
// - Cena je nad VWAP
buyCondition = close > leadingSpanA and close > leadingSpanB and adx > adx_threshold and close > vwap_val
// Sell Condition:
// - Cena je pod oboma Leading Span A a B
// - ADX je nad prahovou hodnotou
// - Cena je pod VWAP
sellCondition = close < leadingSpanA and close < leadingSpanB and adx > adx_threshold and close < vwap_val
// Plot Buy/Sell Signals
plotshape(series=buyCondition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(series=sellCondition, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")
// --- Execute Trades ---
if (buyCondition)
strategy.entry("Long", strategy.long)
if (sellCondition)
strategy.close("Long")