
এই কৌশলটি একটি ট্রেন্ড ব্রেকিং কৌশল যা এটিআর সূচকগুলির উপর ভিত্তি করে। এর মূল ধারণাটি হল যখন দামগুলি একটি নির্দিষ্ট সংখ্যক ATR অতিক্রম করে তখন ট্রেন্ড ব্রেকিং অপারেশন করা হয়। কৌশলটি একই সাথে ট্রেন্ডের স্বীকৃতি এবং তারিখের পরিসীমা ব্যবহার করে ট্রেডিং সীমাবদ্ধ করার বৈশিষ্ট্য অন্তর্ভুক্ত করে।
কৌশলটি এটিআর সূচক ব্যবহার করে দামের ওঠানামা নির্ধারণ করে। এটিআর মানে গড় বাস্তব ওঠানামা, যা একটি নির্দিষ্ট সময়ের মধ্যে গড় মূল্যের ওঠানামা পরিমাপ করে। এটিআর সময়কালের জন্য length প্যারামিটার সেট করুন, numATRs প্যারামিটারটি বিপর্যস্ত ATR এর গুণিতককে বোঝায়।
যখন দাম বাড়বে, তখন এটিআর-এর দ্বিগুণ সংখ্যা অতিক্রম করবে। যখন এটিআর-এর দ্বিগুণ সংখ্যা অতিক্রম করবে, তখন এটিআর-এর দ্বিগুণ সংখ্যা অতিক্রম করবে।
উপরন্তু, কৌশলটি BOOL ভেরিয়েবল যোগ করে যার জন্য লম্বা অবস্থান প্রয়োজন (needlong) এবং যার জন্য শর্ট প্রয়োজন (needshort), যা কেবলমাত্র বেশি বা কেবলমাত্র শর্ট নিয়ন্ত্রণ করতে পারে। কৌশলটি একটি তারিখের পরিসীমাও সেট করে যা কেবলমাত্র নির্দিষ্ট তারিখের মধ্যে লেনদেন করে, যার ফলে সময় পরিসীমা সীমাবদ্ধতা অর্জন করা যায়।
কৌশলটি size ভেরিয়েবল ব্যবহার করে পজিশনের অবস্থান নির্ধারণ করে, পজিশনের অবস্থার উপর ভিত্তি করে একক হাতের সংখ্যা গণনা করে। হাতের সংখ্যা অ্যাকাউন্টের অধিকার এবং সুবিধার শতাংশ অনুসারে গণনা করা হয়।
এই কৌশলটির সামগ্রিক ধারণাটি পরিষ্কার এবং সহজেই বোঝা যায়, এটিআর সূচক ব্যবহার করে বাজারটির অস্থিরতার সাথে স্বয়ংক্রিয়ভাবে খাপ খাইয়ে নেওয়া একটি সাধারণ প্রবণতা-অনুসরণ কৌশল। প্যারামিটার অপ্টিমাইজেশন এবং অন্যান্য কৌশলগুলির সংমিশ্রণ দ্বারা কৌশলটির কার্যকারিতা এবং স্থায়িত্বকে আরও উন্নত করা যেতে পারে। তবে একক ক্ষতির অত্যধিক ক্ষতি রোধে সতর্কতা অবলম্বন করা উচিত এবং বাজারের পরিস্থিতিতে তীব্র পরিবর্তনের সময় ক্ষতির অভাবের বিষয়ে সতর্কতা অবলম্বন করা উচিত।
/*backtest
start: 2023-09-30 00:00:00
end: 2023-10-30 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//Noro
//2018
//@version=3
strategy(title = "Noro's Volty Strategy v1.0", shorttitle = "Volty 1.0", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 100)
//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(false, defval = false, title = "Short")
capital = input(100, defval = 100, minval = 1, maxval = 10000, title = "Lot, %")
length = input(5)
numATRs = input(0.75)
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")
//Indicator
atrs = sma(tr, length) * numATRs
//Trading
size = strategy.position_size
lot = 0.0
lot := size == 0 ? strategy.equity / close * capital / 100 : lot[1]
if (not na(close[length])) and needlong
strategy.entry("L", strategy.long, lot, stop = close + atrs, when = (time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))
if (not na(close[length])) and needlong == false
strategy.entry("L", strategy.long, 0, stop = close + atrs, when = (time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))
if (not na(close[length])) and needshort
strategy.entry("S", strategy.short, lot, stop = close - atrs, when = (time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))
if (not na(close[length])) and needshort == false
strategy.entry("S", strategy.short, 0, stop = close - atrs, when = (time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))