この戦略の主な考え方は,最適な投資収益を達成するために,その日付でデジタル資産を購入し,月の終わりに売却することによって,毎月最適な購入日を発見することです.この戦略は,日中の価格変動を利用して過剰な収益を得たい投資家に適しています.
この戦略は,ユーザーによって定義された月間購入日と販売日に基づいて実行されます.資産を購入することによって購入日に長引いて,設定された場合,販売日にポジションを閉じる.そうでなければ,戦略終了日にポジションを閉じる.これは異なる月間購入日付からの利益差をテストすることができます.
購入シグナルの論理は,ユーザが定義した購入日であり,戦略の有効日付範囲内であれば,ロングをします.
閉店シグナルの論理は,もし売り日が設定され,現在販売日であれば,閉店シグナルです.もし売り日がなく,戦略終了日を超えた場合,また閉店シグナルです.
購入後の価格暴落リスク
最適の購入日付の変更
パラメータの設定が誤ったため発生する損失
入国地点を決定する際の要因を考慮する
ポジション管理メカニズムの最適化
他の取引市場への拡大
この戦略は,異なる購入日付からの利益差をテストすることによって,毎月最大のイントラデイ価格変動の日付を見つけます.高周波のイントラデイ取引から利益を求める投資家に過剰な利益をもたらすことができます.エントリータイミング,ポジション管理の決定,アプリケーションの範囲の拡大のさらなる改善は,戦略の安定性と収益性を向上させます.
/*backtest start: 2023-10-01 00:00:00 end: 2023-10-31 23:59:59 period: 1h basePeriod: 15m 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/ // © dennis.decoene //@version=4 strategy(title="Buy and Hold, which day of month is best to buy?", overlay=true) // Make input options that configure backtest date range startDate = input(title="Start Date", type=input.integer, defval=1, minval=1, maxval=31, group="Starting From") startMonth = input(title="Start Month", type=input.integer, defval=1, minval=1, maxval=12, group="Starting From") startYear = input(title="Start Year", type=input.integer, defval=2021, minval=1800, maxval=2100, group="Starting From") endDate = input(title="End Date", type=input.integer, defval=2, minval=1, maxval=31, group="Until") endMonth = input(title="End Month", type=input.integer, defval=10, minval=1, maxval=12, group="Until") endYear = input(title="End Year", type=input.integer, defval=2021, minval=1800, maxval=2100, group="Until") entryday = input(title="Entry Day", type=input.integer, defval=26, minval=1, maxval=31, tooltip="When to enter (buy the asset) each month") exitday = input(title="Exit Day", type=input.integer, defval=6, minval=1, maxval=31, tooltip="When to exit (sell the asset) each month") useExitDay= input(title="Close position on exit day?", type=input.bool, defval=false, tooltip="Use the Exit Day to close each months position it true or close at the end of the period (if false)") isEntryDay= (dayofmonth(time)==entryday) isExitDay= (dayofmonth(time)==exitday-1) inDateRange = true if (isEntryDay and inDateRange) strategy.entry(id="Buy", long=true) if (isExitDay and useExitDay) strategy.close_all() // Exit open market position when date range ends if (not inDateRange and not useExitDay) strategy.close_all()