
この戦略の核心となる考え方は,当日の閉店時に買って,翌日の開店時に売ることで,開業時の標識価格の上昇を利用して利益を得ることである.
この戦略は主に2つの判断に基づいています.
昼間トレーダーは通常,開場時に買取を行う傾向があり,開場時に株価の上昇を誘発する.
取引終了時の価格は,取引の実際の価値を比較的よく反映している.
具体的には,この戦略は,まず,毎日の閉盘時に ((20:00) が,その日の閉盘価格が200日間の簡易移動平均より高いかどうかを判断し,その平均より高い場合は,閉盘時に多額の取引を行う.閉盘価格がその平均より低い場合は,閉盘時に空売りを行う.
次の日の開盤時に ((9:30),前日の多頭位を保有していた場合,開盤時に平仓する.空頭位を保有していた場合,開盤時に平仓する.
閉盤低価で買い,開盤高価で売る操作により,開盤株価の上昇を利用して利益を得る.
この戦略の利点は以下の通りです.
株価が上昇する特性を利用し,株価を売り出すことで利益を得る.
200日移動平均を使って価格の動向を判断し,大きな動向を把握して操作する.
操作頻度は低く,毎日開盤と閉盤の2つの時間点での判断と取引が行われ,取引コストが削減される.
データを十分に追溯し,歴史データを用いて規則パラメータの合理性を判断し,信頼を高めます.
プログラム化された取引システムの実行効率は高いので,感情的な取引決定に影響を及ぼすことは避けられます.
この戦略にはいくつかのリスクがあります.
オープニング価格の反転の可能性があり,もしオープニング価格が反対方向に大きく反転した場合は,損失が生じます.
閉盤価格が操作される可能性,閉盤価格が意図的に上昇または低下した場合,決定に影響を与える.
標識の停牌は,開拓の平仓に失敗し,損失を生じさせる可能性があります.
取引コストが高い標識は,この高頻度の戦略には適さない.
パラメータを不合理に設定すると,取引頻度が高くなり,効率が悪くなる可能性があります.
リスクに対応する解決策は以下の通りです.
ストップポイントを設定し,最大損失をコントロールする.
取引量または再権などの手段を使用して,収束価格の信頼性を判断する.
流動性が良いものを優先する
移動平均のパラメータを調整し,ポジション開設時間を調整することで,戦略の効果が向上する.
この戦略は以下の方法で最適化できます.
営業価格の逆転時にストップまたはストップを設定し,損失を継続しないようにしてください.
他の指標やモデルを使って株価を判断する合理的な範囲で,損失を避ける.
債券の流動性のリスクを考慮し,流動性の良い債券を優先する.
異なる移動平均のパラメータをテストし,最適なパラメータの組み合わせを探します.
ポジション開設時間を最適化し,特定の時間前に開設を提前または延期することを検討する.
閉店価格の合理性を判断する際には,現在の重要ニュースを考慮して判断する.
取引コストを考慮して,取引コストが低いものを選択します.
多要素モデルを統合し,様々な影響を十分に考慮する.
この戦略は,毎日の終盤低価格で買い,翌日の開盤高価格で売却する操作によって利益を得,開盤幅の大きい特性を利用する.この戦略には一定の利点がありますが,注意すべきいくつかのリスクもあります.パラメータ設定,ストップ・ロスト方法,標識の選択などの最適化を続けることで,よりよい戦略効果を得ることができます.全体的に,この戦略は,日内トレーダーに簡単な実行可能な平仓戦略の考え方を提供します.
/*backtest
start: 2023-10-10 00:00:00
end: 2023-11-09 00:00:00
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/
// © Youngmoneyinvestments
//@version=5
strategy("End of Day Trading Strategy", overlay=true)
// Get the daily open, high, low, and close prices
daily_open = request.security(syminfo.tickerid, "D", open)
daily_close = request.security(syminfo.tickerid, "D", close)
// Calculate the 200 period SMA on daily close
sma200 = ta.sma(daily_close, 200)
// Define the entry and exit conditions
end_of_day = (hour == 20) and (minute == 0) // Assuming the end of the regular trading hours is 20:00
start_of_day = (hour == 9) and (minute == 30) // Assuming the start of the trading session is 09:30
long_condition = end_of_day and (daily_close > sma200)
short_condition = end_of_day and (daily_close < sma200)
// Execute the strategy logic
if (long_condition)
strategy.entry("Long", strategy.long)
if (short_condition)
strategy.entry("Short", strategy.short)
// Exit conditions
if (strategy.position_size > 0 and start_of_day) // If we are long, sell at the open of the session
strategy.close("Long")
if (strategy.position_size < 0 and start_of_day) // If we are short, buy at the open of the session
strategy.close("Short")
// Plot the SMA on the chart
plot(sma200, "200 SMA", color=color.blue)