ট্রেন্ড-ভিত্তিক কেল্টনার চ্যানেল কৌশল


সৃষ্টির তারিখ: 2023-11-03 16:59:39 অবশেষে সংশোধন করুন: 2023-11-03 16:59:39
অনুলিপি: 0 ক্লিকের সংখ্যা: 795
1
ফোকাস
1621
অনুসারী

ট্রেন্ড-ভিত্তিক কেল্টনার চ্যানেল কৌশল

ওভারভিউ

এই কৌশলটি তিনটি প্রধান সূচকের উপর ভিত্তি করে তৈরি করা হয়েছেঃ প্রবণতা সূচক, কেল্টনার চ্যানেল এবং ডিএম সূচক।

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

নিম্নলিখিত শর্তাবলী পূরণ করলে আপনি আরও বেশি কিছু করতে পারেনঃ

  1. ইএমএ এসএমএ অতিক্রম করে, প্রবণতা নিশ্চিত করে
  2. Candle ওপেন প্রাইস উপরে, ক্লোজ প্রাইস চ্যানেলের ভিতরে
  3. ডিএম সূচক সেট বেঞ্চলাইন থেকে বড়

কৌশলগতভাবে দুটি স্টপ ও একটি স্টপ লস সেট করুন। ট্র্যাকিং স্টপ লস ব্যবহার করে আরও বেশি মুনাফা অর্জনের কথা বিবেচনা করুন।

কৌশল নীতি

প্রবণতা বিচার

ইএমএ এবং এসএমএর গোল্ডেন ফোর্কের মাধ্যমে ট্রেন্ডের দিকনির্দেশনা নির্ধারণ করুন। ইএমএ প্যারামিটারটি 46 এবং এসএমএ প্যারামিটারটি 46। যখন ইএমএ এসএমএ অতিক্রম করে, তখন এটি একটি উত্থান প্রবণতা প্রবেশ করে।

কেল্টনার ট্রানজিট

কার্টনার ট্রানজিট তিনটি লাইনের সমন্বয়ে গঠিতঃ মধ্যম লাইন, উপরের রেল, নিচের রেল। মধ্যম লাইনটি হল সমাপ্তি মূল্যের এসএমএ, দৈর্ঘ্য ৮১। উপরের এবং নীচের রেলগুলি যথাক্রমে মধ্যম লাইনের উপরে এবং নীচে নির্দিষ্ট সংখ্যার গুণিতকগুলির প্রকৃত ভোল্টেজ। এখানে মধ্যম লাইনের উপরে এবং নীচে ২.৫ গুণ ভোল্টেজ সেট করা হয়েছে।

কার্টনার চ্যানেল মূলত মূল্য চ্যানেলের মধ্যে রয়েছে কিনা তা নির্ধারণের জন্য এবং চ্যানেলটি অতিক্রম করার জন্য ব্যবহৃত হয়।

ডিএম সূচক

ডিএম সূচকটিতে তিনটি লাইন রয়েছেঃ এডিএক্স, + ডিআই এবং - ডিআই। + ডিআই উত্থানের শক্তি পরিমাপ করে, - ডিআই পতনের শক্তি পরিমাপ করে। ADX গড় প্রবণতা সূচককে প্রতিনিধিত্ব করে, যা প্রবণতার শক্তিকে প্রতিফলিত করে।

এখানে ADX প্যারামিটারটি 10 এবং DI প্যারামিটারটি 19 হিসাবে সেট করুন। যখন +DI লাইনটি সেট করা বেঞ্চলাইনটি ((ডিফল্ট 27) পরে, এটি শক্তিশালী প্রবণতা বোঝায়, এটি আরও বেশি কাজ করার জন্য উপযুক্ত।

সামর্থ্য বিশ্লেষণ

এই কৌশলটি প্রবণতা, চ্যানেল এবং শক্তিশালী সূচকগুলির সমন্বয় করে, যা মূল্যের গতিপথ এবং বহুমুখী দিকনির্দেশনাকে কার্যকরভাবে নির্ধারণ করতে পারে। এর নিম্নলিখিত সুবিধাগুলি রয়েছেঃ

  1. প্রবণতা নির্ধারণের ক্ষেত্রে এটি খুবই নির্ভুল, যার ফলে বিপরীতমুখী অপারেশন এড়ানো যায়।

  2. কেল্টনার গর্তটি স্পষ্টভাবে দেখা যায়, যা সমর্থন এবং চাপ তৈরি করে।

  3. ডিএম সূচকটি ডাইভারজেন্ট ফোর্স পরিমাপ করে যাতে ডাইভারজেন্ট দিকটি সঠিক হয়।

  4. কৌশলগত শর্ত কঠোর, এবং কার্যকরভাবে জাল ব্রেকআউটগুলিকে ফিল্টার করে।

  5. স্টপ-অফ-লস পয়েন্ট সেট করুন যাতে আপনি লাভের সুযোগ নিতে পারেন।

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

এই কৌশলটির কিছু ঝুঁকিও রয়েছেঃ

  1. প্রবণতা পরিবর্তিত হতে পারে, EMA এসএমএ অতিক্রম করতে পারে, এবং সময়মত প্রত্যাহারের জন্য সতর্কতা অবলম্বন করা উচিত

  2. শক্তিশালী পরিস্থিতিতে, চ্যানেলগুলি ব্যর্থ হতে পারে এবং কঠোরভাবে চাপের স্তর সমর্থন করে না।

  3. ডিএম সূচকটি ভুল সংকেত দিতে পারে, তবে দামের প্রবণতার সাথে একত্রিত হওয়া উচিত।

  4. একটি ভুয়া ব্রেকআউট খেলায় প্রবেশের সূত্রপাত করতে পারে, কিন্তু খুব শীঘ্রই আবার ফিরে আসে, যুক্তিসঙ্গত ক্ষতি বন্ধ করা উচিত।

  5. স্টপ-অফ-লস পয়েন্টগুলিকে ক্রমাগত বাজার পরিবর্তনের সাথে খাপ খাইয়ে নিতে অপ্টিমাইজ করা প্রয়োজন।

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

এই ক্ষেত্রে, নিম্নলিখিত দিকগুলি আরও উন্নত করা যেতে পারেঃ

  1. বিভিন্ন প্রবণতা বিচার পদ্ধতির কার্যকারিতা পরীক্ষা করার জন্য প্যারামিটারগুলি সামঞ্জস্য করুন।

  2. চ্যানেলের প্যারামিটারগুলিকে আরও ভালভাবে অনুকূলিত করা হয়েছে যাতে এটি প্রকৃত পরিসরের কাছাকাছি আসে।

  3. বিভিন্ন DM প্যারামিটার সমন্বয় পরীক্ষা করুন এবং সর্বোত্তম প্যারামিটার নির্বাচন করুন।

  4. ট্রেডিং ভলিউম ফিল্টারিং এর মতো বিভিন্ন প্রবেশের শর্ত সেট করুন।

  5. স্টপ-অফ-লস কৌশলগুলিকে অপ্টিমাইজ করুন, যেমন স্টপ-অফ-ট্র্যাকিং ব্যবহার করে আরও বেশি মুনাফা অর্জন করা।

  6. বিভিন্ন জাতের জন্য পৃথকভাবে পরীক্ষা করা হয়, সর্বোত্তম প্যারামিটার সমন্বয় নির্বাচন করা হয়।

সারসংক্ষেপ

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

কৌশল সোর্স কোড
/*backtest
start: 2022-10-27 00:00:00
end: 2023-11-02 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//Original Idea by: Wunderbit Trading

//@version=4
strategy("Keltner Channel ETH/USDT 1H", overlay=true, initial_capital=1000,pyramiding = 0, currency="USD", default_qty_type=strategy.percent_of_equity, default_qty_value=100,  commission_type=strategy.commission.percent,commission_value=0.07)


/// TREND
ribbon_period = input(46, "Period", step=1)

leadLine1 = ema(close, ribbon_period)
leadLine2 = sma(close, ribbon_period)

// p3 = plot(leadLine1, color= #53b987, title="EMA", transp = 50, linewidth = 1)
// p4 = plot(leadLine2, color= #eb4d5c, title="SMA", transp = 50, linewidth = 1)
// fill(p3, p4, transp = 60, color = leadLine1 > leadLine2 ? #53b987 : #eb4d5c)

//Upward Trend
UT=leadLine2 < leadLine1
DT=leadLine2>leadLine1

///////////////////////////////////////INDICATORS

// KELTNER //
source       = close
useTrueRange = input(true)
length       = input(81, step=1, minval=1)
mult         = input(2.5, step=0.1)

// Calculate Keltner Channel
ma      = sma(source, length)
range   = useTrueRange ? tr : high - low
rangema = sma(range, length)
upper = ma + rangema * mult
lower = ma - rangema * mult

plot(ma, title="Middle", color=color.orange)
p1=plot(upper, title="Upper", color=color.orange)
p2=plot(lower, title="Lower", color=color.orange)
fill(p1,p2)


// DMI INDICATOR //
adxlen = 10 // input(10, title="ADX Smoothing")
dilen = input(19, title="DI Length")
keyLevel = 23// input(23, title="key level for ADX")
dirmov(len) =>
	up = change(high)
	down = -change(low)
	truerange = rma(tr, len)
	plus = fixnan(100 * rma(up > down and up > 0 ? up : 0, len) / truerange)
	minus = fixnan(100 * rma(down > up and down > 0 ? down : 0, len) / truerange)
	[plus, minus]

adx(dilen, adxlen) =>
	[plus, minus] = dirmov(dilen)
	sum = plus + minus
	adx = 100 * rma(abs(plus - minus) / (sum == 0 ? 1 : sum), adxlen)
	[adx, plus, minus]

[sig, up, down] = adx(dilen, adxlen)

benchmark=input(title="DMI Benchmark", defval=27, minval=1,step=1)

// plot(sig, color=color.red, title="ADX")
// plot(up, style=plot.style_histogram, color=color.green, title="+DI")
// plot(down, style=plot.style_histogram, color=color.red, title="-DI")
// plot(keyLevel, color=color.white, title="Key Level")

///////////////////////////////////////////////////////////


////////////////////////////////////////////////////Component Code Start

testStartYear = input(2019, "Backtest Start Year")
testStartMonth = input(1, "Backtest Start Month")
testStartDay = input(1, "Backtest Start Day")
testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,0,0)

testStopYear = input(9999, "Backtest Stop Year")
testStopMonth = input(12, "Backtest Stop Month")
testStopDay = input(31, "Backtest Stop Day")
testPeriodStop = timestamp(testStopYear,testStopMonth,testStopDay,0,0)

testPeriod() => true
///// Component Code Stop //////////////////////////////////////////

//////////////// STRATEGY EXECUTION //////////////////////////

//LONG SET UP
// Take Profit / Stop Loss
long_tp1_inp = input(4.5, title='Long Take Profit 1 %', step=0.1)/100
long_tp1_qty = input(15, title="Long Take Profit 1 Qty", step=1)

long_tp2_inp = input(20, title='Long Take Profit 2%', step=0.1)/100
long_tp2_qty = input(100, title="Long Take Profit 2 Qty", step=1)

long_take_level_1 = strategy.position_avg_price * (1 + long_tp1_inp)
long_take_level_2 = strategy.position_avg_price * (1 + long_tp2_inp)

long_sl_inp = input(4, title='Long Stop Loss %', step=0.1)/100
long_stop_level = strategy.position_avg_price * (1 - long_sl_inp)


// STRATEGY CONDITION
// LONG
entry_long = ((open > lower and open < upper) and close > upper) and up > down and up > benchmark //  and volume[0] > volume[1]
entry_price_long=valuewhen(entry_long,close,0)
SL_long = entry_price_long * (1 - long_sl_inp)
exit_long = (close < lower) or low < SL_long


// STRATEGY EXECUTION
if testPeriod()

    // LONG
    if UT
        strategy.entry(id="Long", long=true, when=entry_long, comment = "INSERT ENTER LONG COMMAND")
    strategy.exit("TP1","Long", qty_percent=long_tp1_qty, limit=long_take_level_1) // PLACE TAKE PROFIT IN WBT BOT SETTINGS 
    strategy.exit("TP2","Long", qty_percent=long_tp2_qty, limit=long_take_level_2) // PLACE TAKE PROFIT IN WBT BOT SETTINGS
    strategy.close(id="Long", when=exit_long, comment= "INSERT EXIT LONG COMMAND")


//PLOT FIXED SLTP LINE
// LONG POSITION
plot(strategy.position_size > 0 ? long_take_level_1 : na, style=plot.style_linebr, color=color.green, linewidth=1, title="1st Long Take Profit")
plot(strategy.position_size > 0 ? long_take_level_2 : na, style=plot.style_linebr, color=color.green, linewidth=1, title="2nd Long Take Profit")
plot(strategy.position_size > 0 ? long_stop_level : na, style=plot.style_linebr, color=color.red, linewidth=1, title="Long Stop Loss")