極端なセットアップ戦略の逆転


作成日: 2024-02-21 14:08:09 最終変更日: 2024-02-21 14:08:09
コピー: 0 クリック数: 716
1
フォロー
1617
フォロワー

極端なセットアップ戦略の逆転

概要

逆転極置策は,極 K 線を逆転利用する策である.これは,最新の K 線の実体サイズと平均値に基づいて判断し,実体サイズが平均値より大きい場合と逆転が発生した場合,取引シグナルを生成する.

戦略原則

この戦略は,主に現在のK線の実体サイズと,全体的なK線サイズを判断する.

最新のK線の実体サイズ (開場価格と閉場価格の差) と,K線全体のサイズ (最高価格と最低価格の差) を記録する.

そして,平均実範囲平均法 ((RMA) を用いて,最近20のK線の平均実体サイズとK線サイズを計算する.

最新のK線がオンにされ,実体サイズは平均実体サイズより大きく,全体的なK線サイズも平均K線サイズより2倍大きいとき,多元信号が生成される。

逆に,最新K線が下がり,実体サイズも上記の条件を満たしているとき,空白信号が生成される.

つまり,極限K線が反転したときに,平均値を判断して取引信号を生成する.

優位分析

この戦略の主な利点は

  1. 極限K線特性を利用し,反転が容易になる
  2. 実体サイズと全体K線サイズを比較した極限値のケースで,異常点を探す
  3. RMAを用いた動的平均を計算し,市場の変化に適応する
  4. 逆転形と組み合わせると,信号はより信頼性が高い.

リスク分析

この戦略にはいくつかのリスクがあります.

  1. 極限K線は必ず逆転するとは限りません.
  2. パラメータを正しく設定しない場合,過敏または鈍感になる可能性があります.
  3. 市場変動が十分な支柱が必要で,整合には適していない.
  4. 取引コストと滑り場リスクを増加させる可能性のある取引信号の頻度

リスクを下げるため,パラメータを適切に調整するか,または損失を制御するためにストップロスを追加することができます.

最適化の方向

この戦略は以下の点で最適化できます.

  1. 偽の突破を防ぐため,取引量フィルタリングを増加させる
  2. 波動率指数による最適化パラメータの動的設定
  3. トレンド指数と組み合わせて,逆の空白を避ける
  4. 機械学習モデルでK線反転の確率を増加させる
  5. 損失防止機構への参加

要約する

逆転極置策は,最新のK線の極点を判断し,逆転が起きた時に取引信号を生成する. 異常極K線特性を利用する利点があるが,一定のリスクもある. 参数最適化と風力制御手段によって,より良い策略パフォーマンスを得ることができる.

ストラテジーソースコード
/*backtest
start: 2024-02-13 00:00:00
end: 2024-02-20 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Extreme Reversal Setup", overlay=true)

bodySize = input(defval=0.75)
barsBack = input(title="Lookback Period", type=input.integer, defval=20, minval=0)
bodyMultiplier = input(title="Bar ATR Multiplier", type=input.float, defval=2.0, minval=0)

myBodySize = abs(close - open)
averageBody = rma(myBodySize, barsBack)
myCandleSize = abs(high - low)
averageCandle = rma(myCandleSize, barsBack)

signal_long = open[1]-close[1] >= bodySize*(high[1]-low[1]) and 
   high[1]-low[1] > averageCandle*bodyMultiplier and 
   open[1]-close[1] > averageBody and close > open
signal_short = close[1]-open[1] >= bodySize*(high[1]-low[1]) and 
   high[1]-low[1] > averageCandle*bodyMultiplier and 
   close[1]-open[1] > averageBody and open > close

plotshape(signal_long, "LONG", shape.triangleup, location.belowbar, size=size.normal)
plotshape(signal_short, "SHORT", shape.triangledown, location.belowbar, size=size.normal)

strategy.entry("LONG", strategy.long, when=signal_long)
strategy.entry("SHORT", strategy.short, when=signal_short)