
Cette stratégie est appelée stratégie de négociation quantifiée parallèle basée sur le croisement de la moyenne SMA avec l’indicateur de profondeur du marché. La stratégie utilise principalement le signal d’or et de fourchette de la moyenne SMA, combiné à la ligne de conversion, à la référence et à l’horizon avant de l’indicateur de nuage de profondeur du marché d’Ichimoku, ainsi qu’à l’indicateur de volume de transaction, pour réaliser des transactions automatiques positives et inverses sur Bitcoin.
La stratégie est basée sur les principes suivants:
La construction d’un signal de transaction de jonction et de jonction en utilisant la moyenne moyenne des SMA avec différents paramètres. Un signal d’achat est généré lorsque le SMA court court est traversé par le SMA long et un signal de vente est généré lorsque le SMA court est traversé par le SMA long.
Les signaux d’achat ne sont générés que lorsque le prix de clôture est supérieur à la ligne de front et à la ligne de référence du diagramme de nuages, et les signaux de vente ne sont générés que lorsque le prix de clôture est inférieur à la ligne de front et à la ligne de référence du diagramme de nuages, ce qui filtre la plupart des faux signaux.
L’indicateur polyvalent basé sur le volume des transactions filtre les faux signaux de faible volume et ne génère des signaux d’achat et de vente que lorsque le volume des transactions est supérieur à la moyenne sur une période donnée.
La fonction plotshape marque la position des signaux d’achat et de vente sur le graphique.
Ainsi, la stratégie prend en compte les tendances à court et à long terme, les indicateurs de profondeur de marché et les indicateurs de volume des transactions, optimisant ainsi les décisions de négociation.
Cette stratégie présente les avantages suivants:
La stratégie présente également les risques suivants:
Ces risques peuvent être optimisés en ajustant les paramètres de la ligne moyenne, les paramètres du diagramme de nuages, les paramètres du volume des transactions, etc., tout en sélectionnant les types de transactions appropriés pour réduire les risques.
Cette stratégie peut être optimisée dans les directions suivantes:
Cette stratégie utilise une combinaison d’indicateurs de croix de moyenne, de profondeur de marché et de volume de transactions pour former une stratégie de trading quantitative plus stable et plus fiable. La stratégie peut être optimisée en ajoutant de nouveaux paramètres et en ajoutant de nouveaux indicateurs techniques.
/*backtest
start: 2024-01-16 00:00:00
end: 2024-01-23 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("SMA Crossover with Ichimoku & Volume", shorttitle="SCIV", overlay=true)
// Define the length of SMA
shortSmaLength = input(14, title="Short SMA Length")
longSmaLength = input(21, title="Long SMA Length")
volumeLength = input(20, title="Volume Moving Average Length")
// Calculate the SMA and Volume MA
shortSma = sma(close, shortSmaLength)
longSma = sma(close, longSmaLength)
volumeMa = sma(volume, volumeLength)
// Define the lengths of the Ichimoku Cloud components
tenkanLength = input(9, title="Tenkan Length")
kijunLength = input(26, title="Kijun Length")
senkouBLength = input(52, title="Senkou B Length")
displacement = input(26, title="Displacement")
// Calculate the Ichimoku Cloud components
tenkan = (highest(high, tenkanLength) + lowest(low, tenkanLength)) / 2
kijun = (highest(high, kijunLength) + lowest(low, kijunLength)) / 2
senkouA = (tenkan + kijun) / 2
senkouB = (highest(high, senkouBLength) + lowest(low, senkouBLength)) / 2
// Define the conditions for entry and exit with Ichimoku filter and Volume filter
buyEntry = crossover(shortSma, longSma) and close > senkouA[displacement] and close > senkouB[displacement] and volume > volumeMa
sellEntry = crossunder(shortSma, longSma) and close < senkouA[displacement] and close < senkouB[displacement] and volume > volumeMa
// Plot buy/sell conditions on the chart for visual inspection
plotshape(buyEntry, style=shape.labelup, location=location.belowbar, color=color.green, text="Buy", size=size.small)
plotshape(sellEntry, style=shape.labeldown, location=location.abovebar, color=color.red, text="Sell", size=size.small)
// Execute the strategy
if (buyEntry)
strategy.entry("Buy", strategy.long)
if (sellEntry)
strategy.entry("Sell", strategy.short)