RSI ক্রস-সাইকেল ট্রেডিং কৌশল

লেখক:চাওঝাং, তারিখ: ২০২৩-১০-২৫ ১১ঃ২০ঃ৫৯
ট্যাগঃ

img

সারসংক্ষেপ

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

কৌশলগত যুক্তি

এই কৌশলটি মূলত আরএসআই সূচকের ওভারবয়ড এবং ওভারসোল্ড বিচারের মাধ্যমে ট্রেডিং সংকেত উত্পন্ন করে। আরএসআই আপেক্ষিক শক্তি সূচকের জন্য দাঁড়িয়েছে, এর সূত্রটি হ'লঃ আরএসআই = 100 - (100 / (1 + আরএস)), যেখানে আরএস একটি সময়ের মধ্যে গড় বন্ধের ক্ষতির তুলনায় গড় বন্ধের লাভের অনুপাত। আরএসআই সূচক 0 থেকে 100 পর্যন্ত, সাধারণত 30 এর নীচে ওভারসোল্ড এবং 70 এর উপরে ওভারসোল্ড হিসাবে বিবেচিত হয়।

কৌশলটি একটি উচ্চ প্যারামিটার সুপারকম্প্রা এবং একটি নিম্ন প্যারামিটার সুপারভেনটা সেট করে। যখন আরএসআই সুপারকম্প্রার চেয়ে বেশি হয়, তখন এটি ওভারকপড হিসাবে বিচার করা হয়। যখন আরএসআই সুপারভেনটার চেয়ে কম হয়, তখন এটি ওভারসোল্ড হিসাবে বিচার করা হয়। কৌশলটিতে সুপারকম্প্রা এবং সুপারভেনটার ডিফল্ট মানগুলি যথাক্রমে 70 এবং 30 হয়।

ক্রয় এবং বিক্রয় সংকেত তৈরি করতে, কৌশলটি ফিল্টারিংয়ের জন্য আরএসআই সূচকের চলমান গড় রেখা ব্যবহার করে। যখন আরএসআই তার চলমান গড় রেখার উপরে অতিক্রম করে, তখন কেনার সংকেত এস_কম্প্রা উত্পন্ন হয়। যখন আরএসআই তার চলমান গড় রেখার নীচে অতিক্রম করে, তখন বিক্রয় সংকেত এস_ভেন্টা উত্পন্ন হয়। চলমান গড় প্যারামিটার পেরিডোস_মিডিয়া 14 পিরিয়ডে ডিফল্ট হয়।

ক্রয় এবং বিক্রয় সংকেত তৈরি করার পরে, কৌশলটি দীর্ঘ বা সংক্ষিপ্ত ব্যবসায়ের জন্য অবস্থানগুলি খোলে। উপরন্তু, কৌশলটি অত্যধিক ক্ষতি এড়াতে এবং লাভে লক করার জন্য শতাংশে স্টপ লস এবং লাভ গ্রহণ করে।

কৌশলটির সুবিধা

  1. অতিরিক্ত ক্রয় এবং অতিরিক্ত বিক্রয় শর্তাদি বিচার করার জন্য আরএসআই সূচক ব্যবহার করুন, উচ্চতা এবং বিক্রয় নিম্নতা অনুসরণ করা এড়িয়ে চলুন।

  2. মিথ্যা সংকেত এড়াতে ফিল্টারিংয়ের জন্য RSI সূচকের চলমান গড় প্রয়োগ করুন।

  3. আরও স্থিতিশীল ট্রেডিং সিগন্যাল তৈরির জন্য RSI সূচকের মাল্টি-সাইকেল সেটিংস একত্রিত করুন।

  4. ঝুঁকি কার্যকরভাবে নিয়ন্ত্রণ করার জন্য স্টপ লস এবং লাভের প্রক্রিয়া নির্ধারণ করুন।

  5. কৌশলগত যুক্তি সহজ এবং স্পষ্ট, সহজেই বোঝা যায় এবং সংশোধন করা যায়।

  6. কাস্টমাইজযোগ্য পরামিতি, বিভিন্ন পণ্য এবং চক্রের সাথে অভিযোজিত।

কৌশলটির ঝুঁকি

  1. আরএসআই ইন্ডিকেটরের বিলম্বিত প্রভাব রয়েছে, মূল্য বিপরীতমুখী হওয়ার জন্য সেরা সময়টি মিস করতে পারে।

  2. চলমান গড় ট্রেডিং সিগন্যাল বিলম্বের কারণ হয়, সময়মতো প্রবণতা বিপরীত ধরতে অক্ষম।

  3. নির্দিষ্ট অতিরিক্ত ক্রয় এবং অতিরিক্ত বিক্রয় পরামিতি সেটিং যথেষ্ট নমনীয় নয়, বিভিন্ন চক্র এবং পণ্যের জন্য সমন্বয় প্রয়োজন।

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

  5. লং এবং শর্ট পজিশন শুধুমাত্র ১টি লট, যা স্প্রেড ট্রেডিংয়ের জন্য তহবিলের সম্পূর্ণ ব্যবহার করতে সক্ষম নয়।

অপ্টিমাইজেশান নির্দেশাবলী

  1. ট্রেডিং সিগন্যালের বিচার করার জন্য MACD, KD এর মতো অন্যান্য সূচককে একত্রিত করুন।

  2. প্রবণতা ট্র্যাক করার জন্য অভিযোজিত চলমান গড় প্রয়োগ করুন।

  3. ডায়নামিক ওভারকুপ এবং ওভারসোল্ড প্যারামিটার সেট করুন, বাজারের অস্থিরতার ভিত্তিতে সামঞ্জস্য করুন।

  4. স্টপ লস এবং লাভের অ্যালগরিদমগুলি অপ্টিমাইজ করুন, যেমন ট্রেলিং স্টপ লস।

  5. পজিশন ম্যানেজমেন্ট মেকানিজম যোগ করুন, মূলধনের আকারের উপর ভিত্তি করে পজিশনগুলিকে গতিশীলভাবে সামঞ্জস্য করুন।

  6. রেঞ্জ-বান্ধব বাজারে ঘন ঘন ট্রেডিং এড়ানোর জন্য ট্রেন্ড ফিল্টারিং যোগ করুন।

  7. প্যারামিটার অপ্টিমাইজ করতে এবং সর্বোত্তম প্যারামিটার সংমিশ্রণ নির্বাচন করতে ব্যাকটেস্ট।

সংক্ষিপ্তসার

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


/*backtest
start: 2023-09-01 00:00:00
end: 2023-09-30 23:59:59
period: 3m
basePeriod: 1m
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/
// © samuelkanneman

//@version=4
strategy("RSI KANNEMAN")
//////Entrada///////
i_startTime         = input(title="Start Date Filter", defval=timestamp("01 Nov 2020 13:30 +0000"), type=input.time, tooltip="Date & time to begin trading from")
i_endTime           = input(title="End Date Filter", defval=timestamp("1 Nov 2022 19:30 +0000"), type=input.time, tooltip="Date & time to stop trading")
sobrecompra= input(70, title="Sobre Compra", type=input.integer ,minval=50, maxval=100 )
sobreventa= input(30, title="Sobre Venta", type=input.integer ,minval=0, maxval=50 )
l1=hline(sobrecompra)
l2=hline(sobreventa, color=color.purple)
periodos= input(14, title="Periodos", type=input.integer ,minval=1, maxval=50 )
periodos_media= input(14, title="Logintud media movil", type=input.integer ,minval=1, maxval=200 )
var SL =0.0
var TP=0.0
StopLoss = input(2.0, title="SL %", step=0.2)
TakeProfit = input(5.0, title="TP %", step=0.2)

//////Proceso///////

mi_rsi=rsi(close,periodos)
mm_rsi=sma(mi_rsi,periodos_media)

Es_compra= crossover(mm_rsi,sobreventa)
Es_venta= crossunder(mm_rsi,sobrecompra)

comprado= strategy.position_size > 0
vendido = strategy.position_size < 0

//time to test 
dateFilter = true
//timePeriod = time >= timestamp(syminfo.timezone, 2020, 11, 1, 0, 0)


// long

if (not comprado and Es_compra and dateFilter  )
    // realizar long
    cantidad = strategy.equity/hlc3
    strategy.entry ("compra", strategy.long , cantidad)
    SL := close*(1-(StopLoss/100))
    TP := close*(1+(TakeProfit/100))
    
if close >= TP
    strategy.close ("compra" , comment="Salto TP")  

if (comprado and Es_venta  )
    strategy.close ("compra" , comment="Sobre Venta")

if close <= SL
    strategy.close ("compra" , comment="Salto SL")
    
// short

if (not vendido and Es_venta and dateFilter  )
    // realizar short
    cantidad = strategy.equity/hlc3
    strategy.entry ("venta", strategy.short , cantidad)
    SL := close*(1+(StopLoss/100))
    TP := close*(1-(TakeProfit/100))
    
if close <= TP
    strategy.close ("venta" , comment="Salto TP")  

if (vendido and Es_compra  )
    strategy.close ("venta" , comment="Sobre Compra")

if close >= SL
    strategy.close ("venta" , comment="Salto SL")

    

    
    
   ///////Salida//////
fill(l1,l2)
plot(mi_rsi)
plot(mm_rsi, color=color.yellow)

bgcolor(Es_compra ? color.blue : na , transp=0)
bgcolor(Es_venta ? color.red : na , transp=0)


// 1d 70 22 5 4 3 15    6 meses
//1h 70 20 6 4 5 7      1 mese
//15m 70 20 5 4 4 7      1 semana


আরো