রুডা মোমেন্টাম ট্রেন্ড ট্রেডিং কৌশল

EMA OBV
সৃষ্টির তারিখ: 2024-04-03 15:16:47 অবশেষে সংশোধন করুন: 2024-04-03 15:16:47
অনুলিপি: 0 ক্লিকের সংখ্যা: 700
1
ফোকাস
1617
অনুসারী

রুডা মোমেন্টাম ট্রেন্ড ট্রেডিং কৌশল

ওভারভিউ

Ruda গতিশীল ট্রেডিং কৌশল একটি গতিশীল এবং প্রবণতা সূচক উপর ভিত্তি করে একটি পরিমাণগত ট্রেডিং কৌশল। এই কৌশলটি OBV (অন ব্যালেন্স ভলিউম), EMA (এক্সপোনেনশিয়াল মুভিং এভারেজ) এবং K-লাইন সত্তার অনুপাতের মতো সূচকগুলি ব্যবহার করে কেনার এবং বিক্রির সময় নির্ধারণ করে। যখন দীর্ঘমেয়াদী EMA, OBV উদ্ভাবনী উচ্চ, এবং K-লাইন সত্তার অনুপাত সেট থ্রেশহোল্ডের চেয়ে বড় হয়, তখন কৌশলটি পরের দিন খোলার দাম দিয়ে কিনবে; যখন দামটি হ্রাস পায় বা বন্ধের দামটি স্বল্পমেয়াদী EMA এর নীচে পড়ে, তখন কৌশলটি বন্ধ হয়ে যায়।

কৌশল নীতি

  1. দুটি ইএমএ লাইন গণনা করুন, স্বল্পমেয়াদী ইএমএ প্যারামিটারটি 5 এবং দীর্ঘমেয়াদী ইএমএ প্যারামিটারটি 21। যখন একটি স্বল্পমেয়াদী ইএমএ একটি দীর্ঘমেয়াদী ইএমএ পরা হয়, তখন এটি একটি ট্রেন্ড বলে মনে করা হয়, বিপরীতে এটি একটি ট্রেন্ড।
  2. ওবিভি সূচক গণনা করে, যখন ওবিভি 10 দিনের নতুন উচ্চতা অর্জন করে, তখন মাল্টিহেড গতিশীলতা শক্তিশালী বলে মনে করা হয়।
  3. K-লাইন এন্ট্রি অনুপাত গণনা করুন, যখন এন্ট্রি অনুপাতটি সেট থ্রেশহোল্ডের চেয়ে বড় হয় (ডিফল্ট 50%), প্রবণতাটি প্রতিষ্ঠিত বলে মনে করা হয়।
  4. যখন ট্রেন্ডটি উর্ধ্বমুখী হয়, যখন মাল্টিপ্লেয়ারটি শক্তিশালী হয় এবং ট্রেন্ডটি প্রতিষ্ঠিত হয়, তখন কৌশলটি পরের দিন খোলার দামের উপর ক্রয় করে, এবং স্টপ-ড্রসটি দিনের সর্বনিম্ন মূল্য এবং খোলার মূল্যের -1% এর সর্বনিম্ন মান।
  5. যখন দাম স্টপ লস বা ক্লোজ-অফ ইএমএর নিচে চলে যায়, তখন কৌশলটি প্লেইন করা হয়।

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

  1. প্রবণতা এবং গতিশীলতা সূচকগুলির সমন্বয়ে, এটি শক্তিশালী জাতগুলিকে ধরতে পারে।
  2. পরের দিন খোলার দামের ক্রয় এবং গতিশীল স্টপ লস ব্যবহার করে, কিছু ভুয়া ব্রেকডাউন এড়ানো যেতে পারে।
  3. স্টপ লস এবং স্টপ স্টপ শর্তাদি স্পষ্ট, ঝুঁকি নিয়ন্ত্রণযোগ্য।

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

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

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

  1. প্রবণতা এবং গতিশীলতা সূচকগুলির প্যারামিটারগুলিকে অপ্টিমাইজ করা, সূচকের সংবেদনশীলতা এবং কার্যকারিতা উন্নত করা।
  2. বাজারের অবস্থার মূল্যায়ন করার জন্য, বর্তমান বাজারের বৈশিষ্ট্যগুলির উপর ভিত্তি করে গতিশীলতা সমন্বয় প্যারামিটার চালু করুন।
  3. পুনঃনিরীক্ষণের পরিধি বাড়ানো, বিভিন্ন বাজার এবং জাতের জন্য পরীক্ষা করা, এবং কৌশলগুলির স্থিতিশীলতা বাড়ানো।
  4. পজিশন ম্যানেজমেন্ট এবং রিস্ক কন্ট্রোল মডিউল চালু করার কথা বিবেচনা করুন, যা রিটার্ন-রিস্ক অনুপাত বাড়িয়ে তুলবে।

সারসংক্ষেপ

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

কৌশল সোর্স কোড
/*backtest
start: 2024-03-01 00:00:00
end: 2024-03-31 23:59:59
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/
// © lhcbenac

//@version=5
strategy('Ruda_Strategy', overlay=true , initial_capital=5000 , pyramiding = 3, commission_type =  strategy.commission.cash_per_contract , commission_value =  1 )

//
// 
////////////////////////////////////////////////////////
//                                                    //
//                                                    //
//                    Otimizações                     //
//                                                    //
//                                                    //
////////////////////////////////////////////////////////
//
// 

////////////////////////////////////////////////////////
//                                                    //
//                                                    //
//                 Codigo Operacional                 //
//                                                    //
//                                                    //
////////////////////////////////////////////////////////
//
//
// Indica situação de Compra ou Venda

// Condição True or False 
YEAR_BT= input.int(1,title="Nº Anos ", group = "Backtest")

INPUT_ME1 = input.int(5,title="Momentum ", group = "RUDA")
INPUT_ME2 = input.int(21,title="Trend ", group = "RUDA")
INPUT_CORPO = input.int(50,title="CORPO ", group = "RUDA")/100



v_obv = ta.obv
v_med1 = ta.ema(close , INPUT_ME1)
v_med2 = ta.ema(close , INPUT_ME2)
valid_1 = v_med1 > v_med2 
valid_2 = v_obv >= ta.highest(v_obv[1], 10)
valid_3 = math.abs(close - open) / (high-low) > INPUT_CORPO
plot(v_med1)
plot(v_med2)

compra = valid_1 and valid_2 and  strategy.position_size == 0 and valid_3


var float v_minima_ref = na

dataInicio = timestamp(year(timenow) - YEAR_BT, month(timenow), dayofmonth(timenow), 00, 00)

// Variáveis globais
var float preco_entrada = na
var float preco_stop = na

if compra and time >= dataInicio and ta.change(time("D")) != 0 and ta.change(compra)  
    v_minima_ref := low
    preco_entrada := open
    preco_stop := math.min(low, open - 0.01 * open)
    strategy.entry("Compra", strategy.long , stop = preco_stop )
    if (not na(preco_entrada) and not na(preco_stop))
        label.new(x=bar_index, y= low * 0.9, text= "Dia: " + str.tostring(dayofmonth) + "\nPreço de Entrada: " + str.tostring(preco_entrada) + "\nPreço de Stop Loss: " + str.tostring(preco_stop), style=label.style_label_up, color=color.green)

    
    
// Lógica de saída
// Saída no stop loss
if (not na(preco_stop) and low < preco_stop and ta.change(low) < 0)
    strategy.close("Compra", comment="Saída no Stop")

// Saída no lucro
if (close < v_med1 and ta.change(close) < 0)
    strategy.close("Compra", comment="Saída na Media")

venda =( (not na(preco_stop) and low < preco_stop and ta.change(low) < 0) or (close < v_med1 and ta.change(close) < 0) ) and strategy.position_size > 0
codiff = compra ? 1 : venda ? -1 : na 
plotarrow(codiff, colorup=#00c3ff, colordown=#ff0062,title="Compra", maxheight=20, offset=0)