এডিএক্স ক্রসওভার ট্রেন্ড ট্রেডিং কৌশল

লেখক:চাওঝাং, তারিখ: ২০২৩-১২-০৮ ১৫ঃ৪৯ঃ১২
ট্যাগঃ

img

সারসংক্ষেপ

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

নীতিমালা

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

বিশেষ করে, নিম্নলিখিত শর্ত পূরণ হলে একটি ক্রয় সংকেত সক্রিয় করা হবেঃ

  1. দ্রুত EMA ধীর EMA এর উপরে
  2. +DI লাইন ADX লাইনকে উপরে দিয়ে অতিক্রম করে
  3. এডিএক্স মান ৩০-এর নিচে

নিম্নলিখিত শর্ত পূরণ হলে বিক্রয় সংকেত প্রেরণ করা হবেঃ

  1. এডিএক্স মান ৩০-এর সীমা অতিক্রম করে
  2. +ডিআই লাইন ADX লাইন নিচে অতিক্রম করে

এই কৌশলটি স্টপ লস লজিককে অন্তর্ভুক্ত করে, যখন মূল্য স্টপ লস স্তরের নিচে পড়ে তখন সমস্ত পজিশন থেকে বেরিয়ে আসে।

সুবিধা

এই কৌশলটি বাজারের প্রবণতা পরিবর্তনের কার্যকরভাবে নির্ধারণের জন্য ডিআই, এডিএক্স এবং চলমান গড়ের সূচকগুলিকে একত্রিত করে।

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

ঝুঁকি

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

  1. এডিএক্স সূচকটির বিলম্বিত প্রভাব রয়েছে, দামের বিপরীতমুখী হওয়ার জন্য সেরা সময়টি মিস করতে পারে
  2. যখন বাজারের অস্থিরতা বেশি হয় তখন আরও মিথ্যা সংকেত দেখা দিতে পারে
  3. ভুল দ্রুত এবং ধীর EMA সেটিংস অনুপস্থিত ট্রেড বা বৈধ সংকেত ফিল্টারিং হতে পারে
  4. স্টপ লস লেভেল খুব বড় হলে ঝুঁকি কার্যকরভাবে নিয়ন্ত্রণ করতে ব্যর্থ হয়

এই ঝুঁকিগুলি ADX এবং চলমান গড় পরামিতিগুলি অনুকূল করে, স্টপ লস স্তর সামঞ্জস্য করে, নিশ্চিতকরণের জন্য ফিল্টার যুক্ত করে ইত্যাদির মাধ্যমে মোকাবেলা করা যেতে পারে।

উন্নতির সুযোগ

আরও উন্নতির সুযোগ রয়েছে:

  1. সর্বোত্তম সমন্বয় খুঁজে পেতে বিভিন্ন দৈর্ঘ্যের সময়কালের পরীক্ষা ADX
  2. সিগন্যাল নিশ্চিতকরণের জন্য RSI, Bollinger Bands এর মত অন্যান্য সূচক যোগ করুন
  3. স্বয়ংক্রিয়ভাবে পরামিতি এবং নিয়ম অপ্টিমাইজ করার জন্য মেশিন লার্নিং অ্যালগরিদম ব্যবহার করুন
  4. দেরী পর্যায়ে ঝুঁকি হ্রাস করার জন্য স্টপ লস স্তরগুলি গতিশীলভাবে সামঞ্জস্য করুন
  5. প্রবেশ ও প্রস্থান মানদণ্ড আরও শক্তিশালী করার জন্য মাল্টিফ্যাক্টর স্কোরিং মডেল তৈরি করা

সিদ্ধান্ত

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


/*backtest
start: 2022-12-01 00:00:00
end: 2023-12-07 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

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

//@version=4
//ADX strategy
SmoothedTrueRange=0.00
SmoothedDirectionalMovementPlus=0.00
SmoothedDirectionalMovementMinus=0.00


strategy(title="ADX strategy", overlay=false,pyramiding=3, default_qty_type=strategy.fixed, default_qty_value=3,    initial_capital=10000, currency=currency.USD)

len = input(11, title="ADX Length", minval=1)
threshold = input(30, title="threshold", minval=5)

fastEma=input(13, title="Fast EMA",minval=1, maxval=50)
slowEma=input(55, title="Slow EMA",minval=10, maxval=200)
stopLoss =input(8, title="Stop Loss",minval=1)   //


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:= nz(SmoothedTrueRange[1]) - (nz(SmoothedTrueRange[1])/len) + TrueRange

SmoothedDirectionalMovementPlus := nz(SmoothedDirectionalMovementPlus[1]) - (nz(SmoothedDirectionalMovementPlus[1])/len) + DirectionalMovementPlus
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)

plot(DIPlus, color=color.green, title="DI+")
//plot(DIMinus, color=color.red, title="DI-")
plot(ADX, color=color.black, title="ADX")
hline(threshold, color=color.black, linestyle=hline.style_dashed)

fastEmaVal=ema(close,fastEma)
slowEmaVal=ema(close,slowEma)




//long condition
longCondition=  ADX < threshold  and crossover(DIPlus,ADX)  and fastEmaVal > slowEmaVal


barcolor(longCondition ? color.yellow: na)

strategy.entry(id="ADXLE", long=true,  when= longCondition  and strategy.position_size<1) 

barcolor(strategy.position_size>1 ? color.blue: na)
bgcolor(strategy.position_size>1 ? color.blue: na)



//Add
strategy.entry(id="ADXLE", comment="Add", long=true,  when= strategy.position_size>1 and close<strategy.position_avg_price and crossover(DIPlus,ADX) ) 


//calculate stop Loss
stopLossVal =  strategy.position_avg_price -  (strategy.position_avg_price*stopLoss*0.01)

strategy.close(id="ADXLE",comment="SL Exit",    when=close<stopLossVal)   //close all on stop loss


//exit condition
exitCondition=  ADX > threshold  and crossunder(DIPlus,ADX) // and fastEmaVal > slowEmaVal
strategy.close(id="ADXLE",comment="TPExitAll",    qty=strategy.position_size ,   when= exitCondition)   //close all     

আরো