Geometrische Handelsmethode: Der Marktcode des Diamantdreieckskreises

EMA RSI PATTERN
Erstellungsdatum: 2025-09-26 08:59:35 zuletzt geändert: 2025-09-26 08:59:35
Kopie: 0 Klicks: 180
2
konzentrieren Sie sich auf
319
Anhänger

Geometrische Handelsmethode: Der Marktcode des Diamantdreieckskreises Geometrische Handelsmethode: Der Marktcode des Diamantdreieckskreises

Was für ein Zauber spielt diese Strategie?

Die Strategie reduziert komplexe Preisbewegungen in drei hübsche Formen: Diamanten sind ein Umkehrsignal, Dreiecke sind eine Fortsetzung des Trends, und Ofeln sind ein Schwingungsfilter. Es ist wie eine “geometrische Brille” auf den Markt zu legen, um sofort die wahre Absicht der Preise zu sehen!

Die Kernlogik der Strategie ist super einfach: Die EMA bildet schnell die Wolkenbänder und beurteilt die großen Trends, dann gibt man den verschiedenen Hoch- und Tiefpunkt-Breakthroughs unterschiedliche “Labels” entsprechend der Lage des Preises in Bezug auf die Wolkenbänder. Die Brechungen unterhalb der Wolkenbänder sind Diamant-Umkehrsignale, die Brechungen oberhalb der Wolkenbänder sind Dreieck-Fortsetzungssignale, und die Signale, die nicht ausreichend von der EMA getrennt sind, werden als “Rauschen” gefiltert.

Die drei wichtigsten Signalsysteme wurden analysiert.

Diamant-SignalhalterDer Kurs wird ausgelöst, wenn ein höherer Tiefpunkt unterhalb der EMA-Wolkenlinie oder ein niedrigerer Tiefpunkt oberhalb der Wolkenlinie auftritt. Das ist so offensichtlich wie der Fund eines Edelsteins im Tal oder die Anzeige eines Warnlichts auf dem Gipfel.

DreiecksignalDie Aktivierung erfolgt, wenn die Preise über dem Wolkenbereich höhere Tiefststände aufweisen oder unterhalb des Wolkenbereichs niedrigere Höchststände aufweisen. Die Erfolgsrate ist natürlich höher, wenn Sie sich vorstellen, dass Sie als Surfer mit der Welle voranschreiten.

KreisfilterWenn die EMA-Trennung unter der eingestellten Schwelle liegt, werden alle Signale als “Schwingungsgeräusche” markiert. Es ist wie eine “Stoßschutzfunktion” für die Strategie, um häufige Positionen in Querbörsen zu vermeiden.

Das Design der Luftsteuerung: Einfach und grob, aber effektiv

Die Stop-Stopp-Logik verwendet die vorzeitige Schlüsselposition: Mehrkopf-Stopp ist auf den vorherigen Tiefpunkt gesetzt, und der leere Kopf-Stopp ist auf den vorherigen Hochpunkt gesetzt. Der Vorteil dieser Methode ist, dass es eine eindeutige technische Grundlage gibt, die nicht durch einen “falschen Durchbruch” durch willkürliche Einstellungen ausgelöscht wird.

Die RSI-Ausgangsmethode ist auch sehr intelligent: Die Mehrkopf-Position ist platziert, wenn der RSI von über 70 zurückfällt, und die Leerkopf-Position ist platziert, wenn der RSI von unter 30 zurückprallt. So kann sowohl der Gewinn gesperrt werden als auch das Risiko vermieden werden, weiterhin Positionen in extremen Überkauf-Überverkaufszonen zu halten.

Wer ist für diese Strategie geeignet?

Der richtige OrtDie Strategie passt automatisch die Positionsgröße an: Die Umkehrsignale werden mit 50% der Positionen getestet, die Fortsetzung wird mit 100% der Positionen verfolgt.

Ein Leitfaden für den AbgrundDie Strategie ist auch auf die technische Analyse angewiesen, da wichtige Fundamentalschätzungen die Geometrie “auslaufen” lassen könnten.

Denken Sie daran, die beste Strategie ist nicht die komplizierteste, sondern die, die am besten zu Ihrem Handelsstil passt!

Strategiequellcode
/*backtest
start: 2024-09-26 00:00:00
end: 2025-09-24 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT","balance":500000}]
*/

//@version=5
strategy("💎🔺⚫ Diamond-Triangle-Circle Strategy", overlay=true)

// === INPUTS ===
ema_fast = input.int(10, "Fast EMA Length")
ema_slow = input.int(20, "Slow EMA Length")
min_ema_separation = input.float(0.1, "Min EMA Separation %", minval=0.01, maxval=1.0)
rsi_length = input.int(14, "RSI Length")
rsi_exit_level = input.int(70, "RSI Exit Level")

// === CALCULATIONS ===
ema_fast_val = ta.ema(close, ema_fast)
ema_slow_val = ta.ema(close, ema_slow)
rsi = ta.rsi(close, rsi_length)

// EMA Cloud and separation
cloud_bull = ema_fast_val > ema_slow_val
ema_separation_pct = math.abs(ema_fast_val - ema_slow_val) / close * 100
chop_filter = ema_separation_pct >= min_ema_separation

// Price position relative to cloud
price_above_cloud = close > math.max(ema_fast_val, ema_slow_val)
price_below_cloud = close < math.min(ema_fast_val, ema_slow_val)

// === HIGHER LOW DETECTION ===
lowPoint = ta.lowest(low, 3)
prevLowPoint = ta.lowest(low[3], 3)
isHigherLow = low == lowPoint and low > prevLowPoint
higherLowConfirmed = isHigherLow and close > open

// === LOWER HIGH DETECTION ===
highPoint = ta.highest(high, 3)
prevHighPoint = ta.highest(high[3], 3)
isLowerHigh = high == highPoint and high < prevHighPoint
lowerHighConfirmed = isLowerHigh and close < open

// === SIGNAL CLASSIFICATION ===
// Diamond Signal - Reversal (below cloud)
diamondBullish = higherLowConfirmed and price_below_cloud and chop_filter
diamondBearish = lowerHighConfirmed and price_above_cloud and chop_filter

// Triangle Signal - Continuation (above cloud)
triangleBullish = higherLowConfirmed and price_above_cloud and chop_filter
triangleBearish = lowerHighConfirmed and price_below_cloud and chop_filter

// Circle Signal - Chop (filtered out - display only)
chopBullish = higherLowConfirmed and not chop_filter
chopBearish = lowerHighConfirmed and not chop_filter

// === RSI EXIT LOGIC ===
rsi_was_above_70 = rsi[1] >= rsi_exit_level and rsi < rsi[1]
rsi_was_below_30 = rsi[1] <= (100 - rsi_exit_level) and rsi > rsi[1]

// === STOP LOSS LOGIC ===
var float long_stop = na
var float short_stop = na

if diamondBullish or triangleBullish
    long_stop := prevLowPoint
    
if diamondBearish or triangleBearish  
    short_stop := prevHighPoint

// === STRATEGY EXECUTION ===
// Long Entries
if diamondBullish
    strategy.entry("Diamond Long", strategy.long, qty=50, comment="💎 Reversal")
    
if triangleBullish
    strategy.entry("Triangle Long", strategy.long, qty=100, comment="🔺 Continuation")

// Short Entries    
if diamondBearish
    strategy.entry("Diamond Short", strategy.short, qty=50, comment="💎 Reversal")
    
if triangleBearish
    strategy.entry("Triangle Short", strategy.short, qty=100, comment="🔺 Continuation")

// === EXITS ===
// Long Exits
if strategy.position_size > 0
    if close <= long_stop
        strategy.close_all(comment="Stop Loss")
    else if rsi_was_above_70
        strategy.close_all(comment="RSI Exit")

// Short Exits        
if strategy.position_size < 0
    if close >= short_stop
        strategy.close_all(comment="Stop Loss")  
    else if rsi_was_below_30
        strategy.close_all(comment="RSI Exit")

// === VISUAL ELEMENTS ===
// EMA Cloud
ema1 = plot(ema_fast_val, "Fast EMA", color.new(color.blue, 60), linewidth=1)
ema2 = plot(ema_slow_val, "Slow EMA", color.new(color.blue, 60), linewidth=1)
fill(ema1, ema2, color=cloud_bull ? color.new(color.green, 85) : color.new(color.red, 85), title="EMA Cloud")

// Signal Shapes
plotshape(diamondBullish, "Diamond Long", shape.diamond, location.belowbar, 
         color.new(color.lime, 0), size=size.small, text="💎")
plotshape(diamondBearish, "Diamond Short", shape.diamond, location.abovebar,
         color.new(color.red, 0), size=size.small, text="💎")

plotshape(triangleBullish, "Triangle Long", shape.triangleup, location.belowbar, 
         color.new(color.green, 20), size=size.small, text="🔺")
plotshape(triangleBearish, "Triangle Short", shape.triangledown, location.abovebar,
         color.new(color.orange, 20), size=size.small, text="🔺")

plotshape(chopBullish, "Chop Long", shape.circle, location.belowbar, 
         color.new(color.gray, 50), size=size.tiny, text="⚫")
plotshape(chopBearish, "Chop Short", shape.circle, location.abovebar,
         color.new(color.gray, 50), size=size.tiny, text="⚫")

// Stop Loss Lines
plot(strategy.position_size > 0 ? long_stop : na, "Long Stop", color.red, linewidth=2)
plot(strategy.position_size < 0 ? short_stop : na, "Short Stop", color.red, linewidth=2)

// Background coloring for market conditions
bgcolor(not chop_filter ? color.new(color.yellow, 95) : na, title="Chop Zone")


// === ALERTS ===
alertcondition(diamondBullish, title="Diamond Long Signal", message="💎 REVERSAL LONG - {{ticker}} at {{close}}")
alertcondition(diamondBearish, title="Diamond Short Signal", message="💎 REVERSAL SHORT - {{ticker}} at {{close}}")
alertcondition(triangleBullish, title="Triangle Long Signal", message="🔺 CONTINUATION LONG - {{ticker}} at {{close}}")
alertcondition(triangleBearish, title="Triangle Short Signal", message="🔺 CONTINUATION SHORT - {{ticker}} at {{close}}")
alertcondition(strategy.position_size == 0 and strategy.position_size[1] != 0, title="Position Closed", message="💰 POSITION CLOSED - {{ticker}} at {{close}}")