
この戦略の核心思想は,毎月の最適の購入日を見つけ,この日にデジタル資産を購入し,終わりに売却することによって,投資の最適のリターンを達成することです. この戦略は,日中の価格変動を利用して余分な利益を得ることを希望する投資家に適用されます.
この戦略は,ユーザーが設定した毎月の買取日と売却日に基づいて動作する.買取日と同じ日に多発買取し,売れる日がある場合は,売れる日と同じ日に平仓する.売れない日がない場合は,戦略の終了日と同じ日に平仓する.このようにして,毎月の異なる買取日による収益の違いをテストすることができる.
購入シグナルの判断論理は,ユーザが設定した購入日であり,戦略の有効日の範囲内であれば,多項を開きます.
平仓シグナル判断の論理は: 売る日が設定され,売る日が設定された場合,平仓; 売る日が設定されていないが,戦略終了日を超えた場合,平仓.
購入後,価格の暴落のリスク
リスクの改善
誤った設定で損失を伴うリスク
購入ポイントを決める
ポジション管理の最適化
他の取引市場への拡大
この戦略は,異なる購入日によってもたらされる収益の差をテストして,毎月の価格変動が最も大きい購入ポイントを探します.これは,日中の高頻度の取引から利益を得ようとする投資家に余分な収益をもたらすことができます.次のステップは,購入のタイミングを判断する要因をさらに導入し,ポジション管理を最適化し,アプリケーション市場を拡大することによって,戦略の安定性と収益レベルをさらに向上させることができます.
/*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()