গতির সূচক দীর্ঘ স্বল্প কৌশল

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

img

সারসংক্ষেপ

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

কৌশলগত যুক্তি

  1. ADX, DMI এবং CCI সূচক গণনা করুন।

    • এডিএক্স প্রবণতা শক্তি পরিমাপ করে। একটি উচ্চ এডিএক্স একটি শক্তিশালী প্রবণতা নির্দেশ করে।
    • ডিএমআই-তে ডিআই+ এবং ডিআই- অন্তর্ভুক্ত রয়েছে। ডিআই+ আপট্রেন্ড শক্তি দেখায় এবং ডিআই- ডাউনট্রেন্ড শক্তি দেখায়। যদি ডিআই+ ডিআই- এর চেয়ে বড় হয় তবে এটি একটি আপট্রেন্ড এবং বিপরীত।
    • সিসিআই ওভারকুপ/ওভারসোল্ড লেভেলকে মূল্যায়ন করে। -১০০ এর নিচে ওভারসোল্ড এবং ১০০ এর উপরে ওভারসোল্ড।
  2. ট্রেন্ডের দিকনির্দেশনা নির্ধারণ করুন।

    • যখন ডিআই+ ডিআই-এর উপরে অতিক্রম করে, তখন একটি উর্ধ্বমুখী প্রবণতা চিহ্নিত হয়।
    • যখন ডিআই- ডিআই+ এর নিচে অতিক্রম করে, তখন একটি ডাউনট্রেন্ড চিহ্নিত করা হয়।
  3. অবস্থান প্রবেশ করান.

    • যখন আপট্রেন্ড গঠন হয়, ADX উচ্চ, এবং CCI < -100, দীর্ঘ যান।
    • যখন ডাউনট্রেন্ড তৈরি হয়, ADX উচ্চ হয়, এবং CCI > 100, শর্ট যান।
  4. স্টপ লস সহ পজিশনের প্রস্থান।

    • যখন ডিআই- ডিআই+ এর নিচে চলে যায়, তখন বাইরে বেরিয়ে আসুন।
    • যখন সংক্ষিপ্ত হয়, যখন ডিআই + ডিআই-এর উপরে অতিক্রম করে তখন বেরিয়ে আসে।

সুবিধা বিশ্লেষণ

  1. ADX দুর্বল প্রবণতার সময় ট্রেডিং ফিল্টার করে।

  2. ডিএমআই ট্রেন্ড সনাক্তকরণে ভুল হ্রাস করে।

  3. সিসিআই-র অতিরিক্ত সম্প্রসারণে প্রবেশ করা সময়কে উন্নত করে এবং ঝুঁকি হ্রাস করে।

  4. গতির সূচক একত্রিত করা সঠিকতা বৃদ্ধি করে।

  5. ট্রেড প্রতি স্টপ লস লস সীমাবদ্ধ করে।

ঝুঁকি এবং হেজিং

  1. যখন ADX কমে যায় তখন Whipsaws। ADX প্রান্তিক বৃদ্ধি যথেষ্ট শক্তিশালী প্রবণতা নিশ্চিত করতে।

  2. ডিএমআই প্রবণতার প্রাথমিক পর্যায়ে পিছিয়ে আছে। সুযোগ চিহ্নিত করতে অন্যান্য বিশ্লেষণ যোগ করুন।

  3. উচ্চ সিসিআই ট্রেডিং ফ্রিকোয়েন্সি। শব্দ ফিল্টার করতে সিসিআই পরিসীমা প্রসারিত করুন।

  4. সামগ্রিক পজিশন ঝুঁকি সুরক্ষার জন্য লং এবং শর্ট পজিশনের সময় মার্কেট নিউট্রাল স্ট্র্যাটেজি বিবেচনা করুন।

অপ্টিমাইজেশান নির্দেশাবলী

  1. শব্দ ফিল্টারিং এবং ধরা প্রবণতা ভারসাম্য ADX পরামিতি অপ্টিমাইজ করুন।

  2. বিলম্ব এবং সংবেদনশীলতা ভারসাম্য বজায় রাখার জন্য ডিএমআই পরামিতিগুলি অপ্টিমাইজ করুন।

  3. ট্রেডিং ফ্রিকোয়েন্সি এবং বিপরীতমুখী পরিস্থিতির প্রতিরোধের জন্য সিসিআই পরামিতিগুলি অপ্টিমাইজ করা।

  4. আরও ভাল সংমিশ্রণের জন্য সূচক যোগ বা সংশোধন পরীক্ষা করুন। উদাহরণস্বরূপ MACD, KDJ।

  5. সেরা ফিট খুঁজে পেতে বিভিন্ন পণ্য পরীক্ষা করুন।

  6. ট্রেন্ড ট্র্যাকিং বজায় রেখে ঝুঁকি নিয়ন্ত্রণের জন্য পজিশন সাইজিং অপ্টিমাইজ করুন।

সিদ্ধান্ত

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


/*backtest
start: 2023-10-02 00:00:00
end: 2023-11-01 00:00:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("ADX Strategy", currency = "USD", initial_capital = 1000, overlay=true)
adxlen = input(9, title="ADX Smoothing")
dilen = input(14, title="DI Length")
ADX_Entry = input(25, title="ADX Entry")
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)
cci_length = input(20, minval=1, title="CCI Length")
cci_ma = sma(close, cci_length)
cci = (close - cci_ma) / (0.015 * dev(close, cci_length))

stop_loss = syminfo.mintick * 100


open_longs = strategy.position_size > 0
open_shorts = strategy.position_size < 0

possible_bull = false
possible_bull := not open_longs ? (possible_bull[1] and not crossunder(up,down) ? true : false) : false
possible_bear = false
possible_bear := not open_shorts ? (possible_bear[1] and not crossunder(down,up) ? true : false) : false



bool bull_entry = crossover(up,down)

if(bull_entry and up < ADX_Entry and cci < 0)
	possible_bull := true
	bull_entry := false

if(possible_bull and up > ADX_Entry and cci > -100)
	bull_entry := true

bool bear_entry = crossover(down,up)

if(bear_entry and down < ADX_Entry and cci > 0)
	possible_bear := true
	bear_entry := false

if(possible_bear and down >= ADX_Entry and cci < 100)
	bear_entry := true

strategy.entry("Short", strategy.short, qty = 1,comment="Short", stop=high[1] - stop_loss, when = bear_entry)
strategy.entry("Long", strategy.long, qty = 1, comment="Long", stop=low[1] - stop_loss, when = bull_entry )	

strategy.close_all(when = (open_shorts and (crossover(up,down) or crossover(sig,down))) or (open_longs and ( crossover(down,up) or crossover(sig, up))))


আরো