
Стратегия промежуточной торговли - это стратегия отслеживания тенденций, основанная на движущихся средних. Эта стратегия использует 30-дневную индикаторную движущуюся среднюю для определения ценовой тенденции, входя в поле, когда цена превышает среднюю, и выходя из поля, когда цена возвращается ниже средней.
Эта стратегия основана на зависимости цены от 30-дневного скользящего среднего индекса для определения входных и выходных сигналов. В частности:
Таким образом, с помощью прорыва в тренде цены CAPTURE, можно закрепить возможности для торговли в тренде.
Эта стратегия имеет следующие преимущества:
Однако эта стратегия также несет в себе некоторые риски:
Эта стратегия может быть оптимизирована в следующих аспектах:
Стратегия промежуточной торговли, используемая для отслеживания тенденций путем захвата цены на прорыв EMA, является простой и практичной количественной стратегией. Стратегия может быть гибко адаптирована и оптимизирована для средне- и долгосрочных позиций, а также для коротких сделок. В целом, риск стратегии является управляемым, и если параметры настроены правильно, можно получить стабильную прибыль.
/*backtest
start: 2024-01-23 00:00:00
end: 2024-02-22 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Spaced Out Trading Strategy", overlay=true)
// Define strategy parameters
emaPeriod = input(30, title="EMA Period") // Longer EMA period for more spaced-out trades
stopLossPct = input(2.0, title="Stop Loss Percentage") // Stop loss percentage
takeProfitPct = input(3.0, title="Take Profit Percentage") // Take profit percentage
// Calculate EMA
emaValue = ta.ema(close, emaPeriod)
// Define entry and exit conditions
enterLong = ta.crossover(close, emaValue)
exitLong = ta.crossunder(close, emaValue)
// Place orders
contractsQty = 5 // Number of contracts to buy
var float lastTradePrice = na // Track the last trade price
if enterLong and strategy.position_size == 0
strategy.entry("Buy Call", strategy.long, qty = contractsQty)
lastTradePrice := close
else if exitLong and strategy.position_size > 0
strategy.close("Buy Call")
lastTradePrice := na
// Calculate stop loss and take profit
stopLossPrice = lastTradePrice * (1 - stopLossPct / 100)
takeProfitPrice = lastTradePrice * (1 + takeProfitPct / 100)
strategy.exit("Sell Call", "Buy Call", stop = stopLossPrice, limit = takeProfitPrice)