月曜日 逆転 日中のトレンド 戦略をフォローする

作者: リン・ハーンチャオチャン,日付: 2023年11月6日 15:34:06
タグ:

img

概要

この戦略の主な考え方は,トレンドをフォローして月曜日の日内逆転から利益を得ることです.

原則

基本的な論理は

  1. 月曜日かどうか確認します. そうだとしたら次のステップに進みます.

  2. 上昇傾向の逆転パターンが存在するかどうかを特定する - 閉じる[1] <閉じる[2]および閉じる[2] <閉じる[3];

  3. 逆転パターンが確認された場合,トレンドをフォローするために3番目のバーの閉じる時にロングに行く.

  4. 今日高値が破られたり,ストップ・ロスが切られたりすると退場します.

  5. 6時間後 接近位置

戦略は月曜の逆転を活用し 利潤の相対的な低点で 長期化するための逆転パターンを特定し リスクを制御するためにストップ損失を設定します

利点

最大の利点は以下の通りです

  1. 特定の期間の月曜回転による利益

  2. 明らかに反転したキャンドルスタイクパターンからの入力信号

  3. リスクをコントロールするために ストップ・ロストと利益を引き継ぐ

  4. トレンドフォローアプローチは利益を最大化します

  5. シンプルでわかりやすい論理

リスク

いくつかのリスクがあります:

  1. 負債の負債の負債の負債の負債の負債

  2. ストップ・ロスを引き起こすエントリー後,価格は引き下げられる.

  3. 市場が突然変化すると,大きなストップ損失が発生する可能性があります.

  4. 長期にわたって保有しても損失が生じます

ストップ・ロスを最適化し 待機時間を短縮し 単一のロスの大きさを制御します

改良

戦略は以下によって改善できます.

  1. 機械学習を使用して逆転をより正確に識別する

  2. トレイリングストップや部分ストップ損失などのストップ損失戦略の最適化

  3. 傾向の強さを判断するためのより多くの要因を組み込むこと

  4. 保持時間を動的に調整する.

  5. 最適パラメータを見つけるためのアルゴリズムを使用する.

  6. 双方向取引のポジション切り替えを追加する

勝率と収益性を高めることができます

結論

結論として,この戦略は,月曜日の逆転を資本化し,明確なエントリー/エグジットルールを適用し,単純なトレンドフォロー戦略を実装する.固定ストップ損失/取利益よりもより良い結果を達成することができる.市場の不確実性を解決するためにさらなる最適化が必要である.この戦略は日中取引の基準を提供します.


/*backtest
start: 2023-10-06 00:00:00
end: 2023-11-05 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("ET Forex TurnaroundMonday", overlay=true)
FirstYear = input(2018, minval=2000, maxval=2023, step=1)
FirstMonth = 1 //input(1, minval=1, maxval=12, step=1)
FirstDay = 1 //input(1, minval=1, maxval=31, step=1)

deltaDay = input(0)
StartHour = input(0)

f_barssince(_cond, _count) => _barssince=bar_index-valuewhen(_cond, bar_index, _count)

HoldTime = input(6, step=1)

MM = input(1)

startHour = input(-7, step=1)
endHour = input(34, step=1)
exitHour = input(30, step=1)


startdateCond = (year > FirstYear or (year == FirstYear and (month > FirstMonth or (month == FirstMonth and dayofmonth >= FirstDay))))

iHour = hour
if iHour > 19 
    iHour := iHour-20
else
    iHour := iHour+4    
    
    
timeCondition = true //(iHour>=startHour and iHour<=endHour and iHour<=exitHour)

since_flat_condition = strategy.position_size == 0

entryPrice=strategy.position_avg_price
EntryLongCondition = dayofweek == (dayofweek.monday+deltaDay) and close[0] < close[1] and close[1]<close[2] and startdateCond //and timeCondition and iHour > StartHour
ExitTimeCondition = false//(f_barssince(since_flat_condition, 0)>=HoldTime)
ExitLongCondition = strategy.position_size > 0  and (close[0] > high[1])// or close[0]< entryPrice-abs(close[1]-close[2])*0.2)//(ExitTimeCondition) //iHour >= exitHour or 
strategy.initial_capital =50000
// MM Block
lots = if MM < 2 
    strategy.initial_capital 
else 
    strategy.equity

lots := lots/close

entryPrice:=strategy.position_avg_price
strategy.close("ETLong",when=(ExitLongCondition==true))
strategy.entry("ETLong", strategy.long, qty=lots, comment="OpenLong",when=(EntryLongCondition==true))



もっと