Ruda Momentum Trend Trading Strategy

EMA OBV
تخلیق کی تاریخ: 2024-04-03 15:16:47 آخر میں ترمیم کریں: 2024-04-03 15:16:47
کاپی: 0 کلکس کی تعداد: 700
1
پر توجہ دیں
1617
پیروکار

Ruda Momentum Trend Trading Strategy

جائزہ

روڈا متحرک رجحانات کی تجارت کی حکمت عملی ایک مقدار کی تجارت کی حکمت عملی ہے جو حرکیات اور رجحانات کے اشارے پر مبنی ہے۔ اس حکمت عملی میں OBV ((On Balance Volume) ، EMA ((Exponential Moving Average) اور 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. پوزیشن مینجمنٹ اور رسک کنٹرول ماڈیولز کو متعارف کرانے پر غور کریں ، تاکہ منافع کے خطرے سے متعلق تناسب کو بہتر بنایا جاسکے۔

خلاصہ کریں۔

روڈا متحرک رجحانات کی تجارت کی حکمت عملی ایک سادہ اور آسان استعمال کرنے والی مقداری تجارت کی حکمت عملی ہے ، جو رجحانات اور متحرک اشارے کے امتزاج کے ذریعے مضبوط اقسام اور رجحان کے مواقع کو پکڑنے کے قابل ہے۔ تاہم ، اس حکمت عملی میں کچھ حدود بھی ہیں ، جیسے اشارے کے پیرامیٹرز کو بہتر بنانا ، موافقت کے طریقہ کار کو متعارف کرانا ، ریٹرننگ کے دائرے کو بڑھانا اور خطرے کے انتظام کو بڑھانا ، حکمت عملی کی استحکام اور منافع بخش صلاحیت کو بڑھانے کے لئے مستقبل میں حکمت عملی کو بہتر اور بہتر بنایا جاسکتا ہے۔

حکمت عملی کا ماخذ کوڈ
/*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)