ভরবেগ ট্র্যাকিং এবং প্রবণতা কৌশলের উপর ভিত্তি করে


সৃষ্টির তারিখ: 2024-02-22 17:27:18 অবশেষে সংশোধন করুন: 2024-02-22 17:27:18
অনুলিপি: 0 ক্লিকের সংখ্যা: 550
1
ফোকাস
1617
অনুসারী

ভরবেগ ট্র্যাকিং এবং প্রবণতা কৌশলের উপর ভিত্তি করে

ওভারভিউ

এই কৌশলটির মূল ধারণাটি হ’ল সুপার ট্রেন্ড সূচক এবং গড় ট্রেন্ড সূচক ((ADX) সংযুক্ত করা, যাতে প্রবণতার বিচার এবং অনুসরণ করা যায়। সুপার ট্রেন্ড সূচকটি বর্তমান মূল্য প্রবণতার দিকনির্দেশনা সনাক্ত করতে ব্যবহৃত হয়, এডিএক্স প্রবণতার শক্তি নির্ধারণের জন্য ব্যবহৃত হয়, কেবলমাত্র শক্তিশালী প্রবণতার অধীনেই লেনদেন করা হয়। তদতিরিক্ত, কৌশলটি কে-লাইন সত্তা রঙ, লেনদেনের পরিমাণের সূচক ইত্যাদির মাধ্যমে নিশ্চিতকরণ তৈরি করে, তুলনামূলকভাবে সম্পূর্ণ লেনদেনের নিয়ম তৈরি করে।

সামগ্রিকভাবে, এই কৌশলটি একটি প্রবণতা-অনুসরণ কৌশল, যার উদ্দেশ্য হল একটি স্পষ্ট প্রবণতা ধরতে, যা সমন্বয় এবং কম্পনের দ্বারা বিঘ্নিত হয় না।

কৌশল নীতি

  1. সুপারট্রেন্ডিং সূচক ব্যবহার করে দামের প্রবণতার দিক নির্ণয় করুন। যখন দাম সুপারট্রেন্ডিং হয় তখন মাল্টিহেড সংকেত এবং যখন সুপারট্রেন্ডিং হয় তখন ফাঁকা সংকেত।

  2. ট্রেন্ডের শক্তি নির্ধারণের জন্য ADX ব্যবহার করুন। ট্রেডিং সিগন্যাল কেবল তখনই তৈরি হয় যখন ADX সেট থ্রেশহোল্ডের চেয়ে বড় হয়, যাতে অনিশ্চিত সময়গুলি ফিল্টার করা যায়।

  3. K-রেখার বস্তুর রঙের বিচার বর্তমান উত্থান বা পতন প্যাটার্নের জন্য করা হয়, যা সুপার ট্রেন্ড সূচকগুলির সাথে মিলিত হয়, যা নিশ্চিতকরণ গঠন করে।

  4. ট্রেডিং ভলিউম বাড়ানো একটি নিশ্চিতকরণ সংকেত। শুধুমাত্র যখন ট্রেডিং ভলিউম বৃদ্ধি পায় তখনই পজিশন করা হয়।

  5. মুনাফা এবং ঝুঁকি নিয়ন্ত্রণের জন্য স্টপ লস এবং স্টপ স্টপ সেট করুন।

  6. সেট করা ডিস্কের সময় শেষ হওয়ার আগে সব পজিশন খালি করে ফেলুন।

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

  1. ট্রেন্ডিং এর ক্ষেত্রে, ট্রেন্ডিং এর ক্ষেত্রে, ট্রেন্ডিং এর ক্ষেত্রে, ট্রেন্ডিং এর ক্ষেত্রে, ট্রেন্ডিং এর ক্ষেত্রে, ট্রেন্ডিং এর ক্ষেত্রে।

  2. এই নীতিমালার প্যারামিটার কম, সহজেই বোঝা যায় এবং বাস্তবায়ন করা যায়।

  3. ঝুঁকি কন্ট্রোল সেট করা হয়েছে, স্টপ লস এবং স্টপ থামানো হয়েছে।

  4. একাধিক সূচক ব্যবহার করে নিশ্চিতকরণ, মিথ্যা সংকেত কমাতে পারে।

কৌশলগত ঝুঁকি

  1. এই প্যাকেজের গভীরতা সংশোধন করলে ক্ষতির আশঙ্কা রয়েছে।

  2. তবে, কিছু কিছু স্টক এর পারফরম্যান্স পরিবর্তিত হলে তা তীব্রভাবে বিপরীতমুখী হতে পারে।

  3. ব্ল্যাক সোয়ান ইভেন্ট নীতির ক্ষেত্রে একটি বড় পরিবর্তন।

ঝুঁকি মোকাবেলার উপায়ঃ

  1. ADX প্যারামিটারগুলি যথাযথভাবে সামঞ্জস্য করুন যাতে নিশ্চিত হয় যে কেবলমাত্র শক্তিশালী প্রবণতার সময়ই লেনদেন করা হয়।

  2. একক ক্ষতি নিয়ন্ত্রণে স্টপ লস বাড়ানো।

  3. নীতি এবং গুরুত্বপূর্ণ ঘটনাগুলি ঘনিষ্ঠভাবে পর্যবেক্ষণ করুন, এবং যখন প্রয়োজন হয় তখন ক্ষয়ক্ষতি বন্ধ করুন।

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

  1. বিভিন্ন সুপারট্রেন্ড প্যারামিটার সমন্বয় পরীক্ষা করা যেতে পারে, যার ফলে একটি স্থিতিশীল সংকেত উৎপন্ন হয়।

  2. ADX এর বিভিন্ন প্যারামিটার পরীক্ষা করে সেরা প্যারামিটার সমন্বয় নির্ধারণ করা যায়।

  3. অন্যান্য সূচক যেমন উর্ধ্বগতি, ব্রিন ব্যান্ড ইত্যাদি যোগ করা যেতে পারে, যা ভুয়া সংকেতকে আরও কমিয়ে দেয়।

  4. প্রবণতা ভেঙে গেলে সময়মত ক্ষতি বন্ধ করার জন্য ব্রেকিং এবং অন্যান্য কৌশল ব্যবহার করা যেতে পারে।

সারসংক্ষেপ

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

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

//Intraday Strategy Template

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © vikris

//@version=4
strategy("[VJ]Hulk Smash Intra", overlay=true, calc_on_every_tick = false, pyramiding=0,default_qty_type=strategy.percent_of_equity, default_qty_value=100,initial_capital=2000)

// ********** Strategy inputs - Start **********

// Used for intraday handling
// Session value should be from market start to the time you want to square-off 
// your intraday strategy
// Important: The end time should be at least 2 minutes before the intraday
// square-off time set by your broker
var i_marketSession = input(title="Market session", type=input.session, 
     defval="0915-1455", confirm=true)

// Make inputs that set the take profit % (optional)
longProfitPerc = input(title="Long Take Profit (%)",
     type=input.float, minval=0.0, step=0.1, defval=1) * 0.01

shortProfitPerc = input(title="Short Take Profit (%)",
     type=input.float, minval=0.0, step=0.1, defval=1) * 0.01
     
// Set stop loss level with input options (optional)
longLossPerc = input(title="Long Stop Loss (%)",
     type=input.float, minval=0.0, step=0.1, defval=0.5) * 0.01

shortLossPerc = input(title="Short Stop Loss (%)",
     type=input.float, minval=0.0, step=0.1, defval=0.5) * 0.01    
     
var float i_multiplier = input(title = "ST Multiplier", type = input.float, 
     defval = 2, step = 0.1, confirm=true)

var int i_atrPeriod = input(title = "ST ATR Period", type = input.integer, 
     defval = 10, confirm=true)     
     
len = input(title="ADX Length", type=input.integer, defval=14)
th = input(title="ADX Threshold", type=input.integer, defval=20)
adxval = input(title="ADX Momemtum Value", type=input.integer, defval=25)     



// ********** Strategy inputs - End **********


// ********** Supporting functions - Start **********

// A function to check whether the bar or period is in intraday session
barInSession(sess) => time(timeframe.period, sess) != 0

// ********** Supporting functions - End **********


// ********** Strategy - Start **********

[superTrend, dir] = supertrend(i_multiplier, i_atrPeriod)

colResistance = dir == 1 and dir == dir[1] ? color.new(color.red, 0) : color.new(color.red, 100)
colSupport = dir == -1 and dir == dir[1] ? color.new(color.green, 0) : color.new(color.green, 100)


// Super Trend Long/short condition
stlong = close > superTrend
stshort = close < superTrend



// Figure out take profit price
longExitPrice  = strategy.position_avg_price * (1 + longProfitPerc)
shortExitPrice = strategy.position_avg_price * (1 - shortProfitPerc)

// Determine stop loss price
longStopPrice  = strategy.position_avg_price * (1 - longLossPerc)
shortStopPrice = strategy.position_avg_price * (1 + shortLossPerc)

//Vol Confirmation
vol = volume > volume[1]


//Candles colors
greenCandle = (close > open)
redCandle = (close < open)

// See if intraday session is active
bool intradaySession = barInSession(i_marketSession)

// Trade only if intraday session is active




TrueRange = max(max(high - low, abs(high - nz(close[1]))), abs(low - nz(close[1])))
DirectionalMovementPlus = high - nz(high[1]) > nz(low[1]) - low ? max(high - nz(high[1]), 0) : 0
DirectionalMovementMinus = nz(low[1]) - low > high - nz(high[1]) ? max(nz(low[1]) - low, 0) : 0


SmoothedTrueRange = 0.0
SmoothedTrueRange := nz(SmoothedTrueRange[1]) - nz(SmoothedTrueRange[1]) / len + TrueRange
SmoothedDirectionalMovementPlus = 0.0
SmoothedDirectionalMovementPlus := nz(SmoothedDirectionalMovementPlus[1]) - 
   nz(SmoothedDirectionalMovementPlus[1]) / len + DirectionalMovementPlus
SmoothedDirectionalMovementMinus = 0.0
SmoothedDirectionalMovementMinus := nz(SmoothedDirectionalMovementMinus[1]) - 
   nz(SmoothedDirectionalMovementMinus[1]) / len + DirectionalMovementMinus

DIPlus = SmoothedDirectionalMovementPlus / SmoothedTrueRange * 100
DIMinus = SmoothedDirectionalMovementMinus / SmoothedTrueRange * 100
DX = abs(DIPlus - DIMinus) / (DIPlus + DIMinus) * 100
ADX = sma(DX, len)

// a = plot(DIPlus, color=color.green, title="DI+", transp=100)
// b = plot(DIMinus, color=color.red, title="DI-", transp=100)

//Final Long/Short Condition
longCondition = stlong and redCandle and vol and ADX>adxval
shortCondition = stshort and greenCandle and vol and ADX >adxval



//Long Strategy - buy condition and exits with Take profit and SL
if (longCondition and intradaySession)
    stop_level = longStopPrice
    profit_level = longExitPrice
    strategy.entry("My Long Entry Id", strategy.long)
    strategy.exit("TP/SL", "My Long Entry Id",stop=stop_level, limit=profit_level)
    


//Short Strategy - sell condition and exits with Take profit and SL
if (shortCondition and intradaySession)
    stop_level = shortStopPrice
    profit_level = shortExitPrice
    strategy.entry("My Short Entry Id", strategy.short)
    strategy.exit("TP/SL", "My Short Entry Id", stop=stop_level, limit=profit_level)
    
 
 
// Square-off position (when session is over and position is open)
squareOff = (not intradaySession) and (strategy.position_size != 0)
strategy.close_all(when = squareOff, comment = "Square-off")

// ********** Strategy - End **********