Trend nach einer Strategie auf Basis der Preis-Volumen-Integration

Schriftsteller:ChaoZhang, Datum: 2023-09-13 15:25:20
Tags:

Diese Strategie wird Trend Following Strategy Based on Price-Volume Integration genannt. Sie berücksichtigt sowohl Preis- als auch Volumenindikatoren, um die Trendrichtung zu bestimmen und Signale zu erzeugen, die mit den Preis-Volumen-Kräften übereinstimmen.

Die Handelslogik ist wie folgt:

Berechnen Sie zunächst den 5-tägigen gleitenden Preisdurchschnitt und den 15-tägigen gleitenden Volumendurchschnitt.

Wenn der 5-tägige gleitende Preisdurchschnitt steigt und der 15-tägige gleitende Volumendurchschnitt ebenfalls steigt, signalisiert er einen synchronisierten Preis-Volumen-Aufschub, um Kaufsignale zu generieren.

Wenn der 5-tägige gleitende Kursdurchschnitt sinkt oder der 15-tägige gleitende Volumendurchschnitt sinkt, werden bestehende Longpositionen geschlossen.

Der Vorteil dieser Strategie besteht darin, Preis- und Volumenänderungen gemeinsam zu nutzen, um die Trendrichtung zu beurteilen.

Die Parameter von gleitenden Durchschnitten müssen jedoch optimiert und angepasst werden, um den verschiedenen Produkt­merkmalen gerecht zu werden.

In der Tat ist es wichtig, dass die Marktinformationen von den Marktteilnehmern besser verfolgt werden, wobei die Flexibilität bei der Anpassung der Strategieparameter an die tatsächlichen Bedingungen gewahrt bleibt.


/*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 )

 
        

Mehr