روڈا مومنٹم ٹرینڈ ٹریڈنگ حکمت عملی مومنٹم اور ٹرینڈ اشارے پر مبنی ایک مقداری تجارتی حکمت عملی ہے۔ یہ حکمت عملی خرید و فروخت کے سگنل کا تعین کرنے کے لئے OBV (بیلنس حجم پر) ، EMA (اضافی حرکت پذیر اوسط) ، اور موم بتی کے جسم کے تناسب جیسے اشارے استعمال کرتی ہے۔ جب قلیل مدتی EMA طویل مدتی EMA سے تجاوز کرتا ہے تو ، OBV ایک نئی اونچائی تک پہنچ جاتا ہے ، اور موم بتی کے جسم کا تناسب مقررہ حد سے زیادہ ہوتا ہے ، حکمت عملی اگلے دن کی افتتاحی قیمت پر خریدتی ہے۔ جب قیمت اسٹاپ نقصان کی قیمت سے نیچے آجاتی ہے یا اختتامی قیمت قلیل مدتی EMA سے نیچے آجاتی ہے تو ، حکمت عملی پوزیشن کو بند کردیتی ہے۔
روڈا مومنٹم ٹرینڈ ٹریڈنگ حکمت عملی ایک سادہ اور استعمال میں آسان مقداری تجارتی حکمت عملی ہے جو رجحان اور رفتار کے اشارے کو جوڑ کر مضبوط آلات اور رجحان کے مواقع کو حاصل کرتی ہے۔ تاہم ، اس حکمت عملی کی کچھ حدود بھی ہیں ، جیسے اشارے کی تاخیر اور مقررہ پیرامیٹرز۔ مستقبل میں ، حکمت عملی کو اشارے کے پیرامیٹرز کو بہتر بنانے ، موافقت پذیر میکانزم متعارف کرانے ، بیک ٹیسٹنگ کے دائرہ کار کو بڑھانے ، اور حکمت عملی کی استحکام اور منافع بخش بنانے کے لئے رسک مینجمنٹ کو مضبوط بنانے کے ذریعے بہتر بنایا جاسکتا ہے۔
/*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)