この戦略は"価格・ボリューム統合に基づくトレンドフォロー戦略"と呼ばれる. 価格とボリュームの両方の指標を考慮し,トレンド方向を決定し,価格・ボリューム力に準拠したシグナルを生成する.
取引の論理は次のとおりです
まず5日間の移動平均値と15日間の移動平均値を計算します.
5日間の価格移動平均値が上昇し, 15日間のボリューム移動平均値も上昇すると, 買い信号を生成するために同期価格・ボリューム上昇をシグナルします.
5日間の価格移動平均値が下がり,または 15日間のボリューム移動平均値が下がると,既存のロングポジションは閉鎖されます.
この戦略の利点は,トレンドの方向性を判断するために価格とボリュームの変化を共同で利用することです.両方が上昇傾向を示すときのみ,ロング エントリーが起動し,誤った信号を効果的にフィルタリングします.
しかし,移動平均値のパラメータは,異なる商品の特徴に合わせて最適化および調整する必要があります.ストップ損失は,単一の取引損失リスクを減らすためにも重要です.
結論として,価格とボリューム指標を適切に統合することで,トレンドトレーディング戦略のパフォーマンスが向上できます.しかし,トレーダーは依然としてより多くの市場情報を監視し,実際の状況に基づいて戦略パラメータを調整する柔軟性を維持する必要があります.
/*backtest start: 2023-01-01 00:00:00 end: 2023-09-12 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © Celar //@version=5 strategy("VOLLY PRICE CONVERGE", default_qty_type= strategy.percent_of_equity ) base_sma = ta.sma(close, 10) vol_sma5 = ta.hma(volume, 15) price_sma5 = ta.hma(close, 15) ma50 = ta.sma(close, 50) ma20 = ta.sma(close, 20) int vol_indicator = na int price_indicator = na if vol_sma5 > vol_sma5[1] vol_indicator := 1 else vol_indicator := 0 if price_sma5 > price_sma5[1] price_indicator := 1 else price_indicator := 0 signal = vol_indicator + price_indicator colour = signal == 2 ? #00802b : signal == 1 ? #cc2900 : color.white bank_roll = strategy.equity qty = bank_roll/close strategy.entry("Long", strategy.long, qty, when = signal == 2 and close > base_sma) // Generate a full exit bracket (profit 10 points, loss 5 points per contract) from the entry named "Long". strategy.close("Long", when = signal == 1 or signal == 0 or close < base_sma )