RVI এবং EMA এর উপর ভিত্তি করে বিটকয়েন ট্রেডিং কৌশল


সৃষ্টির তারিখ: 2024-02-22 13:50:17 অবশেষে সংশোধন করুন: 2024-02-22 13:50:17
অনুলিপি: 0 ক্লিকের সংখ্যা: 776
1
ফোকাস
1617
অনুসারী

RVI এবং EMA এর উপর ভিত্তি করে বিটকয়েন ট্রেডিং কৌশল

ওভারভিউ

এই কৌশলটি RVI ((Relative Strength Index) এবং EMA ((Index Moving Average) এর উপর ভিত্তি করে তৈরি করা হয়েছে। এটি RVI-তে মুনাফা দেয়, দ্রুত EMA-তে ধীর EMA-তে বেশি করে, এবং ধীর EMA-তে দ্রুত EMA-তে শূন্য করে, একটি প্রবণতা এবং ওভারবাইট ওভারসেলের উপর ভিত্তি করে একটি পরিমাণযুক্ত ট্রেডিং কৌশল বাস্তবায়ন করে।

কৌশল নীতি

  1. আরভিআই ব্যবহার করে ওভারবই ওভারসোলের বিচার করুন। যখন আরভিআই সূচক লাইনে তার সংকেত লাইনটি অতিক্রম করে তখন ওভারবই সংকেতের জন্য বেশি করুন; যখন আরভিআই সূচক লাইনের নীচে তার সংকেত লাইনটি অতিক্রম করে তখন ওভারসোল সংকেতের জন্য ফাঁকা করুন।

  2. ডাবল ইএমএ ব্যবহার করে ট্রেন্ডের দিক নির্ণয় করুন। যখন দ্রুত ইএমএ ধীর ইএমএর উপরে থাকে তখন এটি মুদ্রাস্ফীতির প্রবণতা এবং যখন ধীর ইএমএ দ্রুত ইএমএর উপরে থাকে তখন এটি পতনের প্রবণতা।

  3. আরভিআই যখন মুনাফা দেয় এবং ইএমএ যখন মুনাফা দেয় তখনই একাধিক লেনদেন করা হয়; আরভিআই যখন মুনাফা দেয় এবং ইএমএ যখন মুনাফা দেয় তখনই ফাঁকা লেনদেন করা হয়।

  4. একটি ওভারডোজ স্টপ সর্বশেষ সর্বনিম্নের নিচে অবস্থিতatr*atrSL দূরত্ব, স্টপটি নিকটতম উচ্চতার উপরে অবস্থিতatr*atrTP দূরত্ব; কমান্ডের পরে স্টপ লস সর্বশেষ উচ্চতার উপরে অবস্থিতatr*atrSL দূরত্ব, স্টপটি সর্বনিম্ন নিম্নতম অবস্থানের নিচে অবস্থিতatr*atrTP দূরত্ব

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

  1. ট্রেন্ডিং এবং ওভারবয় ওভারসেলিং সূচকগুলির সংমিশ্রণে, ভুয়া ব্রেকডাউন এড়ানো যায়।

  2. ডায়নামিক স্টপ লস স্টপ, যা আপনাকে বড় বড় বিষয়গুলো বুঝতে সাহায্য করে।

  3. ট্রেডিং সিগন্যাল সঠিক, ট্রেন্ডের গুণমান এবং ওভারবয় ওভারসেলের মাত্রা বিবেচনা করে।

  4. রিটার্নিং ডেটা পর্যাপ্ত, প্যারামিটারগুলি অপ্টিমাইজ করা হয়েছে, রিয়েল-ডিস্কটি ভাল করছে।

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

  1. বড় আকারের অস্থির বাজারে, EMA-এর সিদ্ধান্তের প্রবণতা প্রায়শই পরিবর্তিত হয় এবং ট্রেডিং ফ্রিকোয়েন্সি খুব বেশি হতে পারে।

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

  3. স্টপ লস স্টপ ফ্যাক্টরটি বাজারের অস্থিরতার উপর ভিত্তি করে যুক্তিসঙ্গতভাবে সেট করা দরকার, অন্যথায় ঝুঁকি কার্যকরভাবে নিয়ন্ত্রণ করা যায় না।

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

  1. ট্রেডিংয়ের সিদ্ধান্তকে আরও সুনির্দিষ্ট করার জন্য, আরও কিছু সহায়ক সূচক যুক্ত করার কথা বিবেচনা করা যেতে পারে, যেমন ঝাঁকুনি সূচক, বুলিং লাইন চ্যানেল ইত্যাদি।

  2. স্টপ-ড্রপ দূরত্বকে গতিশীলভাবে সামঞ্জস্য করতে পারে যেমন ATR এর মতো ওঠানামা হারের সূচকগুলির সাথে মিলিত করা যায়, বড় ওঠানামার সময় স্টপ-ড্রপ পরিসীমা যথাযথভাবে প্রশস্ত করা যায়।

  3. বিভিন্ন জাতের জন্য পরামিতিগুলির সমন্বয় পরীক্ষা করা যায়, সর্বোত্তম পরামিতিগুলি নির্বাচন করা যায় এবং কৌশল স্থিতিশীলতা বাড়ায়।

সারসংক্ষেপ

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

কৌশল সোর্স কোড
/*backtest
start: 2024-01-22 00:00:00
end: 2024-02-21 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//this strategy works well on h4 (btc or eth)


//@version=5
strategy(title="Relative Vigor Index", shorttitle="RVGI",overlay=true)
//indicator(title="Relative Vigor Index", shorttitle="RVGI", format=format.price, precision=4, timeframe="", timeframe_gaps=true)
len = input.int(4, title="Length rvi", minval=1)
rvi = math.sum(ta.swma(close-open), len)/math.sum(ta.swma(high-low),len)
sig = ta.swma(rvi)
offset = input.int(0, "Offset rvi", minval = -500, maxval = 500)


atrlength = input.int(19,title="Atr Length",minval=1)
ema1 =  input.int(95,title="Long EMA rapida",minval=1,step=10)
ema2 =  input.int(200,title="Long EMA lenta",minval=1,step=10)

atrSL = input.float(2.0,title="Atr SL", step=0.1)
atrTP = input.float(1.0,title="Atr TP", step=0.1)

atr = ta.atr(atrlength)
esalcista = low > ta.ema(close,ema1) and ta.ema(close,ema1) > ta.ema(close,ema2)
bajista = high < ta.ema(close,ema1) and ta.ema(close,ema1) < ta.ema(close,ema2)


//plot(high + atr)
//plot(low - atr)

//strategy.entry("compra",strategy.long, when=ta.crossover(rvi,sig))
//strategy.close("compra",when=ta.crossunder(rvi,sig))

//plot(rvi, color=#008000, title="RVGI", offset = offset)
//plot(sig, color=#FF0000, title="Signal", offset = offset)
//plotshape(true,style=shape.xcross)

var TP = 0.0
var SL = 0.0

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

crucepositivo = ta.crossover(rvi,sig)
crucenegativo = ta.crossunder(rvi,sig)

if comprado
    // ver SL
    if low < SL
        strategy.close("BUY",comment="SL")
        
        
if comprado    
    //ver tp
    if high > TP
        strategy.close("BUY",comment="TP")
        
       
    
    
    
if not comprado and not vendido
    if crucepositivo and esalcista
        strategy.entry("BUY",strategy.long)
        SL := low - (atr * atrSL)
        TP := high + (atr * atrTP)
        alert("BUY",alert.freq_once_per_bar)



//---------------

if vendido
    // ver SL
    if high > SL
        strategy.close("SELL",comment="SL")
        
        
if vendido    
    //ver tp
    if low < TP
        strategy.close("SELL",comment="TP")
        
       

if not vendido and not comprado
    if crucenegativo and bajista
        strategy.entry("SELL",strategy.short)
        SL := high + (atr * atrSL)
        TP := low - (atr * atrTP)
        alert("SELL",alert.freq_once_per_bar)







//----------------

//plotshape(comprado,style=shape.xcross)
plot( comprado ? SL : na, color=color.red,style=plot.style_circles)
plot( comprado ? TP : na, color=color.blue,style=plot.style_circles)

plot( ta.ema(close,ema1),color=color.orange)
plot( ta.ema(close,ema2),color=color.yellow)


plot( vendido ? SL : na, color=color.red,style=plot.style_circles)
plot( vendido ? TP : na, color=color.blue,style=plot.style_circles)