Эта стратегия относится к типу стратегии скальпинга, целью которой является частое открытие и закрытие позиций для получения прибыли от небольших прибылей при одновременном ограничении рисков снижения.
Стратегия использует 4 скользящих средних - 9, 50, 100 и 200 периодов.
Специфическими правилами торговли являются:
Эта комбинация определяет ситуации, когда цена находится в краткосрочном нисходящем тренде, но может произойти обратное движение.
Правило выхода заключается в том, когда 9 MA пересекает 200 MA. Цель близкая к прибыли используется для блокировки частых небольших прибылей для стабильной прибыли.
Риски могут быть уменьшены:
Стратегия может быть улучшена путем:
Оптимизация комбинаций MA
Испытание большего количества периодов MA для лучшего обнаружения обратной реакции.
Увеличение уровня прибыли
Допустить более широкое расстояние TP для большей прибыли тренда.
Добавление других показателей
Например, KDJ, MACD для подтверждения, чтобы уменьшить недействительные сделки.
Оптимизация размеров позиций
Динамические позиции размеров, основанные на конкретных TP и SL.
Добавление правил повторного въезда
Подумайте о повторном входе после TP, если тенденция сохранится.
Эта стратегия скальпинга определяет потенциальные краткосрочные реверсии с комбинациями MA для частых небольших прибылей. Это эффективно контролирует одиночные потери и риски, что делает ее подходящей для роста небольших счетов. Однако существуют ограничения, такие как небольшой диапазон прибыли и чрезмерные сделки. Улучшения могут быть сделаны с помощью настройки параметров, корректировки TP, добавления фильтров и т. Д., Чтобы расширить прибыль, сохраняя свои сильные стороны, делая стратегию более надежной и эффективной.
/*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)