
এই কৌশলটি ZigZag সূচক ব্যবহার করে সমর্থন এবং প্রতিরোধের লাইন আঁকতে এবং যখন দাম সমর্থন বা প্রতিরোধের লাইনটি ভেঙে যায় তখন অনুকূলভাবে বেশি বা কম কাজ করে।
এই কৌশলটি প্রথমে ZigZag সূচক ব্যবহার করে নির্দিষ্ট প্যারামিটারের অধীনে Z- আকৃতির লাইন আঁকে। তারপরে ZigZag সূচকটি নীচে উপস্থিত হলে একটি সবুজ সমর্থন লাইন আঁকুন, শীর্ষে উপস্থিত হলে একটি লাল প্রতিরোধের লাইন আঁকুন। যখন দামটি সবুজ লাইনটি অতিক্রম করে তখন অতিরিক্ত করুন এবং নীচে লাল লাইনটি অতিক্রম করার সময় খালি করুন।
এই কৌশলটির মূল যুক্তি হলঃ
ইমা ব্যবহার করে তিনবার সূচকীয় মুভিং এভারেজ ক্লোজ প্রাইসের উপর করা হয়, যা সমতল কার্ভ_হ্লস__ পায়।
সমতলীকরণ কার্ভ বাড়ছে কিনা তা নির্ধারণ করার জন্য, যদি এটি বৃদ্ধি পায় এবং পূর্ববর্তী কে লাইনটি বৃদ্ধি পায় না, তবে এটি নীচে হিসাবে এই কে লাইনের সর্বনিম্ন মানটি নিন। যদি এটি হ্রাস পায় এবং পূর্ববর্তী কে লাইনটি বৃদ্ধি পায়, তবে এটি শীর্ষে হিসাবে এই কে লাইনের সর্বোচ্চ মানটি নিন। অন্যথায় NaN।
এই প্রক্রিয়ার পুনরাবৃত্তি ZigZag লাইন zigzag।
যখন zigzag বৃদ্ধি পায়, বর্তমান শীর্ষ বিন্দু হিসাবে চিহ্নিত করুন; যখন এটি হ্রাস পায়, বর্তমান নীচের বিন্দু হিসাবে চিহ্নিত করুন।
যখন ডট বাড়বে, তখন সবুজ রঙে সমর্থন লাইন uplevel আঁকুন; যখন ডট নেমে যাবে, তখন লাল রঙে প্রতিরোধ লাইন dnlevel আঁকুন।
যখন সবুজ রেখা অতিক্রম করে তখন বেশি করুন, যখন লাল রেখা অতিক্রম করে তখন কম করুন।
এই কৌশলটির কিছু সুবিধা রয়েছেঃ
ZigZag সূচক ব্যবহার করে, আপনি মূল সমর্থন ও প্রতিরোধের বিটগুলি চিহ্নিত করতে পারেন, যা প্রায়শই গুরুত্বপূর্ণ।
জিগজ্যাগ মার্কেটের কিছু শব্দ মুছে দেয় এবং ট্রেডিং সিগন্যালকে আরও স্পষ্ট করে তোলে।
ট্রেন্ডের বিপরীত দিকটি ধরার জন্য, আপনি একটি ব্রেক-ইন পদ্ধতিতে প্রবেশ করতে পারেন।
প্রতিরোধের রেখাগুলি সহজ এবং কার্যকরভাবে আঁকা হয়েছে।
কৌশলগত লজিক পরিষ্কার এবং সহজে বোঝা যায়, প্যারামিটার অপ্টিমাইজেশনের জন্য প্রচুর জায়গা রয়েছে।
ট্রেডিং প্রকার এবং সময় চক্রের মধ্যে নমনীয়তা, এবং দৃঢ়তা।
এই কৌশলটির কিছু ঝুঁকিও রয়েছেঃ
ZigZag সূচক প্যারামিটার ভুলভাবে সেট করলে ট্রেডিংয়ের সুযোগ নষ্ট হতে পারে।
প্রতিরোধের স্তরটি ভেঙে গেলে পুনরায় পরীক্ষা করা যেতে পারে। ঝুঁকি নিয়ন্ত্রণের জন্য ক্ষতি বন্ধ করা উচিত।
ব্রেকআপ সিগন্যালগুলি বিভ্রান্তিকর হতে পারে এবং প্রবণতা এবং মডেলের সাথে মিলিত হয়ে যাচাই করা উচিত।
মার্কেটে দীর্ঘমেয়াদী ওভারহেড কম্পন দেখা দিতে পারে, যার ফলে অনেকগুলি অকার্যকর লেনদেনের সম্ভাবনা থাকে।
লেনদেনের খরচ প্রভাব বিবেচনা করা প্রয়োজন এবং খুব ঘন ঘন লেনদেন এড়ানো উচিত।
এর প্রতিক্রিয়াঃ
ZigZag প্যারামিটারগুলিকে অপ্টিমাইজ করুন এবং সর্বোত্তম প্যারামিটার সমন্বয় খুঁজে বের করুন।
ব্রেকডাউনের পর সময়মত স্টপ লস সেট করুন এবং একক ক্ষতি নিয়ন্ত্রণ করুন।
ট্রেন্ড ইন্ডিকেটর এবং অন্যান্য ফিল্টারিং সিগন্যালের সাথে মিলিত, এটি সঠিকতা বাড়ায়।
এই সময়ের মধ্যে কোন লেনদেন না করার জন্য একটি শর্ত যোগ করা হয়েছে।
বিপর্যয়ের মাত্রা যথাযথভাবে শিথিল করা এবং অবৈধ লেনদেন হ্রাস করা।
এই কৌশলটি নিম্নলিখিত দিকগুলি থেকে উন্নত করা যেতে পারেঃ
ZigZag প্যারামিটারগুলিকে অপ্টিমাইজ করুন এবং সর্বোত্তম প্যারামিটার সমন্বয় খুঁজে বের করুন। আপনি পুনরাবৃত্তির মাধ্যমে সর্বোত্তম প্যারামিটার খুঁজে পেতে পারেন।
প্রবেশদ্বারটি ভেঙে ফেলার পরে, সমর্থনকারী প্রতিরোধের অবস্থানটি আবার পরীক্ষা করার সম্ভাবনা বিবেচনা করুন, পুনরায় পরীক্ষার জন্য একটি প্রস্থান লজিক সেট করুন।
ট্রেডিং সিগন্যালের কম সম্ভাব্যতা ফিল্টার করার জন্য ট্রেন্ডিং ইন্ডিকেটর যেমন এমএ এর সাথে মিলিত হয়।
ব্রেকিং সিগন্যাল নিশ্চিত করতে এবং ভুল সিগন্যাল এড়াতে শক্তির পরিমাপ বাড়ানো ইত্যাদি
Lachenbruch দ্বারা বর্ণিত দ্বৈত পদ্ধতিটি সেট করুন (একই সময়ে আরও কাজ করা) ভুল সংকেতগুলি ফিল্টার করতে এবং লাভ করতে।
মেশিন লার্নিং এবং অন্যান্য অ্যালগরিদম ব্যবহার করে প্যারামিটারগুলির গতিশীল অপ্টিমাইজেশান বিবেচনা করুন।
স্টপ লস কৌশল চালু করুন এবং ঝুঁকি নিয়ন্ত্রণের জন্য স্টপ লস পয়েন্ট সেট করুন।
এই কৌশলটি সামগ্রিকভাবে একটি সহজ এবং ব্যবহারিক ঝাঁকুনি বিরতি কৌশল। এটি ZigZag সূচক ব্যবহার করে সমর্থন এবং প্রতিরোধের লাইন আঁকতে এবং যখন দামগুলি এই লাইনগুলিকে ভেঙে দেয় তখন পদক্ষেপ নেয়। কৌশলটি শক্তিশালী অভিযোজনযোগ্য, তবে কিছু ঝুঁকিও রয়েছে। প্যারামিটার অপ্টিমাইজেশন, সিগন্যাল ফিল্টারিং, ঝুঁকি নিয়ন্ত্রণ ইত্যাদির মাধ্যমে কৌশলটি উন্নত করা যেতে পারে। এই ধরনের বিরতি কৌশলটি বাজারের গতিতে সক্রিয় ব্যবসায়ীদের জন্য উপযুক্ত।
/*backtest
start: 2022-10-13 00:00:00
end: 2023-10-19 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//Noro
//2018
//@version=3
// strategy(title = "Noro's ZZ-2 Strategy", shorttitle = "Noro's ZZ-2 Strategy", 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, title = "ZigZag length")
Extreme = input(4, title = "ZigZag extreme")
src = input(close, title = "Source")
showzz = input(false, defval = false, title = "Show ZigZag")
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, Extreme)
zzcol = showzz ? black : na
plot(zigzag, color = zzcol, linewidth = 2)
//Levels
dot = 0.0
dot := zigzag > 0 ? zigzag : dot[1]
uplevel = 0.0
uplevel := dot > dot[1] ? zigzag : uplevel[1]
dnlevel = 0.0
dnlevel := dot < dot[1] ? zigzag : dnlevel[1]
upcol = na
upcol := dot > dot[1] ? na : lime
plot(uplevel, color = upcol, linewidth = 2)
dncol = na
dncol := dot < dot[1] ? na : red
plot(dnlevel, color = dncol, linewidth = 2)
//Trading
lot = 0.0
lot := strategy.position_size != strategy.position_size[1] ? strategy.equity / close * capital / 100 : lot[1]
if dot > 0
strategy.entry("Long", strategy.long, needlong == false ? 0 : lot, stop = uplevel)
strategy.entry("Short", strategy.short, needshort == false ? 0 : lot, stop = dnlevel)