これは,ハイキン・アシ閉値の0.5%変化に基づいて購入・売却シグナルを発行する短期間の取引戦略である.これは,ハイキン・アシキャンドルストイックチャートにのみ適しており,2時間,1時間,30分間の期間で最適に動作する.
この戦略の基本的な論理はハイキン・アシの閉じる価格が前のキャンドルストイックと比較して0.5%上昇するとロング; ハイキン・アシの閉じる価格が前のキャンドルストイックと比較して0.5%低下するとショート.
具体的には,戦略はまず,現在の閉店価格と以前の閉店価格の間の割合変化を計算します.priceChange = close / close[1] - 1
もしpriceChange >= 0.005
長い信号が発信されます.priceChange <= -0.005
短信号が発信されます.
シグナルを発行する際,戦略は既存のポジションがあるかどうかを判断する.既にポジション (ロングまたはショート) にある場合は,シグナルが繰り返されない.ポジションがない場合は,購入または販売条件に基づいてオープンポジションのシグナルを発行する.
最後にplotshape
グラフ上の買い/売シグナルを表示するために使用されます.
この戦略を最適化するための主な側面:
簡単に言うと,これは非常にシンプルで,低パラメータで,短期間の取引戦略を理解しやすいものです. 高周波トレーダーに適した非常に速い価格変化を捕捉します. しかし,コストを削減するために取引数を制御する必要があります. いくつかの最適化方法により,さらに良い結果を達成することができます.
/*backtest start: 2022-12-11 00:00:00 end: 2023-12-17 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("Heikin-Ashi - Change 0.5% short Time Period", shorttitle="Heikin-Ashi - Change 0.5% short Time Period", overlay=true) // Calculate 0.5% price change priceChange = close / close[1] - 1 // Buy and Sell Signals buyp = priceChange >= 0.005 sellp = priceChange <= -0.005 // Initialize position and track the current position var int position = na // Strategy entry conditions buy_condition = buyp and (na(position) or position == -1) sell_condition = sellp and (na(position) or position == 1) if buy_condition strategy.entry("Buy", strategy.long) position := 1 if sell_condition strategy.entry("Sell", strategy.short) position := -1 // Plot Buy and Sell signals using plotshape plotshape(series=buy_condition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small) plotshape(series=sell_condition, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small)