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