Настройка стратегии кредитного плеча в скрипте Pine


Дата создания: 2023-12-29 10:46:35 Последнее изменение: 2023-12-29 10:46:35
Копировать: 0 Количество просмотров: 1170
1
Подписаться
1621
Подписчики

Настройка стратегии кредитного плеча в скрипте Pine

Обзор

Эта стратегия направлена на решение проблемы невозможности настройки леверинга во время отсчета сценария Pine, чтобы получить прибыль от леверинга. Стратегия рассчитывает количество открытых позиций путем расчета стратегических прав и интересов, установленного леверингового коэффициента и цены закрытия.

Стратегический принцип

  1. Настройка точности precision, управление точностью числа открывающих кладовщиков
  2. Настройка на множитель Leverage, по умолчанию 1x
  3. Количество открытых позиций:Lev = math.max(math.round(strategy.equity * leverage / close), 0)В этом случае, мы можем использовать их в соответствии с интересами и рычагом.
  4. Вход: сделайте больше, когда RSI пробивает 30 с низкого уровня; сделайте пустоту, когда RSI пробивает 70 с высокого уровня
  5. Заказ Lev по количеству вычисленных рук

Анализ преимуществ

  1. Решение проблемы с невозможностью настройки левера в скрипте Pine
  2. Изменения в правах и интересах пропорциональны количеству открытых позиций, что позволяет получить прибыль от использования леверана.
  3. RSI filtered, чтобы избежать бесполезных сделок
  4. Рассчитываемая точность - регулируемая для различных нужд

Анализ рисков

  1. Слишком высокий уровень леверана может привести к взрыву.
  2. Необходимость корректировки рычагов, открытия позиций, контроля риска

Направление оптимизации

  1. Можно проверить стабильность при различных параметрах
  2. Вместе с стратегией “стоп-лосс” для дальнейшего контроля риска
  3. Повышение эффективности стратегий с использованием многофакторных моделей

Подвести итог

Эта стратегия реализует настройки на использование леверинга в сценарии Pine, решает проблему с невозможностью имитировать леверинг, рассчитывает количество открытых позиций в зависимости от права и интересов, выполняет возвратный эффект от леверинга. Стратегия проста, эффективна, может быть оптимизирована и стоит изучить.

Исходный код стратегии
/*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)