
Die Binary Moving Average Gold Fork Dead Fork Reversal Strategy ist eine typische quantitative Handelsstrategie, die Trends verfolgt. Die Strategie verwendet die 9- und die 14-Tage-Linie in einem Binary Moving Average-Indikator, um ein Kauf- und Verkaufssignal zu erstellen.
Die Strategie basiert hauptsächlich auf Gold- und Deckungssignalen aus zwei beweglichen Durchschnittsindikatoren. In beiden beweglichen Durchschnittslinien stellt die 9-Tage-Linie einen kurzfristigen Trend dar, die 14-Tage-Linie einen mittleren Trend, deren Kreuzung ein wirksamer technischer Indikator ist, um die Markttrendwende zu bestimmen. Wenn die kurzfristige Trendlinie von unten durch die mittlere Trendlinie bricht und eine Gold-Fork bildet, ist dies ein Kaufsignal, wenn die kurzfristige Trendlinie stärker wird und ein Kaufsignal bildet; wenn sie von oben durchbricht und ein Deckungssignal bildet, ist dies ein Verkaufssignal.
Die Strategie führt außerdem eine 50-Tage-Linie ein, um falsche Signale zu filtern. Ein Kauf erfolgt nur, wenn der Preis über der 50-Tage-Linie liegt; ein Verkauf erfolgt nur, wenn der Preis unter der 50-Tage-Linie liegt. Die 50-Tage-Linie repräsentiert einen mittleren und langen Trend, der nur kurzfristig betrieben werden kann, wenn der mittlere und lange Trend zustimmt.
Die Kernlogik des Codes lautet:
// 买入条件:9日线上穿14日线 且 当前价格高于50日线
buyCondition = ta.crossover(sma9, sma14) and close > sma50
// 卖出条件:9日线下穿14日线 且 当前价格低于50日线
sellCondition = ta.crossunder(sma9, sma14) and close < sma50
Die Vorteile einer doppelten beweglichen Durchschnittsstrategie sind klar:
Die Strategie der doppelten beweglichen Gleichung birgt auch Risiken:
Die folgenden Optimierungen können für die Risiken verwendet werden:
Die Doppelbeweglichkeitsstrategie kann in folgenden Aspekten optimiert werden:
Die Doppelbewegungs-Gleichlinien-Strategie ist insgesamt eine Effizienz-Gewinn-Strategie. Sie kann fortlaufend und dauerhaft gewinnbringend sein; es gibt jedoch auch gewisse Risiken, die weiter verbessert werden müssen. Die Wirksamkeit der Strategie kann durch Parameteroptimierung, Stop-Loss-Methoden und Kombinationen von Strategien weiter verbessert werden.
/*backtest
start: 2022-11-24 00:00:00
end: 2023-11-30 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("smaCrossReverse", shorttitle="smaCrossReverse", overlay=true)
// Define the length for the SMAs
sma9Length = input(9, title="SMA 9 Length")
sma14Length = input(14, title="SMA 14 Length")
sma50Length = input(50, title="SMA 50 Length") // Add input for SMA 50
// Calculate SMAs
sma9 = ta.sma(close, sma9Length)
sma14 = ta.sma(close, sma14Length)
sma50 = ta.sma(close, sma50Length) // Calculate SMA 50
// Buy condition: SMA 9 crosses above SMA 14 and current price is above SMA 50
buyCondition = ta.crossover(sma9, sma14) and close > sma50
// Sell condition: SMA 9 crosses below SMA 14 and current price is below SMA 50
sellCondition = ta.crossunder(sma9, sma14) and close < sma50
// Track the time since position was opened
var float timeElapsed = na
if (buyCondition)
timeElapsed := 0
else
timeElapsed := na(timeElapsed[1]) ? timeElapsed[1] : timeElapsed[1] + 1
// Close the buy position after 5 minutes
if (timeElapsed >= 5)
strategy.close("Buy")
// Track the time since position was opened
var float timeElapsedSell = na
if (sellCondition)
timeElapsedSell := 0
else
timeElapsedSell := na(timeElapsedSell[1]) ? timeElapsedSell[1] : timeElapsedSell[1] + 1
// Close the sell position after 5 minutes
if (timeElapsedSell >= 5)
strategy.close("Sell")
// Plot the SMAs on the chart
plot(sma9, title="SMA 9", color=color.blue)
plot(sma14, title="SMA 14", color=color.red)
plot(sma50, title="SMA 50", color=color.green) // Plot SMA 50 on the chart
// Strategy entry and exit conditions using if statements
if (buyCondition)
strategy.entry("Buy", strategy.long)
if (sellCondition)
strategy.entry("Sell", strategy.short)