幾何学的取引法:ダイヤモンド三角形円の市場コード

EMA RSI PATTERN
作成日: 2025-09-26 08:59:35 最終変更日: 2025-09-26 08:59:35
コピー: 0 クリック数: 180
2
フォロー
319
フォロワー

幾何学的取引法:ダイヤモンド三角形円の市場コード 幾何学的取引法:ダイヤモンド三角形円の市場コード

この戦略の魔法はどこにあるのでしょうか?

この戦略は,複雑な価格動きを3つの可愛い形に簡素化します. のダイヤモンドは反転信号を表し,の三角形はトレンドの継続を表し,の円は振動フィルターを表します. それは,市場に”幾何学的な眼鏡”をつけ,価格の本当の意図を瞬時に見ることができます!

戦略の核心的な論理は超簡潔です.EMAが雲帯を形成し,大きなトレンドを判断し,雲帯の相対的な位置に応じて,異なる高低点の突破に異なる”ラベル”を貼る.雲帯の下の突破はダイヤモンド反転信号で,雲帯の上の突破は三角継続信号で,EMAが十分に分離していない信号は,円で”ノイズ”としてフィルタリングされます.

3つの信号システム解析

ダイヤの信号台逆転の機会を捉える! EMAの雲帯の下の値が高く,低い値が高く,低い値が高く,低い値が高く,高い値が高く,高い値が低い値が高く,高い値が低い値が高く,高い値が低い値が高く,高い値が低い値が低い値が高く,高い値が低い値が低い値が低い値が高く,高い値が低い値が低い値が低い値が低い値が低い値が低い値が低い値が低い値が低い値が低い値が低い値が低い値が低い値が低い値が低い値が低い値が低い値が低い値が低い値が低い値が低い値が低い値が低い値が低い値が低い値が低い値が低い値が低い値が低い値が低い値が低い値が低い値が低い値が低い値が低い

三角信号傾向の継続を助けます! 価格が雲帯の上方より高い低点があるとき,または雲帯の下方より低い高点があるときに活性化します. サーフィンを想像して波の頭に沿って進むと,成功率は自然に高くなります.

円のフィルター: このデザインは,とても丁寧です! EMA分離が設定された値より小さいとき,すべての信号は”震動音”としてマークされます. 策略に”防機能”を装着して横盤市場で頻繁にポジションを開くのを避けるようなものです.

風制御のデザイン:シンプルで粗で効果的

止損論理は前期のキーポイント位置を採用している.多頭止損は前期低点,空頭止損は前期高点に設定されている.この方法の利点は,明確な技術的根拠があることであり,任意の設定によって”偽突破”によって消去されないことである.

RSI出場メカニズムも賢明です:多頭ポジションはRSIが70以上から戻ったときに平仓し,空頭ポジションはRSIが30以下から反発したときに平仓する.これは,利益をロックするだけでなく,極端な超買い超売り区域でポジションを継続するリスクを回避する.

この戦略は誰に当てはまるのか?

適切な状況: 中短周期のトレンド追跡と反転取引,特に波動性の適度な市場環境で優れている. 戦略は自動的にポジションサイズを調整します:反転信号は50%のポジションテストで,継続信号は100%のポジションフォローで.

洞窟のガイド市場が極端に揺れ動いている時,盲目的に使用しないでください.円のフィルタリング機能があるにもかかわらず,長期にわたって横向きに市場が動けば,信号は稀になるでしょう.

覚えておいてください,最高の戦略は最も複雑なものではなく,あなたの取引スタイルに最も適したものです!

ストラテジーソースコード
/*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}}")