
La stratégie utilise des indicateurs de dynamique des prix pour déterminer la direction de la transaction. Plus précisément, elle calcule séparément la moyenne et le prix moyen, générant un signal d’achat lorsque les prix traversent la moyenne et le prix moyen. Pour filtrer les faux signaux, il est demandé qu’aucun signal similaire n’ait été précédemment enregistré.
La stratégie est basée sur des indicateurs de dynamique des prix pour déterminer la direction de la tendance.
swmaClose = swma(close)
vwapClose = vwap(close)
Parmi eux,swmaLa moyenne sportive est la moyenne de l’année.vwapLe prix moyen pondéré pour la quantité de transaction.
On compare ensuite la relation entre la taille du prix et la valeur moyenne pour déterminer si le cours moyen et la valeur moyenne sont en hausse ou en hausse, ce qui permet de déterminer si le cours moyen est un signal baissier:
swmaLong = close > swmaClose
vwapLong = close > vwapClose
Pour filtrer les faux signaux, demandez à ces deux indicateurs de ne pas avoir donné de signal avant:
triggerLong = vwapLong and not vwapLong[1] and not swmaLong and not swmaLong[1]
Pour plus d’informations, consultez le message suivant:
saveLong = false, saveLong := triggerLong ? true : not vwapLong ? false : saveLong[1]
Enfin, un signal d’ouverture est généré lorsque le signal de hausse est conservé et que le prix est de nouveau en hausse:
startLong = saveLong and swmaLong
Il permet de filtrer certains signaux faux, ce qui rend le signal plus fiable.
La stratégie comprend également un paramètre d’arrêt de perte. La distance d’arrêt est configurable, le paramètre d’arrêt est un certain nombre de multiples de la perte.
Cette stratégie présente les avantages suivants:
Cette stratégie comporte aussi des risques:
La réponse:
La stratégie peut également être optimisée dans les directions suivantes:
Ces optimisations peuvent améliorer la flexibilité, la stabilité et la rentabilité des stratégies.
La stratégie de suivi de la dynamique des prix est une stratégie de suivi de la tendance simple, directe et logique. La stratégie utilise la moyenne des prix et la moyenne des prix pour déterminer la direction de la dynamique des prix et conçoit un mécanisme de vérification en plusieurs étapes pour améliorer la qualité du signal. La stratégie contient également une configuration de stop-loss raisonnable. Du point de vue du code, la logique de la stratégie est très simple et ne nécessite que plus de 20 lignes de scripts de pin.
/*backtest
start: 2023-12-03 00:00:00
end: 2024-01-02 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy(title = "Simple Price Momentum", shorttitle = "SPM", overlay = true, initial_capital = 20000, default_qty_value = 100, default_qty_type = strategy.percent_of_equity, commission_value = 0.025)
// How To Create A Simple Trading Strategy With TradingView
// https://docs.google.com/document/d/1fXxCtPuGgTXb-RuBJNbwlfgkeiLTK5060LfTrzRlr5k/view
swmaClose = swma(close)
vwapClose = vwap(close)
swmaLong = close > swmaClose
vwapLong = close > vwapClose
triggerLong = vwapLong and not vwapLong[1] and not swmaLong and not swmaLong[1]
saveLong = false, saveLong := triggerLong ? true : not vwapLong ? false : saveLong[1]
startLong = saveLong and swmaLong
startLong := input(false, "Consecutive Orders") ? startLong : startLong and not startLong[1]
stopLoss = input(250, "Stop Loss", step = 50)
takeProfit = input(10, "Reward/Risk") * stopLoss
strategy.entry("Open Long", strategy.long, when = startLong)
strategy.exit("Exit Long", "Open Long", profit = stopLoss, loss = takeProfit)
// bgcolor(swmaLong ? color.blue : na)
// bgcolor(vwapLong ? color.orange : na)
// bgcolor(triggerLong ? color.purple : na)
// bgcolor(saveLong ? color.yellow : na)
bgcolor(startLong[1] ? color.green : na)