এই ট্রেডিং কৌশলটি ZigZag ট্রেন্ড অনুসরণ কৌশল নামে পরিচিত। এই কৌশলটি ZigZag সূচক ব্যবহার করে মূল্য প্রবণতা সনাক্ত করতে এবং প্রবণতা বিপরীত হওয়ার সময় ট্রেন্ড অনুসরণ করার জন্য একটি অবস্থান খুলতে। কৌশল পাইন কোডে, ZigZag সূচকটি দামের নতুন উচ্চতা এবং নতুন নিম্নতা নিশ্চিত করার জন্য ব্যবহৃত হয়। যখন দাম ZigZag নির্দেশক লাইনটি অতিক্রম করে তখন এটি একটি ট্রেডিং সংকেত হিসাবে কাজ করে।
এই কৌশলটির মূল বিষয় হল মূল্যের চূড়ান্ত পয়েন্টগুলি সনাক্ত করতে এবং মূল্যের প্রবণতা প্রদর্শন করার জন্য ZigZag সূচক ব্যবহার করা। ZigZag সূচকটি উচ্চ এবং নিম্ন মূল্যের এক্সপোনেন্সিয়াল মুভিং গড় দ্বারা গঠিত। বিশেষত, নিম্নলিখিত ধাপে নির্মিতঃ
ইন্ডেক্সাল মুভিং এভারেজ (EMA) যা তিনটা মুভিং এভারেজ নিয়ে গঠিতঃ ফাস্ট লাইন, মিডল লাইন, এবং লো লাইন।
মূল্যায়ন করুন যে দামটি উচ্চতর প্রবণতা রয়েছে কিনা। অর্থাৎ, বর্তমান মধ্যম লাইনটি পূর্ববর্তী কে লাইনের মধ্যম লাইনটির চেয়ে বেশি কিনা।
যদি বর্তমানে একটি উর্ধ্বমুখী প্রবণতা থাকে, তাহলে পূর্ববর্তী তরঙ্গের নিম্নতম থেকে শুরু করে পরিদর্শন চক্রের সর্বনিম্ন মূল্য খুঁজে বের করুন, যা ZigZag-এর মান হিসেবে ব্যবহৃত হবে।
যদি বর্তমানে এটি একটি নেমে যাওয়া প্রবণতা হয়, তাহলে ZigZag এর মান হিসাবে পূর্ববর্তী তরঙ্গের সর্বোচ্চ থেকে শুরু করে পরিদর্শন চক্রের সর্বোচ্চ মূল্য খুঁজে বের করুন।
এইভাবে, একটি ZigZag সূচক তৈরি করা হয়েছে যা মূল্যের ওঠানামার সর্বোচ্চ পয়েন্টকে প্রতিফলিত করে।
এর উপর ভিত্তি করে, আমরা মূল্যের প্রবণতা নির্ধারণের জন্য একটি ZigZag লাইনকে রেফারেন্স হিসাবে ব্যবহার করি। অর্থাৎ, যখন দাম বেড়ে যায় তখন ZigZag নির্দেশক লাইনটি ভেঙে যায়, আমরা বেশি করি; যখন দাম কমে যায় তখন ZigZag নির্দেশক লাইনটি ভেঙে যায়, আমরা খালি করি।
জিগজ্যাগ সূচক ব্যবহার করে দামের প্রবণতা নির্ধারণ এবং মূল্যের চূড়ান্ত পয়েন্টগুলি ট্র্যাক করার জন্য পজিশনিংয়ের সুবিধাগুলি হলঃ
মার্কেট শব্দকে ফিল্টার করে মূল ট্রেন্ডগুলোকে ধরতে সাহায্য করে।
ট্রেডিং সিগন্যালের উপর ভিত্তি করে, দামের উচ্চতা এবং নিম্নের উপর ভিত্তি করে ট্রেডিং সিগন্যালের উপর ভিত্তি করে, আপনি লাভজনকভাবে মুনাফা অর্জন করতে পারেন।
জিগজ্যাগ লাইনগুলি মসৃণ এবং মিথ্যা সংকেত হ্রাস করতে পারে।
ZigZag প্যারামিটারগুলিকে সামঞ্জস্য করে কৌশলগুলিকে সহজেই অপ্টিমাইজ করা যায়।
এই কৌশলটির প্রধান ঝুঁকিগুলো হলঃ
দীর্ঘমেয়াদী অপারেশনগুলি তীব্র অস্থিরতার কারণে বন্দী হতে পারে। এই ক্ষেত্রে, সময়মত ক্ষতি বন্ধ করা প্রয়োজন।
ZigZag সূচকটি প্যারামিটার-সংবেদনশীল। ভুল সেটআপের ফলে ব্যবসায়ের সুযোগ মিস হতে পারে বা মিথ্যা সংকেত তৈরি হতে পারে। প্যারামিটারগুলি যথাযথভাবে পরীক্ষা এবং অপ্টিমাইজ করার প্রয়োজন রয়েছে।
প্রবণতা ট্র্যাকিং কৌশল প্রবণতা উপর আরো নির্ভরশীল। যদি আপনি একটি ঝড়ের সাথে মোকাবিলা করেন তবে এই কৌশলটি কার্যকর হবে না।
উপরের ঝুঁকির জন্য, আমরা স্টপ ম্যানেজমেন্ট সেট আপ করতে পারি যা একক ক্ষতি নিয়ন্ত্রণ করে; একই সাথে পজিশন স্কেলটি সামঞ্জস্য করে, পুরো পজিশনের অপারেশন না করে; এবং অবশেষে, বিভিন্ন ধরণের কৌশলগুলির সমন্বয় ব্যবহার করে।
আমরা এই কৌশলটি আরও উন্নত করতে পারিঃ
ক্রমবর্ধমান স্টপ-অফ মেকানিজম, যেমন একটি চলমান স্টপ-অফ বা মূল্য প্রত্যাহারের মাত্রা সেট করা।
অন্যান্য সূচকগুলির সাথে মিলিতভাবে ফিল্টার করুন। যেমন, একটি শক্তিশালী শক্তি সূচক, যা নিশ্চিত করে যে পর্যাপ্ত গতিশীল শক্তি রয়েছে; বা একটি লেনদেনের পরিমাণ সূচক, যা নিশ্চিত করে যে ভর বৈশিষ্ট্য রয়েছে।
বিভিন্ন বাজার পরিস্থিতির উপর নির্ভর করে বিভিন্ন প্যারামিটার কনফিগারেশন ব্যবহার করা হয়েছে।
বিভিন্ন ইএমএ গড় লাইন প্যারামিটার পরীক্ষা করে সেরা প্যারামিটার সমন্বয় খুঁজে বের করুন।
এই কৌশলটি মূল্যের প্রবণতা নির্ধারণের জন্য ZigZag সূচক ব্যবহার করে এবং চরম পয়েন্টের কাছাকাছি একটি ট্র্যাকিং পজিশন স্থাপন করে। এর সুবিধাগুলি হ’ল এটি সুগম এবং দক্ষতার সাথে লাভজনক। তবে ঝুঁকিগুলি নিয়ন্ত্রণের জন্য ঝুঁকিগুলিও রয়েছে। আমরা স্টপ লস, অপ্টিমাইজেশন প্যারামিটার এবং ট্রেডিং কৌশলগুলির সমন্বয় সেট করতে পারি। এই কৌশলটি মাঝারি-দীর্ঘ প্রবণতা ট্রেডিংয়ের জন্য আরও উপযুক্ত। যদি নিয়ন্ত্রণ এবং সমন্বয় সঠিক হয় তবে স্থিতিশীল আয় অর্জন করা যায়।
/*backtest
start: 2023-12-31 00:00:00
end: 2024-01-07 00:00:00
period: 30m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy(title = "Noro's ZigTrend Strategy v1.0", shorttitle = "ZigTrend 1.0", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0)
//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
capital = input(100, defval = 100, minval = 1, maxval = 10000, title = "Capital, %")
length = input(4)
ExtremeDetection = input(4)
src = input(close)
fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day")
//ZigZag
f_zz(_length, _detection)=>
_hls = ema(ema(ema(src, _length), round(_length*0.66)), round(_length*0.33))
_isRising = _hls >= _hls[1]
_zigzag = _isRising and not _isRising[1] ? lowest(_detection) : not _isRising and _isRising[1] ? highest(_detection) : na
zigzag = f_zz(length, ExtremeDetection)
plot(zigzag, color=black, linewidth=2)
//Signals
up = close > zigzag
dn = close < zigzag
//Trading
lot = 0.0
lot := strategy.position_size != strategy.position_size[1] ? strategy.equity / close * capital / 100 : lot[1]
if up
strategy.entry("Long", strategy.long, needlong == false ? 0 : lot)
if dn
strategy.entry("Short", strategy.short, needshort == false ? 0 : lot)