
この戦略は,K線形状判断に基づく方法を適用し,高頻度市場取引者の利を実現する.その主な考え方は,異なるK線時間帯の多空形状を判断することによって,高頻度市場取引者の開平取引を実現することである.具体的には,戦略は,複数の時間帯のK線を同時に監視し,連続して上昇するK線または連続して下降するK線を観察すると,それぞれ空っぽまたは多空になる.
この戦略の核心的な論理は,異なる時間帯のK線の多空形状を判断することにある.具体的には,1分,5分および15分のK線を同時に監視する.戦略は,価格比より前にN根K線が上昇または下落しているかどうかを追跡することによって,現在の多空形状を判断する.連続した上昇であれば,現在を多頭形状とみなす;連続した下落であれば,現在を空頭形状とみなす.多頭信号が形成されたとき,戦略は多くを行う;空頭信号が形成されたとき,戦略は空空いている.このように,戦略は,異なる時間帯の価格変動の傾向と反転の機会を捕捉し,高頻率の利点を達成することができる.
コードは主にupsそしてdnsK線の多空形状を判断する2つの指標.この2つの指標は,それぞれ,K線の数が連続して上昇し,連続して減少していることを統計する.策略は,パラメータを設定することを許可する.consecutiveBarsUpそしてconsecutiveBarsDown傾向を決定する K 線の数を指定します.upsこれは,xの2乗です.consecutiveBarsUp捕獲した場合は多頭形を表示し,dnsこれは,xの2乗です.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)