3 10 Oszillator Konturmarkierungsstrategie


Erstellungsdatum: 2024-02-18 16:17:26 zuletzt geändert: 2024-02-18 16:17:26
Kopie: 0 Klicks: 399
1
konzentrieren Sie sich auf
1166
Anhänger

3 10 Oszillator Konturmarkierungsstrategie

Überblick

3 10 Die Schwingungsmarkierung der Schwingungsmarkierung erzeugt Handelssignale durch die Berechnung der Differenz zwischen den einfachen Moving Averages der Tage 3 und 10 als MACD-Indikator, kombiniert mit der Analyse der Handelsmenge, um die Stärke der Kauf- und Verkaufsposition zu beurteilen. Die Strategie kombiniert gleichzeitig die wichtigsten Preiszonen, die Handelsmenge und die Umkehrung der MACD-Indikatoren, um Ein- und Ausstiegsmöglichkeiten zu bestätigen.

Strategieprinzip

Der Kern der Strategie ist der MACD, der sich aus einem schnellen und einem langsamen Moving Average zusammensetzt. Die schnelle Linie ist der 3-Tage-Simple Moving Average und die langsame Linie ist der 10-Tage-Simple Moving Average. Die Differenz zwischen ihnen bildet die MACD-Säulenlinie.

Die Strategie kombiniert außerdem die Größe der Kauf- und Verkaufsmenge pro K-Linie mit der relativen Stärke der Kauf- und Verkaufsposition. Die spezifische Methode lautet: Kauf- und Verkaufsmenge = Kauf- und Verkaufsmenge x (Höchst- und Verkaufspreis) ÷ (Höchst- und Verkaufspreis).

Durch die Kombination von MACD-Indikatoren und Umsatzanalyse kann die Strategie effektiv die Richtung der Angebots- und Nachfragebeziehungen und der anhaltenden Bewegung des Marktes bestimmen. Gleichzeitig überprüft die Strategie, ob sich der Kurs in einer kritischen Region befindet, ob der MACD effektiv umgekehrt ist und ob die Umsatzdifferenz zwischen den Kauf- und Verkaufsposten groß genug ist, um den Lärm einiger Impulsgeschäfte zu filtern und eine hohe Wahrscheinlichkeit und Effizienz zu gewährleisten.

Analyse der Stärken

  • Die MACD-Indikatoren werden verwendet, um die Richtung der Marktentwicklung zu bestimmen
  • Die Analyse der Differenz zwischen den Transaktionen beurteilt die starke und schwache Börse.
  • Mehrfache Konditionsfilterung, um eine hohe Wahrscheinlichkeit zu gewährleisten
  • Stop-Loss-Strategien zur Risikokontrolle

Der größte Vorteil dieser Strategie liegt in der richtigen Kombination von Marktversorgung und -nachfrage. Die MACD-Pillarlinie kann effektiv die Gegensätze zwischen den Kräften der Kauf- und Verkaufsplatten und die Richtung der Marktentwicklung bestimmen. Die Differenzanalyse kann die dominierende Kraft der Kauf- und Verkaufsplatten eindeutig erkennen.

Risikoanalyse

  • MACD-Fehlerrisiko. Der MACD kann falsche Signale erzeugen, wenn die Märkte schwanken oder eine Platzierung erfolgen.
  • Risiko für die Ausfallwahrscheinlichkeit von Transaktionen. Es kann ein Markt sein, der die Transaktionsmenge hochzieht, wodurch die Genauigkeit der Transaktionsmengenanalyse verringert wird.
  • Die Strategie beinhaltet mehrere Parameter, die sehr schwierig zu optimieren sind und nicht für Investoren geeignet sind, die schwache Parameter-Anpassungsfähigkeit haben.

Die oben genannten Risiken können durch folgende Methoden umgangen werden: Genauere Beurteilung der wichtigsten Markttrends, Vermeidung der Verwendung dieser Strategie in der Schwingungsplatte; Aufmerksamkeit auf die Marktinformationsseite, um zu erkennen, ob der Umsatz künstlich erhöht wird; Die Anpassung der Parameter ist sorgfältig und kann auf Empfehlungen von Fachinstituten zurückgeführt werden.

Optimierungsrichtung

Die Strategie kann in folgenden Bereichen optimiert werden:

  • Die Verwendung von Kennzahlen wie KD, Brin-Band als Alternative oder in Zusammenarbeit mit MACD zur Verbesserung der Genauigkeit der Beurteilung
  • Erweiterung der Positionsverwaltung, um die dynamische Anpassung der Strategieparameter zu ermöglichen
  • Optimierung der Stop-Loss-Punkte für höhere Einmalgewinne
  • Betrieb in mehreren Zeitzyklen, um Stabilität zu erhöhen

Insgesamt lässt sich feststellen, dass die Strategie viel Optimierungsmöglichkeiten bietet und dass Investoren sie entsprechend ihrer eigenen Situation und dem Marktumfeld anpassen und verbessern können, um die Effektivität der Strategie zu verbessern.

Zusammenfassen

3 10 Die Strategie für die Markierung der Schwingungskontur kombiniert MACD-Analyse, Handelsvolumenvergleiche und Multi-Konditions-Filter-Verifizierung. Sie hat eine starke Fähigkeit, die Liefer- und Nachfragebeziehungen und die Richtung der Marktentwicklung zu beurteilen, während die Risikokontrolle durch eine eingebaute Stop-Loss-Mechanismus erfolgt. Die Strategie hat einen großen Optimierungsraum und weite Anwendungsmöglichkeiten und ist für Investoren eine wichtige Überlegung und eingehende Untersuchung wert.

Strategiequellcode
/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("3 10 Oscillator Profile Flagging", shorttitle="3 10 Oscillator Profile Flagging", overlay=true)

signalBiasValue = input(title="Signal Bias", defval=0.26)
macdBiasValue = input(title="MACD Bias", defval=0.8)
shortLookBack = input( title="Short LookBack", defval=3)
longLookBack = input( title="Long LookBack", defval=10)
takeProfit = input( title="Take Profit", defval=0.75)
stopLoss = input( title="Stop Loss", defval=0.5)

fast_ma = ta.sma(close, 3)
slow_ma = ta.sma(close, 10)
macd = fast_ma - slow_ma
signal = ta.sma(macd, 16)
hline(0, "Zero Line", color = color.black)

buyVolume = volume*((close-low)/(high-low))
sellVolume = volume*((high-close)/(high-low))
buyVolSlope = buyVolume - buyVolume[1]
sellVolSlope = sellVolume - sellVolume[1]
signalSlope = ( signal - signal[1] )
macdSlope = ( macd - macd[1] )
//plot(macdSlope, color=color.red, title="Total Volume")
//plot(signalSlope, color=color.green, title="Total Volume")
intrabarRange = high - low

getLookBackSlope(lookBack) => signal - signal[lookBack]
getBuyerVolBias(lookBack) =>
    j = 0
    for i = 1 to lookBack
        if buyVolume[i] > sellVolume[i]
            j += 1
    j

getSellerVolBias(lookBack) =>
    j = 0
    for i = 1 to lookBack
        if sellVolume[i] > buyVolume[i]
            j += 1
    j

getVolBias(lookBack) =>
    float b = 0
    float s = 0
    for i = 1 to lookBack
        b += buyVolume[i]
        s += sellVolume[i]
    b > s

getSignalBuyerBias(lookBack) =>
    j = 0
    for i = 1 to lookBack
        if signal[i] > signalBiasValue
            j += 1
    j

getSignalSellerBias(lookBack) =>
    j = 0
    for i = 1 to lookBack
        if signal[i] < ( 0 - signalBiasValue )
            j += 1
    j

getSignalNoBias(lookBack) =>
    j = 0
    for i = 1 to lookBack
        if signal[i] < signalBiasValue and signal[i] > ( 0 - signalBiasValue )
            j += 1
    j

getPriceRising(lookBack) =>
    j = 0
    for i = 1 to lookBack
        if close[i] > close[i + 1]
            j += 1
    j


getPriceFalling(lookBack) =>
    j = 0
    for i = 1 to lookBack
        if close[i] < close[i + 1] 
            j += 1
    j

getRangeNarrowing(lookBack) =>
    j = 0
    for i = 1 to lookBack
        if intrabarRange[i] < intrabarRange[i + 1] 
            j+= 1
    j

getRangeBroadening(lookBack) =>
    j = 0
    for i = 1 to lookBack
        if intrabarRange[i] > intrabarRange[i + 1] 
            j+= 1
    j

bool isNegativeSignalReversal = signalSlope < 0 and signalSlope[1] > 0
bool isNegativeMacdReversal = macdSlope < 0 and macdSlope[1] > 0

bool isPositiveSignalReversal = signalSlope > 0 and signalSlope[1] < 0
bool isPositiveMacdReversal = macdSlope > 0 and macdSlope[1] < 0

bool hasBearInversion = signalSlope > 0 and macdSlope < 0
bool hasBullInversion = signalSlope < 0 and macdSlope > 0

bool hasSignalBias = math.abs(signal) >= signalBiasValue
bool hasNoSignalBias = signal < signalBiasValue and signal > ( 0 - signalBiasValue )

bool hasSignalBuyerBias = hasSignalBias and signal > 0
bool hasSignalSellerBias = hasSignalBias and signal < 0

bool hasPositiveMACDBias = macd > macdBiasValue
bool hasNegativeMACDBias = macd < ( 0 - macdBiasValue )

bool hasBullAntiPattern = ta.crossunder(macd, signal)
bool hasBearAntiPattern = ta.crossover(macd, signal)

bool hasSignificantBuyerVolBias = buyVolume > ( sellVolume * 1.5 )
bool hasSignificantSellerVolBias = sellVolume > ( buyVolume * 1.5 )

// 7.48 Profit 52.5% 
if ( hasSignificantBuyerVolBias and getPriceRising(shortLookBack) == shortLookBack  and getBuyerVolBias(shortLookBack) == shortLookBack and hasPositiveMACDBias and hasBullInversion)
    strategy.entry("Short1", strategy.short, qty=10)
strategy.exit("TPS", "Short1", limit=strategy.position_avg_price - takeProfit, stop=strategy.position_avg_price + stopLoss)

// 32.53 Profit 47.91%
if ( getPriceFalling(shortLookBack) and (getVolBias(shortLookBack) == false) and signalSlope < 0 and hasSignalSellerBias)
    strategy.entry("Long1", strategy.long, qty=10)
strategy.exit("TPS", "Long1", limit=strategy.position_avg_price + takeProfit, stop=strategy.position_avg_price - stopLoss)