リチャード・ザ・タートルの取引戦略


作成日: 2024-02-06 11:56:47 最終変更日: 2024-02-06 11:56:47
コピー: 0 クリック数: 800
1
フォロー
1617
フォロワー

リチャード・ザ・タートルの取引戦略

概要

リチャード・タートル・トレーディング・ストラテジー (Richard’s Turtle Trading Strategy) は,リチャード・デニス (Richard Dennis) のタートル・トレーディング・テクニックをベースとした買取戦略である.このストラテジーは,価格突破を利用してトレンドを追跡する取引を行う.価格が20日目新高を突破したときには多出し,価格が20日目新低を突破したときには空出する.

戦略原則

リチャード・海の取引戦略の核心的な論理は,価格突破を実現するトレンド追跡に基づいている.具体的には,戦略は20日間の最高値を継続的に監視している._20_day_highest) と最小値 (_20_day_lowest) 。当前閉店価格が20日最高値を超えると,価格が上方突破したことを示し,この時点で多信号を発出する。当前閉店価格が20日最低値を下回ると,価格が下方突破したことを示し,この時点で空き信号を発出する。

ポジションに入ると,戦略は平均真波幅 ((ATR) を利用してストロップを計算する.同時に,10日間の最高価格と最低価格を追跡し,スライスポイントストロップを行う.多額のストップまたはスライスポイントストロップが触発されたときに多額のポジションをクリアする.空白のストップまたはスライスポイントストロップが触発されたときに空白のポジションを行う.

戦略的優位性

リチャード・ベアルの取引戦略は以下の利点があります.

  1. 価格の突破を利用してトレンドの自動追跡が可能である.自動でトレンド転換を認識し,適切なタイミングでポジションを調整することができる.
  2. ATRのストップ・メカニズムにより,単発ストップを効果的に制御できます.
  3. スライドポイント・ストップ・メカニズムで,利益の一部をロックして,撤回を低減する.
  4. 戦略の論理はシンプルで明快で,理解し,実行しやすく,初心者向けに適しています.
  5. 市場動向やCOMPLEX計算を予測する必要なく,シンプルで規則的な取引.

戦略リスク

リチャード・ビヨン (Richard Bean) の取引戦略にはいくつかのリスクがあります.

  1. 突破取引は簡単に騙され,時には取引頻度が高くなります.
  2. ATRとスライドポイントの停止は厳しすぎて,早めに停止する可能性があります.
  3. 価格情報のみを使用し,他の要因と組み合わせずにトレンドの継続性を予測する.
  4. 追溯データ適合のリスクは,実用ディスクの効果が悪い可能性があります.

これらのリスクを低減するために,入場条件を最適化し,より多くの指標を利用してトレンドを予測し,ストップ・ロスのアルゴリズムを調整し,ストップ・ロスの頻度を低減することを検討することができます.

戦略最適化の方向性

リチャード海の取引戦略は,以下の方向から最適化できます.

  1. パラメータを最適化し,最適なパラメータの組み合わせを探します.計算周期を調整したり,異なるATR倍数をテストしたりできます.
  2. より多くの指標や機械学習アルゴリズムを使用してトレンドを判断する.平均線,エネルギー型指標などのトレンドの持続性を判断する.
  3. オプティマイズ・ストップ・メソッド フレキシブル・スライド・ストップ・メソッドをテストし,ストップ・メソッドを追跡する.
  4. 市場動向を予測するために,感情指数やニュース面などの情報を追加します.

要約する

リチャード海の取引戦略は,非常に典型的な突破追跡戦略である.それは簡単で,初心者向けに学習し,量化取引の典範である.この戦略は,取引リスクを軽減し,利益の余地を増やすために,多くの点で最適化することができます.全体的に,リチャード海の戦略は,非常に強い啓発的な意味を持っています.

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

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © melodyera0822

//@version=4
strategy("Richard Strategy", overlay=true)

// User input
variable_for_stoploss = input(4,title="stop loss var")
lenght = input(20,title="lenght")

// high_low
_20_day_highest = highest(nz(close[1]), lenght)
_20_day_lowest = lowest(nz(close[1]), lenght)

_10_day_low = lowest(nz(close[1]), lenght/2)
_10_day_high = highest(nz(close[1]), lenght/2)

//indicators
atr20 = atr(20)
ema_atr20 = ema(atr20,20)

//vars
var traded = "false"
var buy_sell = "none"
var buyExit = false
var sellExit = false
var stoploss = 0

buyCon = close > _20_day_highest and traded == "false"
plotshape(buyCon,style = shape.triangleup,location = location.belowbar, color = color.green )
if (buyCon)
    strategy.entry("long", strategy.long, when = buyCon)
    traded := "true"
    buy_sell := "buy"
    stoploss := round(close - variable_for_stoploss * ema_atr20)
    
sellCon = close < _20_day_lowest and  traded == "false"
plotshape(sellCon,style = shape.triangledown, color = color.red )
if (sellCon)
    strategy.entry("short", strategy.short)
    traded := "true"
    buy_sell := "sell"
    stoploss := round(close - variable_for_stoploss * ema_atr20)

if traded == "true"
    if buy_sell == "buy" and ((close<stoploss)or(close<_10_day_low))
        strategy.close("long")
        buyExit := true
        traded := "false"
        
    if buy_sell == "sell" and ((close>stoploss)or(close>_10_day_high))
        strategy.close("short")
        sellExit := true
        traded := "false"
        
plotshape(buyExit,style = shape.triangleup,location = location.belowbar, color = color.yellow )
buyExit := false
plotshape(sellExit,style = shape.triangledown, color = color.yellow )
sellExit := false