Algorithmus des doppelten gleitenden Durchschnitts des Goldenen Kreuzes

Schriftsteller:ChaoZhang, Datum: 2024-01-23 11:18:57
Tags:

img

Übersicht

Strategie Logik

Die Kernlogik dieser Strategie ist: Die schnelle Linie repräsentiert den jüngsten Preistrend, während die langsame Linie die jüngsten relativ niedrigen Preisniveaus darstellt. Wenn die schnelle Linie über die langsame Linie geht, zeigt sie an, dass die Preise über die jüngsten Tiefststände steigen, daher wird ein Kaufsignal generiert. Wenn die schnelle Linie unter die langsame Linie geht, zeigt sie an, dass die Preise unter die jüngsten Tiefststände fallen, daher wird ein Verkaufssignal generiert.

Analyse der Vorteile

Risikoanalyse

Der Dual Moving Average Golden Cross Algorithmus birgt auch einige Risiken. Die Strategie stützt sich ausschließlich auf die Beziehung zwischen Preisen und gleitenden Durchschnitten, um Handelseingänge und -ausgänge zu bestimmen. Wenn die Preise abnormal schwanken, während gleitende Durchschnitte solche Bewegungen nicht rechtzeitig widerspiegeln, können falsche Handelssignale generiert werden. In solchen Fällen ist eine manuelle Inspektion der Preisbewegungen erforderlich, um zu vermeiden, dass die Signale blind verfolgt und Verluste entstehen.

Anweisungen zur Verbesserung

Es gibt Raum für weitere Verbesserungen dieser Strategie. Erstens können verschiedene Parameter getestet werden, um die gleitenden Durchschnittsperiodenparameter für die beste Signalqualität zu optimieren. Zweitens könnten Volatilitätsindikatoren integriert werden, um falsche Signale während der Preiskonsolidierungsperioden zu vermeiden. Drittens könnten maschinelle Lernmethoden angewendet werden, um die Stop-Loss-Positionierung automatisch zu optimieren. Viertens könnten Informationen aus korrelierten Vermögenswerten verwendet werden, um Portfoliohandelssysteme zur Verbesserung der Signalzuverlässigkeit zu etablieren.

Schlussfolgerung


/*backtest
start: 2023-01-16 00:00:00
end: 2024-01-22 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy(title = "Estratégia de Cruzamento das Linhas")

// Configuração da Média Móvel
emaPeriod = 8

ema= ema(close, emaPeriod)
ema1= ema(close[1], emaPeriod)
lowestEMA = lowest(ema, 8)

// Calcula a diferença entre o preço e a média móvel
diff = close - ema
diff1 = close[1] - ema1
diffLow = ema - lowestEMA

//Condições
diffZero = diff < 0
diffUnder = diff < diffLow
diffUm = diff > 0
Low0 = diffLow == 0



gain = strategy.position_avg_price*(1+0.2)
// Sinais de entrada
buy_signal = diffUnder and crossover(diff, diff1) and diffZero

sell_signal = diffUm and diffUnder and crossunder(diff, diff1)

// Executa as operações de compra/venda
if buy_signal
    strategy.entry("Buy", strategy.long)
if sell_signal
    strategy.exit("Buy", limit = gain)

// Plota as linhas
plot(0, title="Linha Zero", color=color.gray)
plot(diff, title="Diferença", color=color.blue, linewidth=2)

plot(diffLow, title="Diferença", color=color.red, linewidth=2)

Mehr