Эта стратегия относится к типу стратегии короткого линейного скальпинга, целью которой является частое открытие позиций, чтобы достичь стабильной прибыли за счет небольшой прибыли и контроля над понижающимся риском. Стратегия делает больше, чтобы войти в возможную поворотную точку с помощью среднелинейных показателей, и устанавливает цель быстрого остановки, чтобы заблокировать небольшую прибыль.
Стратегия использует 4 движущихся средних линии: 9 циклов, 50 циклов, 100 циклов и 200 циклов.
Конкретные правила торговли таковы:
Такой комбинированный подход позволяет найти точку, где цены в краткосрочной перспективе будут падать, но, возможно, обратятся вспять.
Правило равного положения означает, что 9 циклических средних линий на 200 циклических средних линий. Здесь устанавливается более близкая стоп-стоп цель, которая направлена на достижение стабильной прибыли с помощью частых небольших прибылей.
Риски можно снизить следующими способами:
Эта стратегия может быть оптимизирована в следующих аспектах:
Тестируйте больше параметров среднелинейного цикла, чтобы найти комбинацию, которая более точно определяет обратный ход.
“Все, что мы делаем, - это пытаемся отвлечься от этого”, - сказал он.
К примеру, KDJ, MACD и т.д.
Установка размера позиции для динамической корректировки в зависимости от конкретной точки остановки и точки остановки убытков.
После прекращения игры, если тенденция сохранится, можно рассмотреть вопрос о повторном вступлении в игру с помощью условий.
Эта стратегия относится к типу стратегий короткой линии скальпинга, которая формирует торговый сигнал, определяя кратковременную обратную равнолинейную комбинацию, и устанавливает более близкие остановки, чтобы часто получать прибыль. Это позволяет эффективно контролировать одиночные потери и риск, подходит для роста небольшого количества капитала.
/*backtest
start: 2023-08-21 00:00:00
end: 2023-09-20 00:00:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
//strategy(shorttitle='Moving Average Scalper (by Coinrule)',title='Moving Average Scalper', overlay=true, initial_capital = 1000, default_qty_type = strategy.percent_of_equity, default_qty_type = strategy.percent_of_equity, default_qty_value = 30, commission_type=strategy.commission.percent, commission_value=0.1)
//Backtest dates
fromMonth = input(defval = 1, title = "From Month", type = input.integer, minval = 1, maxval = 12)
fromDay = input(defval = 10, title = "From Day", type = input.integer, minval = 1, maxval = 31)
fromYear = input(defval = 2019, title = "From Year", type = input.integer, minval = 1970)
thruMonth = input(defval = 1, title = "Thru Month", type = input.integer, minval = 1, maxval = 12)
thruDay = input(defval = 1, title = "Thru Day", type = input.integer, minval = 1, maxval = 31)
thruYear = input(defval = 2112, title = "Thru Year", type = input.integer, minval = 1970)
showDate = input(defval = true, title = "Show Date Range", type = input.bool)
start = timestamp(fromYear, fromMonth, fromDay, 00, 00) // backtest start window
finish = timestamp(thruYear, thruMonth, thruDay, 23, 59) // backtest finish window
window() => true // create function "within window of time"
//MA inputs and calculations
movingaverage_signal = sma(close, input(9))
movingaverage_fast = sma(close, input(50))
movingaverage_slow = sma(close, input(200))
movingaverage_mid= sma(close, input(100))
//Entry
bullish = crossover(movingaverage_signal, movingaverage_fast)
strategy.entry(id="long", long = true, when = bullish and movingaverage_fast < movingaverage_mid and movingaverage_mid < movingaverage_slow and window())
//Exit
bearish = crossover(movingaverage_signal, movingaverage_slow)
Stop_loss= ((input (2))/100)
Take_profit= ((input (8))/100)
longStopPrice = strategy.position_avg_price * (1 - Stop_loss)
longTakeProfit = strategy.position_avg_price * (1 + Take_profit)
strategy.close("long", when = bearish)
// close < longStopPrice or close > longTakeProfit and window())
//PLOT
plot(movingaverage_signal, color=color.black, linewidth=2 )
plot(movingaverage_fast, color=color.orange, linewidth=2)
plot(movingaverage_slow, color=color.purple, linewidth=2)
plot(movingaverage_mid, color=color.blue, linewidth=2)