Эта стратегия основана на определении и отслеживании двусторонних тенденций по показателю Aroon. Показатель Aroon позволяет эффективно определять направление рыночных тенденций, в сочетании с показателем RSI, позволяющим определять зоны перепродажи, образуя более полную стратегию отслеживания.
Используйте индикатор Aroon, чтобы определить направление ценовой тенденции. Индикатор, превышающий 0-ую линию, является тенденцией к росту, а ниже 0-ую линию - тенденцией к снижению.
Покупайте, когда индикатор Aroon пробивает линию 0 снизу.
Если склад был построен, и цена закрытия была ниже цены покупки, а RSI был ниже 30, считается перепродажей, и заложены.
Продажа производится в полном объеме, когда Aroon падает сверху ниже нулевой линии.
Устанавливается точка стоп-убытка в 5%, и если она превышает эту точку, производится стоп-продажа.
Использование показателя Aroon для определения направления тенденции позволяет эффективно улавливать точки роста рынка.
Индекс RSI помогает определить зоны перекупа и перепродажи, чтобы избежать преследования высоких и низких значений в рыночных точках.
Двусторонние сделки позволяют получать прибыль как в условиях повышения, так и в условиях снижения.
Установление стоп-пойнтов помогает контролировать риск.
Показатель Aroon задерживается и может пропустить кратковременные и внезапные перемены.
Неэффективное регулирование рынка может привести к увеличению количества ненужных сделок.
Двусторонние сделки увеличивают частоту сделок и стоимость комиссий.
Параметры должны быть скорректированы для различных циклов и сортов.
В сочетании с другими индикаторами, фильтрующими сигналы, снижают вероятность ошибочных сделок из-за задержки.
Увеличение количественных исследований, оптимизация комбинации параметров для совмещения различных сортов.
Повышение эффективности стратегий сдерживания и повышение коэффициента прибыли.
Подумайте о том, чтобы торговать только тогда, когда тенденция очевидна, чтобы уменьшить недействительные сделки.
Эта стратегия объединяет два показателя Aroon и RSI, чтобы сформировать более полную стратегию торговли двусторонним трендом. Однако, по-прежнему требуется дальнейшая настройка параметров оптимизации в сочетании с другими фильтрующими показателями, чтобы уменьшить вероятность ошибочной торговли. После оптимизации параметров и контроля риска эта стратегия может получить более стабильную прибыль.
/*backtest
start: 2023-09-09 00:00:00
end: 2023-09-12 00:00:00
period: 1m
basePeriod: 1m
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="Aroon Oscillator Strategy", overlay=false, pyramiding=2, initial_capital=10000, currency=currency.USD) //default_qty_value=10, default_qty_type=strategy.fixed,
//variables BEGIN
aroonLength=input(169,title="Aroon Length") //square root of 13
rsiLength=input(13, title="RSI Length")
stopLoss = input(title="Stop Loss%", defval=5, minval=1)
//variables END
//RSI
rsi13=rsi(close,rsiLength)
// Drawings
//Aroon oscillator
arronUpper = 100 * (highestbars(high, aroonLength+1) + aroonLength)/aroonLength
aroonLower = 100 * (lowestbars(low, aroonLength+1) + aroonLength)/aroonLength
aroonOsc = arronUpper - aroonLower
aroonMidpoint = 0
oscPlot = plot(aroonOsc, color=color.green)
midLine= plot(aroonMidpoint, color=color.green)
topLine = plot(90,style=plot.style_circles, color=color.green)
bottomLine = plot(-90,style=plot.style_circles, color=color.red)
fill(oscPlot, midLine, color=aroonOsc>0?color.green:color.red, transp=50)
fill(topLine,bottomLine, color=color.blue)
// RSI
//plot(rsi13, title="RSI", linewidth=2, color=color.purple)
//hline(50, title="Middle Line", linestyle=hline.style_dotted)
//obLevel = hline(80, title="Overbought", linestyle=hline.style_dotted)
//osLevel = hline(30, title="Oversold", linestyle=hline.style_dotted)
//fill(obLevel, osLevel, title="Background", color=rsi13 >=30 ? color.green:color.purple, transp=65) // longTermRSI >=50
//Entry--
strategy.entry(id="Long Entry", comment="LE", long=true, when= crossover(aroonOsc,0) ) //crossover(close,ema34) //and close>ema34 //crossover(rsi5Val,rsiBuyLine)
//Add
if(strategy.position_size>=1 and close < strategy.position_avg_price and crossover(rsi13,30))
strategy.order(id="Long Entry", comment="Add", long=true ) //crossover(close,ema34) //and close>ema34 //crossover(rsi5Val,rsiBuyLine) --
stopLossVal= abs(strategy.position_size)>1 ? strategy.position_avg_price*(1-0.5) : 0.00
//close partial
strategy.close(id="Long Entry", comment="Partial X", qty=strategy.position_size/3, when=abs(strategy.position_size)>=1 and crossunder(aroonOsc, 90) ) //close<ema55 and rsi5Val<20 //ema34<ema55
//close All
strategy.close(id="Long Entry", comment="Exit All", when=abs(strategy.position_size)>=1 and crossunder(aroonOsc, 0) ) //close<ema55 and rsi5Val<20 //ema34<ema55 //close<ema89
//close All on stop loss
strategy.close(id="Long Entry", comment="Stoploss X", when=abs(strategy.position_size)>=1 and close < stopLossVal ) //close<ema55 and rsi5Val<20 //ema34<ema55 //close<ema89