এই কৌশলটি ট্রেন্ডের দিকনির্দেশের জন্য গড় বাস্তব তরঙ্গের পরিমাপ এটিআর এর উপর ভিত্তি করে তৈরি করা হয়, যখন ট্রেন্ডটি উচ্চতর হয় তখন অতিরিক্ত হয় এবং যখন ট্রেন্ডটি হ্রাস পায় তখন খালি হয়। এটি ট্রেন্ড ট্র্যাকিংয়ের ধরণের কৌশল।
এই কৌশলটি প্রথমে দামের সরল চলমান গড় sma এবং সূচকীয় চলমান গড় ema গণনা করে। তারপরে এটিআর সূচকটি গণনা করে, যা গত N দিনের গড় ওঠানামা।
ট্রেন্ডের দিকনির্দেশনা নির্ধারণের জন্য কৌশলটি EMA গড়, EMA + ATR * ফ্যাক্টর এবং EMA - ATR * ফ্যাক্টর ব্যবহার করে। যখন দাম উপরে চলে যায়, তখন বেশি করুন; যখন দাম নীচে চলে যায়, তখন কম করুন।
কোডের মূল যুক্তিঃ
এটিআর এর মাধ্যমে পজিশন পরিবর্তন করে ট্রেন্ডের দিকনির্দেশনা কার্যকরভাবে অনুসরণ করা যায়।
সমাধানঃ
এটিআর প্রবণতা ট্র্যাকিং কৌশলটি সামগ্রিক ধারণাটি পরিষ্কার, এটিআর সূচকের মাধ্যমে প্রবণতা দিক নির্ধারণ করে, এটি একটি সাধারণ প্রবণতা ট্র্যাকিং কৌশল। কৌশলটির সুবিধাগুলি সহজেই পরিচালনা করা যায়, কার্যকরভাবে প্রবণতা অনুসরণ করতে পারে; তবে কিছু ঝুঁকিও রয়েছে, কৌশলটির সর্বাধিক কার্যকারিতা অর্জনের জন্য বিভিন্ন বাজার পরিবেশের জন্য অনুকূলিতকরণের প্রয়োজন। সামগ্রিকভাবে, কৌশলটি একটি পরিমাণগত ব্যবসায়ের সরঞ্জাম হিসাবে বিস্তৃত স্থান এবং ব্যবহারের মূল্য রয়েছে।
/*backtest
start: 2023-08-28 00:00:00
end: 2023-09-27 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Investoz
//@version=4
strategy("ATR Strategy FOREX", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100)
len = input(26, type=input.integer, minval=1, title="Length")
mul = input(2.618, type=input.float, minval=0, title="Length")
mullow = input(2.386, type=input.float, minval=0, title="Length")
price = sma(close, 1)
average = ema(close, len)
diff = atr(len) * mul
difflow = atr(len) * mullow
bull_level = average + diff
bear_level = average - difflow
bull_cross = crossunder(price, bear_level)
bear_cross = crossunder(bull_level, price)
FromMonth = input(defval = 8, title = "From Month", minval = 1, maxval = 12)
FromDay = input(defval = 18, title = "From Day", minval = 1, maxval = 31)
FromYear = input(defval = 2008, title = "From Year", minval = 2008)
ToMonth = input(defval = 1, title = "To Month", minval = 1, maxval = 12)
ToDay = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
ToYear = input(defval = 2020, title = "To Year", minval = 2019)
start = timestamp(FromYear, FromMonth, FromDay, 00, 00)
finish = timestamp(ToYear, ToMonth, ToDay, 23, 59)
startTimeOk() => true
if (startTimeOk()) and ema(close,1) > ema(close,528)
strategy.entry("KOP", strategy.long, when=bull_cross)
strategy.close("KOP", when=bear_cross)
if (startTimeOk()) and ema(close,1) < ema(close,528)
strategy.entry("SALJ", strategy.short, when=bear_cross)
strategy.close("SALJ", when=bull_cross)
plot(price, title="price", color=color.black, transp=50, linewidth=2)
a0 = plot(average, title="average", color=color.red, transp=50, linewidth=1)
a1 = plot(bull_level, title="bull", color=color.green, transp=50, linewidth=1)
a2 = plot(bear_level, title="bear", color=color.red, transp=50, linewidth=1)
fill(a0, a1, color=color.green, transp=97)
fill(a0, a2, color=color.red, transp=97)