এই নিবন্ধটি
এই কৌশলটির মূলটি হ'ল দামের চরম পয়েন্টগুলি সনাক্ত করতে এবং দামের প্রবণতা প্রদর্শন করতে জিগজ্যাগ সূচকটি ব্যবহার করা। জিগজ্যাগ সূচকটি উচ্চ এবং নিম্ন দামের এক্সপোনেনশিয়াল মুভিং এভারেজ (ইএমএ) নিয়ে গঠিত। বিশেষত, এটি নিম্নলিখিত পদক্ষেপগুলি নিয়ে গঠিতঃ
তিনটি চলমান গড় রেখা সহ বন্ধ মূল্যের এক্সপোনেন্সিয়াল চলমান গড় ইএমএ গণনা করুনঃ দ্রুত রেখা, মাঝারি রেখা এবং ধীর রেখা।
দামগুলি আপট্রেন্ডে রয়েছে কিনা তা বিচার করুন। অর্থাৎ, বর্তমান মধ্যরেখা পূর্ববর্তী কে-রেখার মধ্যরেখার চেয়ে বেশি কিনা।
যদি এটি বর্তমানে ঊর্ধ্বমুখী প্রবণতায় থাকে, তবে সনাক্তকৃত চক্রের মধ্যে নিম্ন পয়েন্টগুলির পূর্ববর্তী তরঙ্গের শুরু থেকে গণনা করা সর্বনিম্ন মূল্যটি জিগজ্যাগের মান হিসাবে সন্ধান করুন।
যদি এটি বর্তমানে নিম্নমুখী প্রবণতা হয়, তাহলে সনাক্তকৃত চক্রের মধ্যে উচ্চ পয়েন্টগুলির পূর্ববর্তী তরঙ্গের শুরু থেকে গণনা করা সর্বোচ্চ মূল্যটি জিগজ্যাগের মান হিসাবে সন্ধান করুন।
এইভাবে, দামের ওঠানামা এর চরম পয়েন্ট প্রতিফলিত করে ZigZag সূচক গঠিত হয়।
এই ভিত্তিতে, আমরা দামের প্রবণতা বিচার করার জন্য একটি রেফারেন্স হিসাবে জিগজ্যাগ লাইন ব্যবহার করি। অর্থাৎ, যখন দাম বেড়ে যায় এবং জিগজ্যাগ সূচক লাইনটি ভেঙে যায়, আমরা দীর্ঘ যাই; যখন দাম পড়ে এবং জিগজ্যাগ সূচক লাইনটি ভেঙে যায়, আমরা শর্ট যাই।
পজিশন প্রতিষ্ঠার সময় মূল্যের প্রবণতা নির্ধারণ এবং মূল্যের চরম ট্র্যাক করার জন্য জিগজ্যাগ সূচক ব্যবহারের সুবিধাগুলি হলঃ
বাজারের গোলমালকে কার্যকরভাবে ফিল্টার করতে পারে এবং প্রধান প্রবণতা ক্যাপচার করতে পারে।
নতুন উচ্চতা এবং নিম্নতার উপর প্রতিষ্ঠিত ট্রেডিং সংকেতগুলি দক্ষতার সাথে লাভ করতে পারে।
জিগজ্যাগ লাইনগুলি তুলনামূলকভাবে মসৃণ, যা মিথ্যা সংকেত হ্রাস করতে পারে।
ZigZag পরামিতি সমন্বয় করে কৌশল অপ্টিমাইজ করা সহজ।
এই কৌশলটির প্রধান ঝুঁকিগুলি হলঃ
দীর্ঘমেয়াদী চলমান বাজারে হিংস্র ওঠানামা কারণে ফাঁদে পড়তে পারে। এই সময়ে সময়মত স্টপ লস প্রয়োজন।
জিগজ্যাগ সূচকগুলি পরামিতিগুলির প্রতি সংবেদনশীল। অনুপযুক্ত সেটিংস ট্রেডিং সুযোগগুলি মিস করতে পারে বা মিথ্যা সংকেত তৈরি করতে পারে। পরামিতিগুলি পরীক্ষা করা এবং যথাযথভাবে অনুকূলিতকরণ করা দরকার।
ট্রেন্ড ট্র্যাকিং কৌশলগুলি ট্রেন্ডিং মার্কেটের উপর বেশি নির্ভর করে। যদি পাশের পরিসীমা সীমাবদ্ধ থাকে তবে এই কৌশলটির কার্যকারিতা দুর্বল।
উপরোক্ত ঝুঁকিগুলির প্রতিক্রিয়া হিসাবে, আমরা একক ক্ষতি নিয়ন্ত্রণের জন্য স্টপ লস প্রক্রিয়া সেট করতে পারি; একই সময়ে, পূর্ণ পজিশনের পরিবর্তে অবস্থান আকার সামঞ্জস্য করুন; অবশেষে, বিভিন্ন ধরণের কৌশল পোর্টফোলিও মেলে।
আমরা নিম্নলিখিত দিকগুলিতে এই কৌশলটি আরও অনুকূল করতে পারিঃ
একটি স্টপ লস মেকানিজম যোগ করুন। উদাহরণস্বরূপ, মূল্য পুনরুদ্ধারের প্রসার জন্য চলমান স্টপ লস বা স্টপ লস সেট আপ করুন।
পজিশন ফিল্টারের জন্য অন্যান্য সূচকগুলির সাথে একত্রিত করুন। উদাহরণস্বরূপ, পর্যাপ্ত গতি নিশ্চিত করতে গতির সূচকগুলি উন্নত করুন; বা উচ্চ ট্রেডিং ভলিউম নিশ্চিত করতে ট্রেডিং ভলিউম সূচকগুলি।
বিভিন্ন বাজারের পরিবেশ (যেমন ষাঁড় বা ভালুকের বাজার) অনুযায়ী বিভিন্ন পরামিতি কনফিগারেশন গ্রহণ করুন।
সেরা প্যারামিটার সমন্বয় খুঁজে পেতে বিভিন্ন EMA লাইন পরামিতি পরীক্ষা করুন।
এই কৌশলটি মূল্যের প্রবণতা নির্ধারণ করতে জিগজ্যাগ সূচক ব্যবহার করে এবং চরম পয়েন্টগুলির কাছাকাছি ট্র্যাকিং অবস্থান স্থাপন করে। এর সুবিধা হ'ল লাভের জন্য প্রবণতাটি দক্ষতার সাথে অনুসরণ করা। এতে ফাঁদে পড়ার ঝুঁকিও রয়েছে। আমরা ঝুঁকি নিয়ন্ত্রণের জন্য স্টপ লস সেট করতে পারি, পরামিতিগুলি অনুকূল করতে পারি এবং বাণিজ্য কৌশল পোর্টফোলিও। এই কৌশলটি মাঝারি থেকে দীর্ঘমেয়াদী প্রবণতা ব্যবসায়ের জন্য আরও উপযুক্ত। যদি সঠিকভাবে নিয়ন্ত্রিত এবং একত্রিত করা হয় তবে এটি স্থিতিশীল রিটার্ন পেতে পারে।
/*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)