概要
これは、ビットコイン向けのカスタムロング・ショート取引戦略です。週の曜日に応じてロングまたはショートのバックテストを実行できます。価格は曜日によって特定の方向に動く傾向がある可能性があり、この戦略では日付範囲内で異なる曜日をテストしてこれを活用できます。
パフォーマンスと取引履歴を確認する際は日足チャートを使用し、スクリプトが期待通りに動作し、Trading Viewから可能な限り多くの履歴データを取得できるようにしてください。
戦略の仕組み
この戦略の中心的なロジックは、ユーザーが曜日ごとにロング取引、ショート取引、または取引なしを選択できるようにすることです。
まず、ユーザーはバックテストの日付範囲(開始月、日、年と終了月、日、年)を設定できます。
次に、配列timeframesを使用して曜日ごとの数値表現(日曜日0から土曜日6まで)を格納します。
別の配列timeframes_optionsは、各曜日についてロング、ショート、または取引なしの選択肢を格納します。これは入力オプションで設定します。
forループ内で、現在の取引日がtimeframes配列のいずれかの曜日と一致するか確認します。一致し、オプションが前日と異なる場合、まずすべてのオープンポジションを決済します。
オプションが「なし」でない場合、選択されたロングまたはショートに応じて該当方向のポジションを開始します。
これにより、設定された日付範囲内で、曜日ごとの設定に基づいてロング・ショート取引を行うことができます。
強みの分析
この戦略の主な強みは、高度にカスタマイズ可能なロング・ショート取引を提供することです。ユーザーは曜日ごとに自由に取引方向を選択できます。
固定された週次取引戦略とは異なり、この戦略は柔軟に調整できます。特定の曜日の結果が芳しくない場合、他の曜日のみ取引するように簡単に変更できます。
バックテストの日付範囲も非常に柔軟で、ユーザーが指定した任意の期間をテストし、どの曜日の組み合わせが最も効果的か確認できます。
取引ロジックは非常に明確でシンプルであり、理解や修正が容易です。ユーザーはプログラミング不要でパラメータを調整できます。
また、この戦略は方向が変わるたびにオープンポジションを自動的に決済し、不必要なリスクを回避します。
リスク分析
この戦略の主なリスクは、ユーザーが設定した曜日ごとの取引選択が、すべての日付範囲に適しているとは限らないことです。
例えば、平日にロング、週末にショートという設定が一定期間は有効でも、他の期間では失敗する可能性があります。
したがって、異なる日付範囲を慎重にテストする必要があり、一度のバックテスト結果に依存してはなりません。パラメータ調整は具体的な市場状況と組み合わせて行う必要があります。
もう一つのリスクは、日次方向変更時に迅速に損切り・決済できないことです。これにより損失が拡大する可能性があります。しかし、この戦略では自動決済によってこの問題を軽減しようとしています。
全体として、この戦略はパラメータ最適化に大きく依存しており、異なる市場条件に適したパラメータ組み合わせを見つけるために十分なテストが必要です。
最適化の方向性
この戦略は以下の側面で最適化できます。
-
日次方向変更時にストップロスロジックを追加し、ポジションが利益の場合にトレーリングストップを設定してドローダウンを抑えます。
-
フィルターを追加し、価格がその日の高値または安値をブレイクした場合のみシグナルを出すようにして、トレンドがない場合の頻繁な取引を回避します。
-
高ボラティリティ時にはポジションサイズを小さくし、低ボラティリティ時には大きくすることでリスクをコントロールします。
-
曜日選択に機械学習を導入し、過去データから各曜日の取引確率を判断して動的な日次方向を生成します。
-
突発的なイベント(重要な経済指標発表など)に対処するロジックを追加し、そのような場合に取引を一時停止して損失を回避します。
まとめ
本戦略は、日次方向選択を通じて非常に柔軟なロング・ショート取引能力を提供します。ユーザーは自由に組み合わせをテストして最適なパラメータを見つけることができます。しかし、この戦略は高い最適化要件があり、異なる市場に適した設定を見つけるために多くのテストが必要です。ストップロス、フィルター、動的調整などの最適化手段を追加することでリスクを低減し、安定性を高めることができます。慎重なパラメータ最適化の下で、この戦略は効率的な日次方向取引ツールとなり得ます。
/*backtest
start: 2022-09-19 00:00:00
end: 2023-09-25 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/
//@version=4
// strategy("Day of Week Custom Buy/Sell Strategy", overlay=true, currency=currency.USD, default_qty_value=1.0,initial_capital=30000.00,default_qty_type=strategy.percent_of_equity)- 1
