勢いの反転と縮小の突破口となる低買いゴールデンクロス戦略


作成日: 2023-12-07 16:57:11 最終変更日: 2023-12-07 16:57:11
コピー: 0 クリック数: 781
1
フォロー
1621
フォロワー

勢いの反転と縮小の突破口となる低買いゴールデンクロス戦略

概要

この戦略は,カマリラ支点の突破信号に基づいており,RSI反転指標を低吸入の機会として組み合わせて,高い動量反転の低吸入戦略を形成します.価格がカマリラ支点を破るとき,取引信号が生じ,RSIの低値は,高い動量反転の戦略に属し,さらに吸入の機会を確認します.

戦略原則

戦略の核心信号は,カマリラ支点からのものです.カマリラ支点は,昨日の価格範囲に基づいて計算され,S1からS5の支点とR1からR5の支点に分かれています.価格がS1の支点から上方突破すると購入信号が生じ,価格がR1の支点から下方突破すると販売信号が生じます.さらに,RSI指標と組み合わせて,超売り状態にあるかどうかを判断することで,入場の成功率を向上させることができます.

具体的には,戦略は,まず,昨日の最高価格,最低価格,および閉店価格に基づいてカマリラ支点を計算する. そして,閉店価格が支点を突破したかどうかを判断し,取引信号を生成する. また,RSI指標が低水準にあり,30を下回っているかどうかを判断し,超売りとみなす. 閉店価格が支点を突破し,RSIが30を下回っている場合にのみ,真の取引信号が生成される.

例えば,昨日価格が10−11の間で波動していた場合,今日閉盘価格が11.05を突破し,RSIが20を示している場合,買入シグナルが生じます. 今日閉盘価格が10.95を突破し,RSIが20を示している場合,売り出そうシグナルが生じます. したがって,この戦略は突破シグナルと超売りシグナルの利点を融合します.

優位分析

この戦略の最大の利点は,超跌と反転の機会を識別することにある.カマリラ支点は,価格の重要なサポートとレジスタンスポイントを自分で把握する.RSI指標と組み合わせて,反転のタイミングを判断することで,底点を正確に特定し,下落を追いかけることを避ける.これは,比較的高度な突破策である.

また,支点は動的に計算され,価格の変化を時効的に追及する.従来の技術指標とは異なり,パラメータを設定する必要がある.戦略は支点分析の優位性を継承し,より柔軟である.また,反転のチャンスは比較的明確で,頻繁に偽信号が発生しない.

リスク分析

この戦略の最大のリスクは,価格が偽突破する可能性である. RSI指標と組み合わせて超売り状態を確認したにもかかわらず,価格が支柱点を破った後に反転が起こる可能性がある.

もう一つのリスクは,RSI指標が失敗するということです. 超下落が起こっても,RSIは30以下には下りません. この時には取引シグナルが形成されず,反転のチャンスを逃します. このリスクに対して,RSIのパラメータ設定を適切に最適化することができます.

最適化の方向

この戦略は,以下の方法で最適化できます.

  1. RSIの最適化パラメータ 異なる超売れ線をテストできます. 30が良いか20がより適しています.

  2. 他の指標を追加して組み合わせます.例えばKDJ指標は,反転信号の信頼性をさらに確認できます.

  3. 異なるカマリラ支点をテストする.S1とR1のみを使用し,偽突破の確率を減らす.

  4. 最適化ストップ戦略.ATR指標に基づいてストップポイントを設定するか,突破した支柱をストップポイントとして追跡することができます.

  5. 異なる品種の契約をテストする.株式指数,外貨,商品などの異なる品種に適用する.パラメータを調整する必要がある.

要約する

この戦略は,高度な動量反転突破戦略に属している.カマリラ支点によって突破信号を判断し,RSI指標によって超売り状態を決定する.戦略の優位性は,反転の機会を認識することであり,最大のリスクは価格偽突破である.パラメータ最適化とリスク管理により,戦略の安定性と収益性をさらに向上させることができる.

ストラテジーソースコード
/*backtest
start: 2023-11-06 00:00:00
end: 2023-12-06 00:00:00
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 07/05/2020
// Pivot point studies highlight prices considered to be a likely turning point
// when looking at values from a previous period, whether it be daily, weekly, 
// quarterly or annual. Each pivot point study has its own characteristics on 
// how these points are calculated. 
//
// Red color = Sell
// Green color = Buy
//
// WARNING:
//  - For purpose educate only
//  - This script to change bars colors.
////////////////////////////////////////////////////////////
strategy(title="Camarilla Pivot Points Backtest", shorttitle="CPP", overlay = true)
res = input(title="Resolution", type=input.resolution, defval="D")
SellFrom = input(title="Sell from ", defval="R1", options=["R1", "R2", "R3", "R4", "R5"])
BuyFrom = input(title="Buu from ", defval="S1", options=["S1", "S2", "S3", "S4", "S5"])
reverse = input(false, title="Trade reverse")
xHigh  = security(syminfo.tickerid,res, high)
xLow   = security(syminfo.tickerid,res, low)
xClose = security(syminfo.tickerid,res, close)
xXLC3 = (xHigh+xLow+xClose) / 3
xRange = xHigh-xLow
S1 = xClose - xRange * (1.1 / 12)
S2 = xClose - xRange * (1.1 / 6)
S3 = xClose - xRange * (1.1 / 4)
S4 = xClose - xRange * (1.1 / 2)
R1 = xClose + xRange * (1.1 / 12)
R2 = xClose + xRange * (1.1 / 6)
R3 = xClose + xRange * (1.1 / 4)
R4 = xClose + xRange * (1.1 / 2)
R5 = (xHigh/xLow) * xClose
S5 = xClose - (R5 - xClose)
pos = 0
S = iff(BuyFrom == "S1", S1, 
      iff(BuyFrom == "S2", S2,
       iff(BuyFrom == "S3", S3,
         iff(BuyFrom == "S4", S4,
          iff(BuyFrom == "S5", S5, 0)))))
B = iff(SellFrom == "R1", R1, 
      iff(SellFrom == "R2", R2,
       iff(SellFrom == "R3", R3,
         iff(SellFrom == "R4", R4,
          iff(SellFrom == "R5", R5, 0)))))
          
pos := iff(close > B, 1,
       iff(close < S, -1, nz(pos[1], 0))) 
possig = iff(reverse and pos == 1, -1,
          iff(reverse and pos == -1 , 1, pos))	   
if (possig == 1) 
    strategy.entry("Long", strategy.long)
if (possig == -1)
    strategy.entry("Short", strategy.short)	 
if (possig == 0) 
    strategy.close_all()
barcolor(possig == -1 ? #b50404: possig == 1 ? #079605 : #0536b3 )