Estratégia de negociação em pontos de entrada aleatórios
A estratégia de negociação do Random Entry Point usa números inteiros gerados aleatoriamente para determinar entradas para negociações longas e curtas.
Os princípios desta estratégia são:
Definir um número inteiro aleatório, por exemplo 6.
Cada vez que uma nova vela se forma, tome o volume atual modulo o inteiro aleatório para obter um número aleatório entre 0-5.
Divida 0-5 em duas metades, 0-2 para transações longas, 3-5 para transações curtas.
Se o número for entre 0-2 e não houver posição atual, vá longo.
Estabelecer um stop loss e obter lucro após a entrada nas negociações, por exemplo, -5% SL, 15% TP. Espere que o SL/TP seja acionado.
Posições limpas depois de atingido o SL/TP, e aguardar o próximo sinal aleatório.
Repetir os passos 1 a 6 para tomar continuamente posições longas/cortas aleatórias.
A lei dos grandes números garante a rentabilidade a longo prazo, a SL controla o risco.
As vantagens desta estratégia são a simplicidade de implementação, a ausência de necessidade de prever a direção do mercado, a lucratividade a longo prazo seguindo sinais aleatórios.
Em resumo, a estratégia Random Entry Point baseia-se na lei dos grandes números para a rentabilidade, utiliza SL/TP para controlar o risco, adequado para investidores com capital suficiente para uso a longo prazo.
/*backtest start: 2022-09-11 00:00:00 end: 2023-04-14 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 // strategy(title="Random entry points",overlay=true, default_qty_type=strategy.cash, default_qty_value=500, currency="USD", initial_capital = 1000, commission_type=strategy.commission.percent, commission_value=0.07) i = input(defval = 6, title = 'Random integer', type = input.integer) stop_loss = input(defval = -5, title = 'Stop loss', type = input.integer) take_profit = input(defval = 15, title = 'Take profit', type = input.integer) random = volume % i trade_area = float(i) / 2 var profit = 0.0 var start_price = 0.0 var in_deal = false if not in_deal profit := 0.0 if random < trade_area and not in_deal in_deal := true start_price := close strategy.entry("long", true) if in_deal profit := (close / start_price -1) * 100 if profit < stop_loss or profit > take_profit strategy.close("long") in_deal := false