カマリラのサポートとレジスタンスのブレイクアウト戦略


作成日: 2024-01-04 16:17:06 最終変更日: 2024-01-04 16:17:06
コピー: 2 クリック数: 1026
1
フォロー
1621
フォロワー

カマリラのサポートとレジスタンスのブレイクアウト戦略

概要

キャマリラ・ピボット・ブレークアウト・ストラテジー (Camarilla Pivot Breakout Strategy) は,キャマリラ・サポート・レジスタンス層を利用してエントリーとエグジットを実行する量化取引戦略である.この戦略は,従来の技術分析のサポート・レジスタンス理論を参考にして,カマリラの数学式を組み合わせて,異なる時間レベルでのサポート・レジスタンスのキーポイントを計算し,これらのキーポイントを突破する条件として,ポジションとポジションの構築を設定し,余分な利益を得る目的を達成する.

戦略原則

この戦略の核心的な論理は,H4とL4の日線レベルの2つの重要なサポート抵抗点を計算し,価格がこれらの2つの点を突破すると取引シグナルを生成することです.

具体的には,戦略は,現在のK線の1日の最高値,最低値,および閉店価格の中間値を当日のサポート抵抗の中心点として計算します. そして,この3つの価格の範囲を計算します. 範囲に基づいて,H4,H3,H2,H1およびL1,L2,L3,L4などのカマリラ公式の各重要なサポート抵抗値を計算できます.

取引シグナルの生成上では,当日の閉盘価格が上部のH4位を突破した場合,多行シグナルを生成する.閉盘価格が下部のL4位を突破した場合,空白シグナルを生成する.このように,重要なサポートレジスタンス位の突破を捕捉することによって,市場の突破方向と強さを判断し,取引シグナルを生成する.

市場構造を判断し,取引シグナルを得るために,カマリラのキーポイントの突破を利用する.

優位分析

この戦略は,カマリラを支えるレジスタンスブレイクのいくつかの主要な利点があります.

  1. 伝統的な技術を使って理論指標を分析し,安定性を測定する

カマリラ分析は,伝統的な技術分析で支持される抵抗理論に基づいています. この理論は,時間のテストをテストし,異なる品種と異なる時間帯で戦略の安定性を保証することができます.

  1. パラメータ設定がシンプルで,リッドディスク操作が簡単

機械学習などのカスタマイズされた策略と比較して,カマリラの策略規則はシンプルで,パラメータが少なく,理解しやすく,実用操作が容易である.これは初心者にとって非常に重要です.

  1. 突破信号は明確で 実行は簡単

H4とL4の突破を監視することでポジションを確立でき,戦略信号は簡潔で明快で,コードの実装も簡単です. これは,戦略のアイデアを素早くテストし,実行できるようにします.

  1. 高周波と低周波の取引に適している.

Camarilla戦略は,高周波 (秒線,分級K線) と低周波 (日線,周線) の両方に適しています.これは大きな利点です.

リスク分析

もちろん,この簡単な突破策には,いくつかのリスクがあります.

  1. 偽の突破の危険性

市場がカマリラ点を突破した後は,同じ方向に進むことができず,反転,つまり偽突破の危険性がある.このとき,早期に止まらなければ,大きな損失に直面する.

  1. 突破口の一部を捉えられないリスク

閉盤価格の突破を監視するだけで,部分的な突破の機会を逃し,利益に影響を与える可能性があります.これは,入場条件の最適化によって解決する必要があります.

  1. 利益が制限される可能性のあるリスク

より複雑な戦略と比較して,カマリラポイント突破のみに依存する収益の余地と幅は比較的限られている可能性があります.これは,適切な保有規模の調整などの方法によって緩和することができます.

したがって,この単純な突破策は,さらに,ストップ・ローズ戦略,入場条件の最適化,適切なポジションの調整などの方法によってリスクを制御し,安定した動作を保証する必要があります.

最適化の方向

このCamarillaの突破策をさらに最適化し,改善するには,以下の点から始めることができます.

  1. 突破口の真偽を判断する指標も増えました

例えば,結合量能指標,移動平均線など,突破の信頼性を判断し,偽突破のリスクを避ける.

  1. 突破判断の論理を最適化する

例えば,突破幅を緩め,反測によってよりよいパラメータを決定する.または,季節性などのより多くの規則を組み合わせる.

  1. ストップ・ロスの最適化

適正にストップ幅を縮小し,同時に被套を防止する.または,誤った利のストップ,移動のストップなどの戦略を設定する.

  1. ポジションとレバレッジの動的調整

市場変化に応じてポジションサイズとレバレッジパラメータを適時調整することで,戦略が異なる市場状況に適したものにできる.

  1. より複雑な機械学習アルゴリズムと組み合わせた

LSTM,RNNなどのディープラーニングモデルを使用して,キーポイント突破確率を予測し,戦略をより賢くする.

要約する

Camarillaのレジスタンスを突破する戦略は,シンプルで直接で,容易に実現できる量化取引戦略である.それは,成熟した技術分析ツールを使用して,重要なレジスタンスを突破して取引シグナルを生成する.この戦略の優点は,安定し,信頼性があり,リアルタイムでの操作も比較的簡単である.もちろん,より高い取引効率を得るために,さらに損失最適化,パラメータ調整,リスク管理などの最適化が必要である.

ストラテジーソースコード
/*backtest
start: 2023-12-27 00:00:00
end: 2024-01-03 00:00:00
period: 5m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
//Created by CristianD
strategy(title="CamarillaStrategy", shorttitle="CD_Camarilla_Strategy", overlay=true) 
//sd = input(true, title="Show Daily Pivots?")
EMA = ema(close,3)

//Camarilla
pivot = (high + low + close ) / 3.0 
range = high - low
h5 = (high/low) * close 
h4 = close + (high - low) * 1.1 / 2.0
h3 = close + (high - low) * 1.1 / 4.0
h2 = close + (high - low) * 1.1 / 6.0
h1 = close + (high - low) * 1.1 / 12.0
l1 = close - (high - low) * 1.1 / 12.0
l2 = close - (high - low) * 1.1 / 6.0
l3 = close - (high - low) * 1.1 / 4.0
l4 = close - (high - low) * 1.1 / 2.0
h6 = h5 + 1.168 * (h5 - h4) 
l5 = close - (h5 - close)
l6 = close - (h6 - close)

// Daily line breaks
//sopen = request.security(syminfo.tickerid, "D", open [1])
//shigh = request.security(syminfo.tickerid, "D", high [1])
//slow = request.security(syminfo.tickerid, "D", low [1])
//sclose = request.security(syminfo.tickerid, "D", close [1])
//
// Color
//dcolor=sopen != sopen[1] ? na : black
//dcolor1=sopen != sopen[1] ? na : red
//dcolor2=sopen != sopen[1] ? na : green

//Daily Pivots 
dtime_pivot = request.security(syminfo.tickerid, 'D', pivot[1]) 
dtime_h6 = request.security(syminfo.tickerid, 'D', h6[1]) 
dtime_h5 = request.security(syminfo.tickerid, 'D', h5[1]) 
dtime_h4 = request.security(syminfo.tickerid, 'D', h4[1]) 
dtime_h3 = request.security(syminfo.tickerid, 'D', h3[1]) 
dtime_h2 = request.security(syminfo.tickerid, 'D', h2[1]) 
dtime_h1 = request.security(syminfo.tickerid, 'D', h1[1]) 
dtime_l1 = request.security(syminfo.tickerid, 'D', l1[1]) 
dtime_l2 = request.security(syminfo.tickerid, 'D', l2[1]) 
dtime_l3 = request.security(syminfo.tickerid, 'D', l3[1]) 
dtime_l4 = request.security(syminfo.tickerid, 'D', l4[1]) 
dtime_l5 = request.security(syminfo.tickerid, 'D', l5[1]) 
dtime_l6 = request.security(syminfo.tickerid, 'D', l6[1]) 

//offs_daily = 0
//plot(sd and dtime_pivot ? dtime_pivot : na, title="Daily Pivot",color=dcolor, linewidth=2)
//plot(sd and dtime_h6 ? dtime_h6 : na, title="Daily H6", color=dcolor2, linewidth=2)
//plot(sd and dtime_h5 ? dtime_h5 : na, title="Daily H5",color=dcolor2, linewidth=2)
//plot(sd and dtime_h4 ? dtime_h4 : na, title="Daily H4",color=dcolor2, linewidth=2)
//plot(sd and dtime_h3 ? dtime_h3 : na, title="Daily H3",color=dcolor1, linewidth=3)
//plot(sd and dtime_h2 ? dtime_h2 : na, title="Daily H2",color=dcolor2, linewidth=2)
//plot(sd and dtime_h1 ? dtime_h1 : na, title="Daily H1",color=dcolor2, linewidth=2)
//plot(sd and dtime_l1 ? dtime_l1 : na, title="Daily L1",color=dcolor2, linewidth=2)
//plot(sd and dtime_l2 ? dtime_l2 : na, title="Daily L2",color=dcolor2, linewidth=2)
//plot(sd and dtime_l3 ? dtime_l3 : na, title="Daily L3",color=dcolor1, linewidth=3)
//plot(sd and dtime_l4 ? dtime_l4 : na, title="Daily L4",color=dcolor2, linewidth=2)
//plot(sd and dtime_l5 ? dtime_l5 : na, title="Daily L5",color=dcolor2, linewidth=2)
//plot(sd and dtime_l6 ? dtime_l6 : na, title="Daily L6",color=dcolor2, linewidth=2)

longCondition = close >dtime_h4
if (longCondition)
    strategy.entry("My Long Entry Id", strategy.long)
    


shortCondition = close <dtime_l4
if (shortCondition)
    strategy.entry("My Short Entry Id", strategy.short)