
এই কৌশলটি একটি প্রবণতা ট্র্যাকিং সিস্টেম যা আলফা ট্রেন্ড সূচক এবং কফম্যানের স্বনির্ধারিত চলমান গড় ((KAMA) এর সাথে একত্রিত হয় এবং ঝুঁকি ব্যবস্থাপনা ফাংশনকে একীভূত করে। এই কৌশলটি বাজারের প্রবণতা ক্যাপচার করার জন্য এবং আংশিক স্টপিংয়ের মাধ্যমে ঝুঁকি পরিচালনা করার জন্য তৈরি করা হয়েছে। কৌশলটির মূলটি হল আলফা ট্রেন্ড সূচকটি ব্যবহার করে সামগ্রিক প্রবণতার দিকনির্দেশনা সনাক্ত করা, এবং KAMA আরও সঠিক প্রবেশ এবং প্রস্থান সংকেত উত্পন্ন করার জন্য ব্যবহৃত হয়।
AlphaTrend সূচক গণনা করা হয়ঃ
KAMA এর হিসাবঃ
ট্রেডিং সিগন্যাল জেনারেটঃ
ঝুঁকি ব্যবস্থাপনা:
পজিশন ম্যানেজমেন্টঃ
প্রবণতার সাথে মানিয়ে নিতে সক্ষমঃ আলফা ট্রেন্ড এবং কামার সংমিশ্রণে, এটি বিভিন্ন বাজারের অবস্থার সাথে আরও ভালভাবে মানিয়ে নিতে সক্ষম।
সিগন্যাল নির্ভরযোগ্যতাঃ একাধিক শর্তাদি নিশ্চিতকরণের মাধ্যমে ট্রেডিং সিগন্যালের নির্ভরযোগ্যতা বাড়ানো হয়েছে।
ঝুঁকি ব্যবস্থাপনা উন্নতঃ আংশিক স্টপ-অফ সিস্টেমগুলি অস্থির বাজারে মুনাফা লক করতে সহায়তা করে।
নমনীয় পজিশন ম্যানেজমেন্টঃ অ্যাকাউন্টের নেট মূল্যের উপর ভিত্তি করে পজিশন ম্যানেজমেন্ট পদ্ধতি, বিভিন্ন তহবিলের আকারের সাথে খাপ খায়।
ভাল ভিজ্যুয়ালাইজেশনঃ কৌশলগুলি বিশ্লেষণ এবং পর্যবেক্ষণের জন্য একটি পরিষ্কার গ্রাফিকাল ইন্টারফেস সরবরাহ করে।
ভুয়া ব্রেকিংয়ের ঝুঁকিঃ বাজারের অস্থিরতার মধ্যে প্রায়শই ভুয়া ব্রেকিংয়ের সংকেত পাওয়া যায়।
পিছিয়ে পড়াঃ প্রবণতা অনুসরণ করার কৌশল হিসাবে, প্রবণতা বিপরীত হওয়ার প্রথম দিকে প্রতিক্রিয়া হতে পারে।
প্যারামিটার সংবেদনশীলতা: প্যারামিটার সেটিংসে পলিসির কর্মক্ষমতা সংবেদনশীল হতে পারে।
প্রত্যাহারের ঝুঁকিঃ শক্তিশালী প্রবণতা বাজারে, আংশিক স্টপগুলি বড় ট্রেডিং মিস করতে পারে।
বাজার অভিযোজনযোগ্যতা: কিছু নির্দিষ্ট বাজার অবস্থার অধীনে কৌশলটি দুর্বল হতে পারে।
ডায়নামিক প্যারামিটার পরিবর্তনঃ
মাল্টি টাইম ফ্রেম বিশ্লেষণঃ
ফ্ল্যাশ রেট ফিল্টারঃ
বুদ্ধিমত্তার ক্ষতিঃ
বাজার পরিস্থিতির শ্রেণিবিন্যাসঃ
আলফা ট্রেন্ড এবং কামার সাথে একত্রিত একটি স্বনির্ধারিত প্রবণতা ট্র্যাকিং এবং ঝুঁকি ব্যবস্থাপনা কৌশল একটি বিস্তৃত এবং শক্তিশালী ট্রেডিং সিস্টেম। এটি আলফা ট্রেন্ড সূচক এবং কামার সুবিধাগুলির সমন্বয় করে বাজারের প্রবণতাগুলির একটি সুনির্দিষ্ট ধারনা অর্জন করে। কৌশলটির ঝুঁকি ব্যবস্থাপনা, বিশেষত আংশিক স্টপিং ফাংশন, বিনিয়োগকারীদেরকে অস্থির বাজারে মুনাফা রক্ষার জন্য কার্যকর সরঞ্জাম সরবরাহ করে। কিছু অন্তর্নিহিত ঝুঁকি যেমন মিথ্যা ব্রেক এবং প্যারামিটার সংবেদনশীলতা সত্ত্বেও, ক্রমাগত অপ্টিমাইজেশন এবং সমন্বয়ের মাধ্যমে কৌশলটি একটি নির্ভরযোগ্য ট্রেডিং সিস্টেম হওয়ার সম্ভাবনা রয়েছে। গতিশীল প্যারামিটার সমন্বয় এবং ফ্রেমওয়ার্ক বিশ্লেষণের মতো ভবিষ্যতের অপ্টিমাইজেশনের দিকনির্দেশগুলি আরও শক্তিশালী কৌশলটির অভিযোজনযোগ্যতা এবং স্থিতিশীলতা বাড়িয়ে তুলবে। সামগ্রিকভাবে, এটি একটি গভীর গবেষণা এবং অনুশীল কৌশল, বিশেষত যারা ট্রেডিং পরিচালকদের জন্য
/*backtest
start: 2024-06-01 00:00:00
end: 2024-06-30 23:59:59
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy('AlphaTrend with KAMA and Risk Management', shorttitle='AT+KAMA+RM', overlay=true, format=format.price, precision=2, initial_capital=100000, default_qty_type=strategy.percent_of_equity, default_qty_value=100)
// AlphaTrend Inputs
coeff = input.float(1, 'AT Multiplier', step=0.1)
AP = input.int(14, 'AT Common Period', minval=1)
src = input.source(close, 'AT Source')
showsignals = input.bool(true, 'Show Signals?')
novolumedata = input.bool(false, 'Change calculation (no volume data)?')
// KAMA Inputs
kamaLength = input.int(21, 'KAMA Length', minval=1)
// Risk Management Inputs
profitTarget = input.float(10, 'Profit Target for Partial Exit (%)', minval=1, step=0.1)
// Yeni değişkenler
var float entryPrice = na
var string currentPosition = "flat" // "long", "short", veya "flat"
var float partialExitPrice = na
// AlphaTrend Calculation
ATR = ta.sma(ta.tr, AP)
upT = low - ATR * coeff
downT = high + ATR * coeff
AlphaTrend = 0.0
AlphaTrend := (novolumedata ? ta.rsi(src, AP) >= 50 : ta.mfi(hlc3, AP) >= 50) ? upT < nz(AlphaTrend[1]) ? nz(AlphaTrend[1]) : upT : downT > nz(AlphaTrend[1]) ? nz(AlphaTrend[1]) : downT
// KAMA Calculation
xPrice = close
xvnoise = math.abs(xPrice - xPrice[1])
nAMA = 0.0
nfastend = 0.666
nslowend = 0.0645
nsignal = math.abs(xPrice - xPrice[kamaLength])
// Manual calculation of sum
nnoise = 0.0
for i = 0 to kamaLength-1
nnoise := nnoise + xvnoise[i]
nefratio = nnoise != 0 ? nsignal / nnoise : 0
nsmooth = math.pow(nefratio * (nfastend - nslowend) + nslowend, 2)
nAMA := nz(nAMA[1]) + nsmooth * (xPrice - nz(nAMA[1]))
// Plotting
color1 = AlphaTrend > AlphaTrend[2] ? #00E60F : AlphaTrend < AlphaTrend[2] ? #80000B : AlphaTrend[1] > AlphaTrend[3] ? #00E60F : #80000B
k1 = plot(AlphaTrend, color=color.new(#0022FC, 0), linewidth=3, title='AlphaTrend')
k2 = plot(AlphaTrend[2], color=color.new(#FC0400, 0), linewidth=3)
fill(k1, k2, color=color1)
plot(nAMA, color=color.yellow, linewidth=2, title='KAMA')
// Sinyal koşulları
buyCondition = (ta.crossover(nAMA, AlphaTrend) and ta.crossover(nAMA, AlphaTrend[2])) or
(ta.crossover(nAMA, AlphaTrend) and nAMA > AlphaTrend[2]) or
(ta.crossover(nAMA, AlphaTrend[2]) and nAMA > AlphaTrend)
sellCondition = (ta.crossunder(nAMA, AlphaTrend) and ta.crossunder(nAMA, AlphaTrend[2])) or
(ta.crossunder(nAMA, AlphaTrend) and nAMA < AlphaTrend[2]) or
(ta.crossunder(nAMA, AlphaTrend[2]) and nAMA < AlphaTrend)
// Yeni Sinyaller
buySignal = buyCondition
sellSignal = sellCondition
// Alım satım mantığı
if (buySignal and currentPosition != "long")
if (currentPosition == "short")
strategy.close("Short")
strategy.entry("Long", strategy.long)
entryPrice := close
currentPosition := "long"
partialExitPrice := entryPrice * (1 + profitTarget / 100)
if (sellSignal and currentPosition != "short")
if (currentPosition == "long")
strategy.close("Long")
strategy.entry("Short", strategy.short)
entryPrice := close
currentPosition := "short"
partialExitPrice := entryPrice * (1 - profitTarget / 100)
// Kısmi çıkış mantığı
if (currentPosition == "long" and high >= partialExitPrice)
strategy.close("Long", comment="Partial Exit at " + str.tostring(profitTarget) + "% profit", qty_percent=50)
partialExitPrice := na
if (currentPosition == "short" and low <= partialExitPrice)
strategy.close("Short", comment="Partial Exit at " + str.tostring(profitTarget) + "% profit", qty_percent=50)
partialExitPrice := na
// Plotting signals
plotshape(buySignal and showsignals ? AlphaTrend * 0.9999 : na, title='BUY', text='BUY', location=location.absolute, style=shape.labelup, size=size.tiny, color=color.new(#0022FC, 0), textcolor=color.new(color.white, 0))
plotshape(sellSignal and showsignals ? AlphaTrend * 1.0001 : na, title='SELL', text='SELL', location=location.absolute, style=shape.labeldown, size=size.tiny, color=color.new(color.maroon, 0), textcolor=color.new(color.white, 0))
plotshape(currentPosition == "long" and high >= partialExitPrice ? high : na, title='PARTIAL EXIT LONG', text='PARTIAL', location=location.absolute, style=shape.labeldown, size=size.tiny, color=color.new(color.orange, 0), textcolor=color.new(color.white, 0))
plotshape(currentPosition == "short" and low <= partialExitPrice ? low : na, title='PARTIAL EXIT SHORT', text='PARTIAL', location=location.absolute, style=shape.labelup, size=size.tiny, color=color.new(color.orange, 0), textcolor=color.new(color.white, 0))
// Alerts
alertcondition(buySignal, title='BUY Signal', message='KAMA crossed above AlphaTrend - BUY!')
alertcondition(sellSignal, title='SELL Signal', message='KAMA crossed below AlphaTrend - SELL!')
alertcondition((currentPosition == "long" and high >= partialExitPrice) or (currentPosition == "short" and low <= partialExitPrice), title='Partial Exit', message='Profit target reached - Closing half position!')