資源の読み込みに... 荷物...

5分間のタイムフレーム戦略

作者: リン・ハーンチャオチャン, 日付: 2024-02-29 14:19:44
タグ:

img

概要

これは5分間のETHUSDT取引ペアのために設計されたテスト戦略である.価格格差が5ドル以上になるとロングになり,すでにロングになると,1%,2%の価格レベルでストップとして2つの小さなショートオーダーを設定し,また別の価格レベルでトレーリング・リミット・ロングオーダーを設定する.ショートに行く後の論理は類似しており,0.99%と1.02%の価格レベルで2つのロング・ストップオーダーとトレーリング・ショート・リミット・オーダーがあります.

戦略の論理

この戦略の主な論理は,主要レベルでの価格格差または逆転があるときに潜在的な新しいトレンド方向性を特定することです.価格が5ドル以上下落すると,潜在的な底部と来年のブールトレンドを示します.既にロングである場合,1%,2%の小さなショートオーダーは,潜在的な新しいベアトレンドを停止し,識別するために機能します.同様に,上向きでは,潜在的なトップアップと新しいベアトレンドが特定され,二つの小さなロングオーダーはショートから脱出し,新しいブールトレンドに追従します.

逆転オーダーは,トレンド方向を判断し,ストップを管理するために,1つの大きなストップの代わりに複数の小さな逆転オーダーを使用する.逆転オーダーは,価格変動に応じて後続ストップ/利益機能も提供する.

利点分析

最大の利点は,主要な価格格差から新たな潜在的なトレンドを特定し,資本管理,ストップ損失,巨大変動時の新しいトレンドを判断するために小さなリバースオーダーを使用することです.複数の価格レベルでストップとトラッキングオーダーを設定することで,より効果的な管理が可能になります.

リスク分析

主なリスクは,短期間の価格アクションに依存することによるショットソー,および複数のオーダーから取引所に注文負荷の増加である.また,不安定な期間中に頻繁にストップトリガーする高手数料がある可能性があります.

オプティマイゼーションの方向性

指示には,ギャップサイズなどのシグナルを識別するためのパラメータを調整し,ストップとオーダーの数とレベルを最適化し,ダイナミックトラッキングを実施し,トレンド変化を判断するためのボリュームや技術指標などのより多くの要因を導入することが含まれます.ダイナミックパラメータ最適化のための機械学習も実行可能です.

概要

この戦略は,ギャップ/逆転から新しいトレンドの可能性を特定し,トレンド,柔軟なストップ,ダイナミックな利益を捉えるために後続逆転オーダーを設定する.主要なリスクは,パラメータチューニングとより多くの信号因子によって改善できる高いオーダー周波数からのウィップソーと追加のコストである.機械学習とダイナミクス最適化により,大きな可能性がある.


/*backtest
start: 2023-02-22 00:00:00
end: 2024-02-28 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("pokupka perevorot 5min tf", overlay=true)

// Activation block (executed only once)
if (close - open) < -5
    strategy.entry("Long", strategy.long)

// Checking chart state block (executed continuously)
if strategy.position_size > 0
    // If long position is open
    strategy.entry("Short1", strategy.short, qty=2, limit=close * 1.01)
    strategy.entry("Short2", strategy.short, qty=2, limit=close * 1.01)
    strategy.entry("LongLimit", strategy.long, qty=1, limit=close * 0.98)

// Execution block (executed continuously)
if close * 1.01 <= strategy.position_avg_price
    // If price has increased by 1%, indicating a short position
    strategy.close("Long")

if close * 0.98 >= strategy.position_avg_price
    // If price has decreased by 2%, indicating two long positions
    strategy.close("Short1")
    strategy.close("Short2")

// Checking chart state block (executed continuously)
if strategy.position_size < 0
    // If short position is open
    strategy.entry("Long1", strategy.long, qty=2, limit=close * 0.99)
    strategy.entry("Long2", strategy.long, qty=2, limit=close * 0.99)
    strategy.entry("ShortLimit", strategy.short, qty=1, limit=close * 1.02)

// Execution block (executed continuously)
if close * 0.99 >= strategy.position_avg_price
    // If price has decreased by 1%, indicating a long position
    strategy.close("Short")

if close * 1.02 <= strategy.position_avg_price
    // If price has increased by 2%, indicating two short positions
    strategy.close("Long1")
    strategy.close("Long2")


もっと