Configurando estratégia de alavancagem no script Pine


Data de criação: 2023-12-29 10:46:35 última modificação: 2023-12-29 10:46:35
cópia: 0 Cliques: 1170
1
focar em
1621
Seguidores

Configurando estratégia de alavancagem no script Pine

Visão geral

Esta estratégia visa resolver o problema de não poder definir a alavancagem durante a retrospectiva do script Pine, para obter um retorno de alavancagem. A estratégia calcula o número de posições abertas dinamicamente, calculando os juros da estratégia, o multiplicador de alavancagem definido e o preço de encerramento.

Princípio da estratégia

  1. Configuração de precisão de precisão, controle de precisão do número de apostas
  2. Configure o multiplicador de alavancagem, o padrão é 1x
  3. Calcular o número de apostas:Lev = math.max(math.round(strategy.equity * leverage / close), 0)A taxa de juro é a taxa de juro mais baixa do mundo.
  4. Entrada: Fazer mais quando o RSI ultrapassa 30 de baixa para cima; fechar de baixa quando ultrapassa 70 de alta para baixo
  5. Lev encomenda de acordo com o número de mãos calculadas

Análise de vantagens

  1. Solução para o problema de que o script Pine não pode definir a alavancagem
  2. Mudanças de equidade de interesse proporcionais ao número de investidores, levando à recuperação de alavancagem
  3. Indicadores RSI filtrados para evitar transações inúteis
  4. A precisão do cálculo da mão pode ser ajustada para atender a diferentes necessidades

Análise de Riscos

  1. Levação excessiva pode provocar ruptura de posição
  2. Ajustar a alavancagem, o número de apostas e controlar o risco

Direção de otimização

  1. Estabilidade sob diferentes parâmetros
  2. Pode ser combinado com estratégias de stop loss para controlar ainda mais os riscos
  3. Modelos multifatoriais podem ser considerados para melhorar a eficácia da estratégia

Resumir

Esta estratégia implementa a configuração de alavancagem em scripts Pine, resolve o problema de que o feedback não pode simular a alavancagem, calcula a correlação entre o número de postores abertos e o direito de participação, e completa o retorno de alavancagem. A estratégia é simples e eficaz, pode ser otimizada ainda mais e vale a pena aprender.

Código-fonte da estratégia
/*backtest
start: 2022-12-22 00:00:00
end: 2023-12-28 00:00:00
period: 1d
basePeriod: 1h
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/
// © RingsCherrY

//@version=5
strategy("How to use Leverage in PineScript", overlay=true, pyramiding=1, initial_capital=1000000, default_qty_type=strategy.percent_of_equity, default_qty_value=100, calc_on_order_fills=false, slippage=0, commission_type=strategy.commission.percent, commission_value=0.04)

//////////////////////////////////////////
////////////////Indicators////////////////
//////////////////////////////////////////

length = input( 14 )
overSold = input( 30 )
overBought = input( 70 )
price = close
vrsi = ta.rsi(price, length)
co = ta.crossover(vrsi, overSold)
cu = ta.crossunder(vrsi, overBought)

//////////////////////////////////////////
/////////////////Leverage/////////////////
//////////////////////////////////////////


//The number of decimal places for each position opening, i.e., the accuracy
precision = input.int(1,title='Precision')

//Leverage, the default is 1, here is not recommended to open a high leverage

leverage = input.int(1,title='Leverage',minval = 1, maxval = 100 ,step = 1)

//Calculate the number of open contracts, here using equity for calculation, considering that everyone compound interest is used for trading equity
Lev = math.max(math.round(strategy.equity * leverage  / close , precision), 0)

if (not na(vrsi))
	if (co)
		strategy.entry("RsiLE", strategy.long,qty = Lev, comment="RsiLE")
	if (cu)
		strategy.entry("RsiSE", strategy.short,qty = Lev, comment="RsiSE")
//plot(strategy.equity, title="equity", color=color.red, linewidth=2, style=plot.style_areabr)