МА КРОССОВЕР

Автор:Чао Чжан, Дата: 2023-09-04 15:55:46
Тэги:

Стратегия MA Crossover - это техническая стратегия торговли, которая использует скользящий средний кроссовер для выявления торговых возможностей.

Стратегия работает путем выявления перекресток между быстрыми и медленными скользящими средними. Когда быстрая скользящая средняя пересекает верхнюю часть медленной скользящей средней, генерируется сигнал покупки. Когда быстрая скользящая средняя пересекает нижнюю часть медленной скользящей средней, генерируется сигнал продажи.

Стратегия MA Crossover является относительно простой в использовании, но она может быть очень эффективной.

Вот некоторые из преимуществ использования стратегии перекрестного использования:

Это простая стратегия, что делает ее доступной для трейдеров всех уровней опыта. Она основана на надежных технических принципах, что означает, что она имеет высокую вероятность успеха. Это стратегия, основанная на тенденциях, что означает, что она может помочь трейдерам следовать тенденциям. Он может использоваться для торговли как длинными, так и короткими позициями, что делает его универсальной стратегией. Вот некоторые из рисков, связанных с использованием стратегии перекрестного использования MA:

Стратегия основана на исторических данных о ценах, и нет никаких гарантий, что она будет прибыльной в будущем. Стратегия может быть восприимчива к випса, когда цена актива быстро движется в обоих направлениях. Стратегия может быть волатильной, что означает, что существует риск больших потерь. В целом, стратегия MA Crossover является относительно простой и эффективной торговой стратегией, которую могут использовать трейдеры всех уровней опыта.

Вот некоторые дополнительные вещи, которые следует иметь в виду при использовании стратегии MA Crossover:

Длина скользящих средних может быть скорректирована в соответствии с вашим стилем торговли и толерантностью к риску. Вы также можете использовать несколько скользящих средних для создания более сложной стратегии. Важно проверить стратегию на основе исторических данных, чтобы убедиться, что она прибыльна, прежде чем использовать ее для торговли в режиме реального времени. Вы также должны использовать стоп-лосс для ограничения потерь. Если у вас есть какие-либо вопросы, пожалуйста, не стесняйтесь их задавать.


/*backtest
start: 2022-08-28 00:00:00
end: 2023-02-10 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT","balance":10000}]
*/

//@version=5
strategy("EMA-Cross-JC Intraday with Trailing SL", overlay=true)

// emabasel = input(100, "Base Length")
emaslen = input(15, "Slow Length")
emaflen = input(9, "Fast Length")
intra =input(true, title = "Intraday?")
sq_time_hr = input(15, title="Exit Hr")
sq_time_min = input(20, title="Exit Min")

emaslow = ta.ema(close, emaslen)
emafast = ta.ema(close, emaflen)
// emabase = ta.ema(close, emabasel)

emaup = ta.crossover(emafast, emaslow)
emadown = ta.crossunder(emafast, emaslow)

tsival = ta.tsi(close, 13, 55)

plot(emaslow, title="Slow EMA", color=color.yellow, linewidth=1)
plot(emafast, title="Fast EMA", color=color.green, linewidth=1)
// plot(emabase, title="Base EMA", color=color.white, linewidth=3)

takeProfitPoints = input(200, title="Take Profit")
// tp_off = input(4000, title="Keep trailing")
stopLossPoints = input(100, title="Stop Loss")

// Define the time to square off positions
squareOffTime = timestamp(year, month, dayofmonth, sq_time_hr, sq_time_min)

var float trailingStop = na

if emaup and barstate.isconfirmed and time < squareOffTime //and tsival >=0
    strategy.entry("Buy", strategy.long)
    strategy.exit("Sell", "Buy", stop=close - stopLossPoints, limit=close + takeProfitPoints)
    // trailingStop := emabase - stopLossPoints
    strategy.exit("Trailing Stop", "Buy", stop=trailingStop)

if emadown and barstate.isconfirmed and time < squareOffTime //and tsival <=0
    strategy.entry("Sell", strategy.short)
    strategy.exit("Cover", "Sell", stop=close + stopLossPoints, limit=close - takeProfitPoints)
    // trailingStop := emabase + stopLossPoints
    strategy.exit("Trailing Stop", "Sell", stop=trailingStop)

// Close any open positions before the end of the trading day
if ta.barssince(strategy.opentrades) == 0 and time >= squareOffTime and intra == true
    strategy.close_all()

// plot(tsival, title = "TSI Value")
plotshape(emaup and barstate.isconfirmed, title="Crossover", style = shape.triangleup , size=size.small,color = color.green, location = location.belowbar)
plotshape(emadown and barstate.isconfirmed, title="Crossunder",style = shape.triangledown, size=size.small,color = color.red, location = location.abovebar)


Больше