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


সৃষ্টির তারিখ: 2023-12-08 15:49:12 অবশেষে সংশোধন করুন: 2023-12-08 15:49:12
অনুলিপি: 0 ক্লিকের সংখ্যা: 961
1
ফোকাস
1621
অনুসারী

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

ওভারভিউ

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

মূলনীতি

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

বিশেষ করে, নিম্নলিখিত শর্তগুলি পূরণ হলে একটি ক্রয় সংকেত দেওয়া হয়ঃ ১, দ্রুত ইএমএ ধীর ইএমএর চেয়ে বেশি ২, + ডিআই লাইনটি নীচের দিক থেকে এডিএক্স লাইনটি ভেঙে দেয় ৩. ADX ৩০ এর নিচে থ্রেশহোল্ড

নিম্নলিখিত শর্তগুলি পূরণ হলে বিক্রির সংকেত দেওয়া হয়ঃ ১। ADX ৩০ এর উপরে ২, + ডিআই লাইনটি উপরের দিক থেকে নীচে এডিএক্স লাইনের নীচে পড়ে

এই কৌশলটি স্টপ লজিক যুক্ত করে, যখন দাম স্টপ লস থেকে কম হয় তখন সমস্ত অবস্থান থেকে বেরিয়ে আসে।

সুবিধা

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

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

ঝুঁকি

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

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

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

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

এই কৌশলটি আরও উন্নত করার সুযোগ রয়েছেঃ

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

সারসংক্ষেপ

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

কৌশল সোর্স কোড
/*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