この戦略は,現在のトレンド方向を決定するために,キャンドルスティックの閉じる価格と開く価格の関係に基づいて,ロングまたはショート信号を生成する.特に,閉じる価格がオープニング価格よりも高くなった場合,ロング信号が生成される.閉じる価格がオープニング価格よりも低い場合,ショート信号が生成される.
この戦略は主に以下の2つの条件に基づいて取引信号を生成します
入場シグナルロジック:閉場価格が開場価格 (閉場 > 開場) より高く,開場時間に達した場合,ロングシグナルが生成されます.閉場価格が開場価格 (閉場 < 開場) より低く,開場時間に達した場合,ショートシグナルが生成されます.
出口条件:入口信号とは異なり,既にロングの場合,損失条件は開口価格より低い閉店価格プラスATR値,利益条件は開口価格より高い閉店価格プラスATRを利益比で掛けます.既にショートの場合,逆です.
この設計により,この戦略は,トレンド方向を決定するためにキャンドルスタイクからの指向情報を活用し,タイミングでトレンドをフォローします.また,ストップ・ロストとテイク・プロフィート基準は,固定値の問題を回避し,ATRに基づいて動的に適応します.
この戦略の最大の利点は,キャンドルスタイク方向を利用した強力なトレンドフォロー能力である.エントリーシグナルは単純で明確で,一夜間のリスクを避けるために開業時間の条件と組み合わせられる.ストップ損失と利益の基準は,ポジションのサイズを自動的に調整するために動的に変化する.
この戦略は迅速な反応と強力な追跡能力を備えており 1H,4Hなどの中間タイムフレームでトレンドを把握するのに適しています
この戦略の主なリスクは以下の通りである.
取引頻度が高いため,取引コストやスライドによって容易に影響を受けます.利益比を調整することで最適化できます.
他の指標でフィルタリングすることができます. フィルタリングは,他の指標でフィルタリングすることができます.
ATR パラメータ設定は,ストップ・ロスト/テイク・プロフィートのパフォーマンスに影響を与える. ATR 長さとプロフィート比は市場の調整を必要とする.
営業時間設定も信号品質に影響します.異なる市場には異なる営業時間が必要です.
この戦略により,次の点についてさらに最適化できる.
価格変動からの誤った信号を処理するフィルターを追加します
波動性に基づいて単一の賭けのサイズを制御するためにポジションサイズを組み込む.
機械学習を利用して,ストップ・ロスト/テイク・プロフィートのパラメータを動的に最適化し,市場に適応します.
市場情勢を判断する 指標を使って 全体的なポジションを管理する
概要すると,この戦略は迅速な反応を持ち,効果的にトレンドを捉える.それは,キャンドルストック閉店と開店価格の関係に基づいて単に方向を決定し,シグナルを生成する.また,動的ATRは,変動に基づいてポジションサイズ調整をストップ・ロスト/テイク・プロフィート基準に使用される.フィルターと微調整パラメータを追加することによってさらに最適化する巨大な可能性.
/*backtest start: 2024-01-01 00:00:00 end: 2024-01-31 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Go with Trend Strategy", overlay=true) // Input settings startHour = input(9, title="Start Hour for Entries") activateLong = input(true, title="Activate Long") activateShort = input(true, title="Activate Short") takeProfitRatio = input(1.5, title="Take Profit Ratio") // Calculate ATR atrLength = 14 // You can change this value as needed atrValue = ta.atr(atrLength) // Calculate entry conditions enterLong = close > open and hour >= startHour enterShort = close < open and hour >= startHour // Strategy logic if (activateLong and enterLong) strategy.entry("Long", strategy.long) if (activateShort and enterShort) strategy.entry("Short", strategy.short) // Stop loss and take profit conditions strategy.exit("Exit Long", from_entry="Long", loss=close - atrValue, profit=close + takeProfitRatio * atrValue) strategy.exit("Exit Short", from_entry="Short", loss=close + atrValue, profit=close - takeProfitRatio * atrValue)