ATR এবং RSI এর উপর ভিত্তি করে ট্রেন্ড অনুসরণকারী ট্রেডিং কৌশল


সৃষ্টির তারিখ: 2023-10-09 15:18:10 অবশেষে সংশোধন করুন: 2023-10-09 15:18:10
অনুলিপি: 0 ক্লিকের সংখ্যা: 1027
1
ফোকাস
1617
অনুসারী

ওভারভিউ

এই কৌশলটি একটি ট্রেডিং সিস্টেম ডিজাইন করেছে যার ট্রেন্ড ট্র্যাকিং ফাংশন রয়েছে। এটি স্বয়ংক্রিয়ভাবে প্রবণতা দিক সনাক্ত করতে পারে এবং স্টপ লস এবং স্টপ ফাংশন রয়েছে।

কৌশল নীতি

  1. এটিআর এবং আরএসআই গণনা করুন। এটিআর সাম্প্রতিক সময়ের মধ্যে গড় মূল্যের ওঠানামাকে প্রতিফলিত করে। আরএসআই ম্যানিপুলেটরগুলির শক্তির তুলনাকে প্রতিফলিত করে।

  2. যখন এটিআর তার চলমান গড়ের চেয়ে বড় হয়, তখন এটিকে উচ্চ অস্থিরতার সময় বলে মনে করা হয়, যা ট্রেডিংয়ের জন্য উপযুক্ত।

  3. আরএসআই যখন ওভার-বই লাইনের উপরে থাকে, তখন ওভার; আরএসআই যখন ওভার-সেল অঞ্চলের নিচে থাকে, তখন শূন্য।

  4. লভ্যাংশের পরে, উচ্চ বিন্দু দ্বারা স্থির অনুপাতটি ট্র্যাকিং স্টপ লেভেল হিসাবে ব্যবহার করুন।

  5. মুনাফার হার কমেছে।

সামর্থ্য বিশ্লেষণ

  1. ট্র্যাকিং স্টপ লস সর্বোচ্চ স্টপ লস এবং সর্বনিম্ন লস কমাতে পারে।

  2. আরএসআই (RSI) -এর সাহায্যে আপনি ওভারহেড শক্তির সঠিক মূল্যায়ন করতে পারবেন এবং অস্থিরতার সময় বারবার পজিশন খোলার ঝুঁকি এড়াতে পারবেন।

  3. এটিআর একটি অস্থিরতার সূচক, যা কেবলমাত্র ট্রেন্ডিং ট্রেডিংয়ের মাধ্যমে ঝড়ের ট্রেডিংকে ফিল্টার করতে পারে।

  4. মুনাফার অনুপাত বন্ধ করলে মুনাফার কিছু অংশ লক হয়ে যায়।

ঝুঁকি বিশ্লেষণ

  1. এটিআর এবং আরএসআই উভয়ই পিছিয়ে পড়া সূচক, যা প্রবেশের সময়কে পিছিয়ে দিতে পারে। প্যারামিটারগুলি যথাযথভাবে অনুকূলিতকরণ করা যেতে পারে, যাতে সিস্টেমটি আরও সংবেদনশীল হয়।

  2. স্টপ লস স্টপ-এর তুলনায় ফিক্সড স্টপ লস স্টপ-এর অপ্টিমাইজেশান খুব সহজেই করা যায়।

  3. বড় আকারের অস্থিরতার ক্ষেত্রে, এটিআর দীর্ঘমেয়াদে চলমান গড়ের চেয়ে বড় হতে পারে, যার ফলে অতিরিক্ত লেনদেন হয়। অন্যান্য ফিল্টারিং শর্ত যুক্ত করা যেতে পারে।

অপ্টিমাইজেশান দিক

  1. এটিআর এবং আরএসআই এর প্যারামিটারগুলিকে অপ্টিমাইজ করে সিস্টেমটিকে আরও সংবেদনশীল করে তোলে।

  2. ট্রেন্ডের দিকনির্দেশনা নির্ধারণের জন্য এমএ এবং অন্যান্য সূচক যুক্ত করুন।

  3. একটি স্থির সেটিং এর পরিবর্তে একটি গতিশীল স্টপ-ড্যাম-স্টপ অনুপাত চেষ্টা করুন।

  4. ট্রানজেকশন কন্ট্রোল ব্যবস্থা যোগ করার কথা ভাবুন।

সারসংক্ষেপ

এই কৌশলটি এটিআর এবং আরএসআই দুটি সূচকগুলির সুবিধাগুলিকে একত্রিত করে একটি সহজ এবং ব্যবহারিক প্রবণতা ট্র্যাকিং ট্রেডিং সিস্টেম ডিজাইন করেছে। প্যারামিটার অপ্টিমাইজেশন এবং ফিল্টারিং শর্তাদি যুক্ত করে সিস্টেমের স্থায়িত্বকে আরও উন্নত করা যেতে পারে। সামগ্রিকভাবে, এই কৌশলটির শক্তিশালী রিয়েল-টাইম অ্যাপ্লিকেশন মূল্য রয়েছে।

কৌশল সোর্স কোড
/*backtest
start: 2023-09-08 00:00:00
end: 2023-10-08 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// © liwei666
//@version=5
// # ========================================================================= #
// #                   |   Strategy  |
// # ========================================================================= #
strategy(
 title                = "ATR_RSI_Strategy v2[liwei666]",
 shorttitle           = "ATR_RSI_Strategy",
 overlay              =  true,
 max_lines_count                 =  500, 
 max_labels_count                =  500, 
 max_boxes_count                 =  500,
 max_bars_back = 5000,
 initial_capital = 10000,
 default_qty_type=strategy.percent_of_equity, 
 default_qty_value=50, commission_type=strategy.commission.percent, pyramiding=1, 
 commission_value=0.05
 )
// # ========================================================================= #
// #                   |   Strategy  |
// # ========================================================================= #

atr_length = input.int(26, "atr_length", minval = 6, maxval = 100, step=1)
atr_ma_length = input.int(45, "atr_ma_length", minval = 6, maxval = 100, step=1)
rsi_length = input.int(15, "rsi_length", minval = 6, maxval = 100, step=1)
rsi_entry = input.int(10, "rsi_entry", minval = 6, maxval = 100, step=1)
atr_ma_norm_min = input.float(0.3, "atr_ma_norm_min", minval = 0.1, maxval = 0.5, step=0.1)
atr_ma_norm_max = input.float(0.7, "atr_ma_norm_max", minval = 0.5, maxval = 1, step=0.1)
trailing_percent= input.float(1.5, "trailing_percent", minval = 0.1, maxval = 2, step=0.1)

var rsi_buy = 50 + rsi_entry
var rsi_sell = 50 - rsi_entry

sma_norm_h_45() => 
    source = high
    n = 45
    sma = ta.sma(source, n) 
    sma_norm = (sma - ta.lowest(sma, n)) / (ta.highest(sma,n) - ta.lowest(sma, n))
    sma_norm

atr_value = ta.atr(atr_length)
atr_ma = ta.sma(atr_value, atr_ma_length) 
rsi_value = ta.rsi(close, length = rsi_length) 
atr_ma_norm = atr_ma / close * 100
sma_norm = sma_norm_h_45()

var intra_trade_high = 0.0
var intra_trade_low = 0.0

if strategy.position_size == 0
    intra_trade_high := high
    intra_trade_low := low

    if atr_ma_norm >= atr_ma_norm_min and atr_ma_norm <= atr_ma_norm_max
        if atr_value > atr_ma
            if rsi_value > rsi_buy
                strategy.entry("B1", strategy.long, limit = close + 5 )
            else if rsi_value < rsi_sell
                strategy.entry("S1", strategy.short, limit = close - 5 )
else if strategy.position_size > 0
    intra_trade_high := math.max(intra_trade_high, high)
    intra_trade_low := low

    long_tp = intra_trade_high * (1 - trailing_percent / 100)
    strategy.exit("Exit B1", from_entry="B1", stop = long_tp, limit = strategy.position_avg_price * 1.03)

else if strategy.position_size < 0
    intra_trade_high := high
    intra_trade_low := math.min(intra_trade_low, low) 

    short_tp = intra_trade_low * (1 + trailing_percent / 100)
    strategy.exit("Exit S1", from_entry="S1", stop = short_tp, limit = strategy.position_avg_price * 0.94)