Стратегия пересечения средней скользящей средней


Дата создания: 2023-12-13 17:38:23 Последнее изменение: 2023-12-13 17:38:23
Копировать: 0 Количество просмотров: 806
1
Подписаться
1621
Подписчики

Стратегия пересечения средней скользящей средней

Обзор

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

Стратегический принцип

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

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

Сигнал покупать возникает, когда цена пересекает среднюю точку и пересекает движущуюся среднюю; сигнал продавать, когда цена пересекает нижнюю точку.

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

Анализ преимуществ

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

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

  2. Например, в случае, когда в результате пересечения событий определяются переломные моменты, вероятность ложного прорыва уменьшается.

  3. Применение двухлинейного перекрестного суждения, чтобы избежать ошибочного использования одного показателя.

  4. Стратегическая концепция проста и понятна, легко понятна и реализуема, подходит для количественных сделок.

Анализ рисков

Однако эта стратегия также несет в себе некоторые риски:

  1. При резких рыночных колебаниях средние индексы и скользящие средние могут потерять силу.

  2. При пересечении двух линий может возникнуть определенная степень оттягивания или перенастройки давления, что создает риск остановки.

  3. Эта стратегия основана на краткосрочных и среднесрочных операциях, которые не подходят для чрезмерно длинных операций.

Соответствующие меры по управлению рисками включают:

  1. Оптимизация параметров скользящих средних для повышения плавности.

  2. Увеличьте степень остановки, чтобы справиться с давлением.

  3. Сокращение периода хранения и своевременная остановка убытков.

Направление оптимизации

Эта стратегия также может быть оптимизирована в следующих направлениях:

  1. Оптимизируйте средние показатели и циклические параметры скользящих средних, чтобы найти оптимальную комбинацию параметров.

  2. Добавление фильтров для других показателей, таких как MACD, RSI и т. д., улучшает качество сигнала.

  3. Повышение проверки транзакций, чтобы избежать ложных прорывов в низких объемах.

  4. В сочетании с показателем волатильности, в зависимости от рыночных колебаний корректируется стоп-стоп.

  5. Проверка пригодности для различных рынков и сортов.

Подвести итог

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

Исходный код стратегии
/*backtest
start: 2023-11-12 00:00:00
end: 2023-12-12 00:00:00
period: 1h
basePeriod: 15m
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/
// © MGULHANN
//@version=5
strategy('Forex Midpoint Stratejisi For Nasdaq ', overlay=true)
BPeriod = input(131, 'Başlangıç Period')
kaydirma = input(14, 'Kaydırma Seviyesi')
yuzdeseviyesi = input.float(0.0006, 'Yüzde Seviyesi', step=0.0001)
len = input.int(44, minval=1, title="Length")
src = input(close, title="Source")
out = ta.sma(src, len)

ma(source, length, type) =>
    switch type
        "SMA" => ta.sma(source, length)
        "EMA" => ta.ema(source, length)
        "SMMA (RMA)" => ta.rma(source, length)
        "WMA" => ta.wma(source, length)
        "VWMA" => ta.vwma(source, length)

typeMA = input.string(title = "Method", defval = "EMA", options=["SMA", "EMA", "SMMA (RMA)", "WMA", "VWMA"], group="Smoothing")
smoothingLength = input.int(title = "Length", defval = 53, minval = 1, maxval = 100, group="Smoothing")
smoothingLine = ma(out, smoothingLength, typeMA)
//plot(smoothingLine, title="Smoothing Line", color=color.red, linewidth = 2)

//zararDurdurmaYuzde = input.float(0.2, title='Zarar Durdurma %', step=0.01) / 100
//karAlmaYuzde = input.float(0.5, title='Kar Alma %', step=0.01) / 100


//MIDPOINT HESAPLA
midpoint1 = ta.highest(high, BPeriod) + ta.lowest(low, BPeriod)
midpoint2 = midpoint1 / 2
midyuzdeseviyesi = midpoint2 * yuzdeseviyesi
midtopdeger = midyuzdeseviyesi + midpoint2

//GİRİŞ KOŞULLARI
buycross = ta.crossover(smoothingLine, midtopdeger[kaydirma]) //? aort > ta.sma(close,50) : na
sellcross = ta.crossover(midtopdeger[kaydirma], smoothingLine) // ? aort < ta.sma(close,50) : na

//LONG GİRİŞ
if (buycross)
    strategy.entry("BUY", strategy.long)
    //longKarAl = strategy.position_avg_price * (1 + karAlmaYuzde)
    //longZararDurdur = strategy.position_avg_price * (1 - zararDurdurmaYuzde)
    //strategy.exit("Long Exit","Long", stop=longZararDurdur)
    
   
//SHORT GİRİŞ    
if (sellcross)
    strategy.entry("SELL", strategy.short)
    //shortKarAl = strategy.position_avg_price * (1 - karAlmaYuzde)
    //shortZararDurdur = strategy.position_avg_price * (1 + zararDurdurmaYuzde)
    //strategy.exit("Short Exit","Short", stop=shortZararDurdur)
   
//plot(midtopdeger, offset=kaydirma, linewidth=2, color=color.blue)