この戦略は,高周波市場作りの仲介を実施するためにK線パターンに基づく判断方法を使用する.その主なアイデアは,異なるK線タイムフレームにわたる上昇/下落パターンを判断することによって,高周波市場作りの取引を開閉することです.特に,この戦略は複数のK線タイムフレームを同時にモニターし,連続して上昇または減少するKラインを観察すると対応する長または短ポジションを取ります.
この戦略の主な論理は,異なるK線時間枠で上昇/下落パターンを判断することにある.具体的には,1分,5分,15分K線を同時に追跡する.この戦略は,過去NのK線と比較して価格が上昇または低下したかどうかを確認することによって現在の感情を決定する.価格が連続して上昇した場合,それは上昇の感情を示し,価格が連続して低下した場合,それは下落の見通しを示します.上昇信号では戦略は長くなります.下落信号では戦略は短くなります.この方法で,戦略は高周波仲介のための異なる時間枠でトレンドと平均逆転の機会を捉えることができます.
基本論理は2つの指標を追跡することによって実装されますups
そしてdns
連続して上昇し下がるK線の数を記録する.consecutiveBarsUp
そしてconsecutiveBarsDown
傾向を決定するためのups
より大きいまたは等しいconsecutiveBarsUp
上昇傾向を示します.dns
超えているconsecutiveBarsDown
さらに,戦略はバックテストの時間帯とオーダー実行メッセージなども指定します.
この戦略の利点は以下の通りです.
また,注意すべきリスクもいくつかあります.
リスクを軽減する方法は以下の通りです.
この戦略は次の側面から強化できます
この戦略は,K線パターン判断に基づくシンプルで効果的な高周波仲介戦略を実現する.その核心は,仲介のためのタイムフレーム全体で日中の上昇/下落傾向を把握することにある.いくつかの固有のリスクにもかかわらず,この理解しやすい戦略はアルゴリズム取引の良い出発点である.最適化とリスク管理のさらなる改善は,より安定した利益をもたらす可能性が高い.
/*backtest start: 2023-12-01 00:00:00 end: 2023-12-21 23:59:59 period: 2h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 // Strategy strategy("Up/Down Strategy", initial_capital = 10000, default_qty_value = 10000, default_qty_type = strategy.cash) consecutiveBarsUp = input(1) consecutiveBarsDown = input(1) price = close ups = 0.0 ups := price > price[1] ? nz(ups[1]) + 1 : 0 dns = 0.0 dns := price < price[1] ? nz(dns[1]) + 1 : 0 // Strategy Backesting startDate = input(timestamp("2021-01-01T00:00:00"), type = input.time) finishDate = input(timestamp("2021-12-31T00:00:00"), type = input.time) time_cond = true // Messages for buy and sell message_buy = input("{{strategy.order.alert_message}}", title="Buy message") message_sell = input("{{strategy.order.alert_message}}", title="Sell message") // Strategy Execution if (ups >= consecutiveBarsUp) and time_cond strategy.entry("Long", strategy.long, stop = high + syminfo.mintick, alert_message = message_buy) if (dns >= consecutiveBarsDown) and time_cond strategy.entry("Short", strategy.short, stop = low + syminfo.mintick, alert_message = message_sell) //plot(strategy.equity, title="equity", color=color.red, linewidth=2, style=plot.style_areabr)