
এই কৌশলটি একটি চলমান গড়ের উপর ভিত্তি করে একটি ব্যাপ্তি ব্রেকিং কৌশল। এটি একটি নির্দিষ্ট সময়ের চলমান গড় এবং একটি সেট আপ এবং ডাউন ট্রেলার উপর ভিত্তি করে মূল্য ব্রেকিংয়ের জন্য ক্রয়-বিক্রয় কার্যক্রম পরিচালনা করে।
এই কৌশলটির মূল নীতিগুলি হলঃ
একটি নির্দিষ্ট সময়ের জন্য একটি চলমান গড় সেট করুন, মধ্যম অক্ষ হিসাবে।
মধ্যম অক্ষের উপর এবং নীচে সেট করা ব্যাপ্তি, মধ্যম অক্ষের দ্বারা নির্দিষ্ট শতাংশে ব্যাপ্তিটি পাওয়া যায়। উপরের রেললাইনটি মধ্যম অক্ষের দ্বারা গুণিত হয় ((100% + সেট শতাংশ), এবং নিম্ন রেললাইনটি মধ্যম অক্ষের দ্বারা গুণিত হয় ((100% - সেট শতাংশ)) ।
যখন দাম বাড়বে, তখন খালি করুন; যখন দাম কমবে, তখন আরও বেশি করুন।
অর্ডারের মূল্য নির্ধারণ করা হয়েছে সংশ্লিষ্ট উপরের এবং নীচের রেল লাইনের মূল্য হিসেবে।
যখন দাম আবার মধ্যম অক্ষের দিকে ফিরে আসে, তখন প্লেইন পজিশন চলে যায়।
এইভাবে, মুভিং এভারেজ এবং এর ব্যাপ্তিগুলি ব্যবহার করে মূল্যের বিপর্যয়কে ক্যাপচার করে ট্রেডিং কৌশল বাস্তবায়ন করা যায়।
এই কৌশলটির সুবিধাগুলো হলঃ
ধারণাটি সহজ, স্পষ্ট, সহজে বোঝা যায় এবং বাস্তবায়ন করা যায়।
বিভিন্ন বাজারের অবস্থার সাথে সামঞ্জস্য রেখে প্যারামিটারগুলি সামঞ্জস্য করতে পারে
মিড-এক্সেল এবং ব্যাপ্তিগুলি কার্যকরভাবে বাজারের শব্দগুলি ফিল্টার করে এবং প্রবণতা ধরে রাখে।
সীমিত মূল্যের অর্ডার দিয়ে ঝুঁকি নিয়ন্ত্রণ করুন।
মধ্যম অক্ষের দিকে ফেরার সময় স্টপ লস, অত্যধিক ক্ষতি এড়ানো।
এই কৌশলটির কিছু ঝুঁকিও রয়েছেঃ
ব্যাপ্তি পরামিতি ভুলভাবে সেট করা হয়েছে যার ফলে ঘন ঘন বা কম পরিমাণে লেনদেন হতে পারে
বিপর্যয় ঘটার সম্ভাবনা অনেক বেশি, যার ফলে ক্ষতির সম্ভাবনা বেশি।
পরিস্থিতির তীব্র পরিবর্তন হলে, মধ্যম অক্ষ এবং ব্যবধানের পরিসীমা কার্যকর হয় না।
মধ্যম অক্ষের দিকে ফিরে যাওয়ার সময় বাধ্যতামূলক স্টপ ক্ষতি হতে পারে।
সমাধানঃ
অনুকূলিতকরণ প্যারামিটার, উপযুক্ত চলমান গড় সময়কাল এবং ব্যাপ্তি শতাংশ নির্বাচন করুন।
অন্য সূচকগুলির সাথে মিলিতভাবে, যতটা সম্ভব, ভুয়া ভাঙ্গন এড়াতে।
মানুষের হস্তক্ষেপ বাড়ানো।
চলমান গড়ের সময়কাল দীর্ঘতর করা হয়েছে, এবং পরিসীমা যথাযথভাবে বড় করা হয়েছে।
এই কৌশলটি মূলত নিম্নলিখিত দিকগুলি থেকে অপ্টিমাইজ করা যেতে পারেঃ
স্টপ লস কন্ডিশন যুক্ত করুন, যেমন স্টপ লস ট্র্যাকিং এবং অতিরিক্ত ক্ষতি এড়ানো।
MACD, KD, ইত্যাদির মতো পরিমাপ ফিল্টার যুক্ত করুন, মিথ্যা ব্রেকআউট হ্রাস করুন।
স্বয়ংক্রিয় প্যারামিটার অপ্টিমাইজেশান ফাংশন যুক্ত করা হয়েছে, যাতে প্যারামিটারগুলি বাজারের পরিবর্তনের সাথে রিয়েল-টাইমে সামঞ্জস্য করা যায়।
পজিশন খোলার শর্তাবলী বৃদ্ধি করুন, কেবলমাত্র ব্রেকআউটের উপর নির্ভরশীলতা এড়াতে।
চলমান গড়ের সময়কাল এবং ব্যাপ্তি পরামিতি সেটিং অপ্টিমাইজ করুন।
এই কৌশলটি সামগ্রিকভাবে একটি তুলনামূলকভাবে ব্যবহারিক চলমান গড়ের ব্যাপ্তি ভেঙে ফেলার কৌশল। এটির ধারণাটি সহজ, বোঝা এবং বাস্তবায়ন করা সহজ, ব্যাপ্তি পরিসীমা দ্বারা গোলমাল ফিল্টার করে, যা প্রবণতাযুক্ত বাজারে আরও কার্যকর। তবে কিছু ঝুঁকিও রয়েছে, প্যারামিটার অপ্টিমাইজেশনের দিকে মনোযোগ দেওয়া এবং অন্যান্য সূচকগুলির সাথে ব্যবহারের প্রয়োজন। এর কিছু বাস্তব ও বিকাশের মূল্য রয়েছে।
/*backtest
start: 2023-01-01 00:00:00
end: 2023-08-15 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//Noro
//2018
//@version=3
strategy(title = "Robot WhiteBox ShiftMA", shorttitle = "Robot WhiteBox ShiftMA", 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 = "Lot, %")
per = input(3, title = "Length")
src = input(ohlc4, title = "Source")
shortlevel = input(10.0, title = "Short line (red)")
longlevel = input(-5.0, title = "Long line (lime)")
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")
//SMAs
sma = sma(src, per)
shortline = sma * ((100 + shortlevel) / 100)
longline = sma * ((100 + longlevel) / 100)
plot(shortline, linewidth = 2, color = red, title = "Short line")
plot(sma, linewidth = 2, color = blue, title = "SMA line")
plot(longline, linewidth = 2, color = lime, title = "Long line")
//Trading
size = strategy.position_size
lot = 0.0
lot := size == 0 ? strategy.equity / close * capital / 100 : lot[1]
if (not na(close[per])) and size == 0 and needlong
strategy.entry("L", strategy.long, lot, limit = longline)
if (not na(close[per])) and size == 0 and needshort
strategy.entry("S", strategy.short, lot, limit = shortline)
if (not na(close[per])) and size > 0
strategy.entry("Close", strategy.short, 0, limit = sma)
if (not na(close[per])) and size < 0
strategy.entry("Close", strategy.long, 0, limit = sma)
if time > timestamp(toyear, tomonth, today, 23, 59)
strategy.close_all()