আরএসআই এবং ফিবোনাচি রিভার্সাল ট্রেডিং কৌশল


সৃষ্টির তারিখ: 2023-12-27 16:49:52 অবশেষে সংশোধন করুন: 2023-12-27 16:49:52
অনুলিপি: 3 ক্লিকের সংখ্যা: 1189
1
ফোকাস
1623
অনুসারী

আরএসআই এবং ফিবোনাচি রিভার্সাল ট্রেডিং কৌশল

ওভারভিউ

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

কৌশল নীতি

এই কৌশলটি মূলত নিম্নলিখিত নীতির উপর ভিত্তি করে তৈরি করা হয়েছেঃ

  1. একটি নির্দিষ্ট সময়কালের (যেমন 200 কে লাইন) মূল্যের তথ্য ব্যবহার করে, সেই সময়কালের জন্য মূল্যের গড় মান, স্ট্যান্ডার্ড ডিফেন্ডার এবং মূল ফিবোনাচি রিটার্ন বিট (যেমন 0.764) গণনা করা হয়;

  2. RSI সূচকগুলিকে ব্যবহার করে, যখন দামগুলি উপরে বা নীচে একটি বিপরীত অবস্থানের কাছাকাছি থাকে, তখন বিপরীত অবস্থানের অঞ্চলে ওভার-বয় ওভার-সেলিং রয়েছে কিনা তা নির্ধারণ করুন;

  3. যদি RSI সূচকটি ওভার-বই বা ওভার-সেলের সংকেত দেয়, তবে এটি একটি ওভার-টার্নিং পয়েন্টের কাছাকাছি একটি ওভার-ডাউন বা ওভার-ডাউন সংকেত দেয়;

  4. এবং স্টপ লস এবং স্টপ স্টপ লেভেল সেট করুন এবং সেট মূল্য অতিক্রম করলে বা স্টপ লস শর্তগুলি ট্রিগার করলে পজিশনটি বন্ধ করুন।

এই কৌশলটি ট্রেডিংয়ের সময় নির্ধারণের জন্য একটি মৌলিক প্রক্রিয়া।

কৌশলগত শক্তি বিশ্লেষণ

RSI বা Fibonacci একক ব্যবহার করে ট্রেড করার তুলনায়, এই সমন্বয় কৌশলটির নিম্নলিখিত সুবিধাগুলি রয়েছেঃ

  1. ডাবল ইঙ্গিত ফিল্টার, যা মিথ্যা সংকেত কমাতে এবং সংকেত মান উন্নত করতে পারে;

  2. বিপরীতমুখী ট্রেডিং, যা বিপরীতমুখী অবস্থানের কাছাকাছি হয়, এটি একটি তুলনামূলকভাবে ক্লাসিক প্রযুক্তিগত বিশ্লেষণ পদ্ধতি।

  3. স্টপ লস স্টপ সেট করার পরে, আপনি কার্যকরভাবে একটি একক লেনদেনের সর্বাধিক ক্ষতি নিয়ন্ত্রণ করতে পারেন;

  4. প্যারামিটার অপ্টিমাইজেশান, সূচক প্যারামিটার এবং রিভার্স পয়েন্ট সেটআপের মাধ্যমে বিভিন্ন সময়কাল এবং জাতের সাথে খাপ খাইয়ে নেওয়া যায়।

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

এই কৌশলটির কিছু ঝুঁকি রয়েছে যা সম্পর্কে সতর্ক হওয়া দরকারঃ

  1. মূল বিপর্যয়ের কাছাকাছি আসার পরে পুনরায় বিপর্যয় ঘটার সম্ভাবনা ১০০% নয়, যা মূল্যের সত্তার সাথে একত্রে বিচার করা প্রয়োজন;

  2. একক-চক্রের RSI একটি মৃত-বাউন্সের মিথ্যা সংকেত তৈরি করতে পারে, এবং বহু-চক্রের যাচাইকরণ বিবেচনা করা যেতে পারে;

  3. স্টপ লস পয়েন্টের সেটিং খুব হালকা, যা ক্ষতি বাড়িয়ে তুলতে পারে;

  4. যখন একটি ট্যাগের দাম তীব্রভাবে ওঠানামা করে, তখন স্টপ লস অতিক্রান্ত হতে পারে এবং স্টপ লস পয়েন্টটি শিথিল করার বিষয়টি বিবেচনা করা প্রয়োজন।

উপরের ঝুঁকিগুলি প্যারামিটার সমন্বয়, অপ্টিমাইজড মেট্রিক্সের সমন্বয় এবং অন্যান্য পদ্ধতির মাধ্যমে নিয়ন্ত্রণ করা যেতে পারে।

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

এই কৌশলটি আরও উন্নত করার জন্য নিম্নলিখিত বিষয়গুলি অন্তর্ভুক্ত করা হয়েছেঃ

  1. কম সংখ্যক ভুয়া ব্রেকডাউন এড়াতে ট্রানজিট সূচকগুলির যাচাইকরণ বাড়ানো;

  2. বুলিন-ব্যান্ডের সূচক বিবেচনা করে, বোল্ড-ব্রেকিংয়ের সময় সংকেত দেওয়া হয়;

  3. মেশিন লার্নিং বা নিউরাল নেটওয়ার্ক মডেল তৈরি করে স্বয়ংক্রিয়ভাবে উচ্চমানের লেনদেনের সুযোগ চিহ্নিত করতে;

  4. জেনেটিক্যাল অ্যালগরিদমের মতো পদ্ধতি ব্যবহার করে প্যারামিটারগুলি স্বয়ংক্রিয়ভাবে অপ্টিমাইজ করুন এবং স্টপ লস স্টপ পয়েন্টগুলি সামঞ্জস্য করুন।

সারসংক্ষেপ

এই নিবন্ধে একটি পরিমাণগত ট্রেডিং কৌশল বিশদভাবে বর্ণনা করা হয়েছে যা RSI এবং Fibonacci retracement এর সাথে বিচার করার জন্য। এই কৌশলটি দ্বৈত সূচক বিশ্লেষণ এবং ক্লাসিক প্রযুক্তিগত কৌশলগুলির সাথে একত্রিত করে, ঝুঁকি নিয়ন্ত্রণের পূর্বশর্তে ট্রেডিং সিগন্যালের গুণমান বাড়ায়। প্যারামিটার সমন্বয় এবং মডেল অপ্টিমাইজেশনের সাথে সাথে কৌশলটির কার্যকারিতা আরও বাড়ানো যেতে পারে।

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

//@version=4
strategy(title="Gab Fib  + RSI", overlay=true, default_qty_type=strategy.cash, default_qty_value=100000, initial_capital=1000, currency=currency.USD, commission_type=strategy.commission.cash_per_order, commission_value=4)

// Inputs
timeFilter = year >= 2000
    // Stop Loss 
stop_loss = input(title="SL in % of Instrum. i.e 1.5%=150pips", minval=0, step=0.1, defval=1.5) /100
    // RSI Inputs
len = input(title="[RSI] Length", minval=0, step=1, defval=14)
overSold = input(title="[RSI] Over Sold %", defval=30)
overBought = input(title="[RSI] Over Bought %", defval=70)
    // Fibonacci Levels
length = input(title="[Fibonacci] Length", defval=200, minval=1)
src = input(hlc3, title="[Fibonacci] Source")
mult = input(title="[Fibonacci] Multiplier", defval=3.0, minval=0.001, maxval=50)
level = input(title="[Fibonacci] Level", defval=764)


// Calculate Fibonacci
basis = vwma(src, length)
dev = mult * stdev(src, length)
fu764= basis + (0.001*level*dev)
fu1= basis + (1*dev)
fd764= basis - (0.001*level*dev)
fd1= basis - (1*dev)

// Calculate RSI
vrsi = rsi(close, len)

// Calculate the Targets
targetUp = fd764
targetDown = fu764
    // Actual Targets
bought = strategy.position_size[0] > strategy.position_size[1]
exit_long = valuewhen(bought, targetUp, 0)
sold = strategy.position_size[0] < strategy.position_size[1]
exit_short = valuewhen(sold, targetDown, 0)

// Calculate Stop Losses
sl_long = close * (1-stop_loss)
sl_short = close * (1+stop_loss)


// Conditions to Open Trades
openLong = low < fd1 and crossover(vrsi[1], overSold)
openShort = high > fu1 and crossunder(vrsi[1], overBought)

// Conditions to Close Trades
closeLong = high > exit_long or sl_long
closeShort = low < exit_short or sl_short


//Rounding to MinTick value
roundtargetUp = round_to_mintick(targetUp)
roundtargetDown = round_to_mintick(targetDown)
roundsllong = round_to_mintick(sl_long)
roundslshort = round_to_mintick(sl_short)

// Plots
plot(basis, color=color.blue, linewidth=2, title="[Fibonacci Level] Basis")
plot(fu764, color=color.white, linewidth=1, title="[Fibonacci Level] Short Target")
plot(fu1, color=color.red, linewidth=2, title="[Fibonacci Level] Top")
plot(fd764, color=color.white, linewidth=1, title="[Fibonacci Level] Long Target")
plot(fd1, color=color.green, linewidth=2, title="[Fibonacci Level] Bottom")


// Strategy Orders
if timeFilter
    // Entry Orders
    strategy.entry(id="buy", long=true, when=openLong and high < targetUp, limit=close, alert_message="buy,"+tostring(syminfo.ticker)+",tp="+tostring(roundtargetUp)+",sl="+tostring(roundsllong))
    strategy.entry(id="sell", long=false, when=openShort and low > targetDown, limit=close,  alert_message="sell,"+tostring(syminfo.ticker)+",tp="+tostring(roundtargetDown)+",sl="+tostring(roundslshort))

    // Exit Orders
    strategy.exit(id="closelong", when=closeLong and strategy.position_size > 0, limit=exit_long, stop=sl_long, alert_message="closelong,"+tostring(syminfo.ticker))
    strategy.exit(id="closeshort", when=closeShort and strategy.position_size < 0, limit=exit_short, stop=sl_short, alert_message="closeshort,"+tostring(syminfo.ticker))