
Эта стратегия использует золотую разделительную линию в поясе Бурин, в сочетании с равнолинейным формальным суждением для регрессионной торговли. Когда цена касается золотой разделительной линии в поясе Бурин, это рассматривается как сигнал к покупке, используя характеристику равномерного возвращения цены для получения прибыли.
Использование ввма вместо сма в качестве средней полосы для брин-пояса лучше отражает тенденции движения цены
Золотой раздел является важной зоной поддержки/сопротивления, которая служит основанием для возвращения
Средняя линия с множественным расположением, обеспечивает большую тенденцию вверх
Фиксированный стоп обеспечивает контроль за одиночными потерями
Золотая разделительная линия не является определенной опорой, цена может упасть прямо через нее
Фиксированный стоп может быть слишком произвольным и следует учитывать его корректировку в зависимости от рыночных колебаний.
Среднелинейное многоголовое соединение также может быть ложным прорывом, которое следует оценить с помощью дополнительных показателей.
Длина возвращения неопределенна, необходимо установить разумную точку отхода
Можно тестировать различные комбинации параметров, такие как цикл Бринбиндов, кратность стандартного отклонения, фиксированный процент остановки и т. д.
Можно добавить дополнительные показатели для определения рыночных тенденций и вероятности возврата, такие как MACD, KD и т. д.
Можно рассматривать динамический стоп, стоп по ATR или стоп с отслеживанием
Можно оптимизировать стратегии блокировки, такие как мобильные блокировки, блокировки в группах и т. Д.
Эта стратегия использует золотой разделительный пояс Брин для сбалансированной регрессионной торговли, имеет преимущества, такие как четкая логика торговли, простая настройка параметров, контролируемая отмена. Но также существует определенный риск, который требует дальнейшего тестирования и оптимизации, добавления большего количества технических показателей и инструментов остановки / остановки, прежде чем его можно будет применить на практике. В целом, эта стратегия предлагает идею для количественной торговли с использованием правила золотой разделения и заслуживает дальнейшего изучения.
/*backtest
start: 2023-10-01 00:00:00
end: 2023-10-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/
// © mohanee
//@version=4
strategy(title="Bollinger Band with Fib Golden Ratio (0.618)", shorttitle="Bollinger Band with Fib Golden Ratio" , overlay=true, pyramiding=1, default_qty_type=strategy.percent_of_equity, default_qty_value=20, initial_capital=10000, currency=currency.USD)
length = input(50,title="BB Length" , minval=1)
src1 = input(hlc3, title="Source")
//mult1 = input(1.33, minval=0.001, maxval=50)
mult = input(1.5,title="multplier", minval=0.001, maxval=50)
stopLoss=input(5,title="Stop Loss",minval=1)
basis = vwma(src1, length)
dev = mult * stdev(src1, length)
//dev3 = mult3 * stdev(src, length)
upper_618= basis + (0.618*dev)
lower_618= basis - (0.618*dev)
//lower_618_dev3= basis - (0.618*dev3)
plot_upper618= plot(upper_618, color=color.purple, linewidth=2, title="0.618")
plot(basis, color=color.purple,style=plot.style_circles, linewidth=2)
plot_lower618= plot(lower_618, color=color.purple, linewidth=2, title="0.618 entry")
//plot_lower618_dev3= plot(lower_618_dev3, color=color.red, linewidth=1, title="0.618 stop")
//plot_lower618= plot(lower_618, color=color.purple, linewidth=1, title="0.618 entry")
ema200=ema(close,200)
ema50=ema(close,50)
plot (ema200, title="ema200", color=color.orange, linewidth=2)
plot (ema50, title="ema50", color=color.blue , linewidth=2)
longCondition= ema50 > ema200
strategy.entry(id="BB_Fib618", long=true, when = longCondition and ( close < lower_618 or low <= lower_618) )
strategy.close(id="BB_Fib618", comment="points="+tostring(close - strategy.position_avg_price, "###.##") , when = strategy.position_size >= 1 and crossover(close,upper_618 ))
//stoploss exit
stopLossVal = strategy.position_size>=1 ? strategy.position_avg_price * ( 1 - (stopLoss/100) ) : 0.00
strategy.close(id="BB_Fib618", comment="SL="+tostring(close - strategy.position_avg_price, "###.##"), when=abs(strategy.position_size)>=1 and close < stopLossVal ) //and close > strategy.position_avg_price )