
Cette stratégie est une stratégie de hauts et bas qui s’applique au marché de la crypto-monnaie. Elle utilise des indicateurs tels que MACD, PSAR, ATR, Elliott Wave et d’autres indicateurs pour effectuer des transactions sur des périodes de temps plus élevées telles que 1 heure, 4 heures ou 1 jour. L’avantage de la stratégie réside dans le taux de rendement élevé du risque et un facteur de profit moyen pouvant atteindre 1,5 à 2,5.
Les signaux de négociation de cette stratégie proviennent des hauts et des bas des prix et d’une analyse globale de plusieurs indicateurs. La logique spécifique est la suivante:
Déterminez si la ligne K présente une fourchette de hauts et de bas de prix, c’est-à-dire que les hauts sont des hauts d’innovation continus et les bas sont des hauts d’innovation continus.
Vérifiez le niveau du rectangle du MACD.
Vérifiez les indicateurs du PSAR pour déterminer la tendance.
Examiner les indicateurs de tendance formés par l’ATR et la MA pour déterminer la direction de la tendance.
Les ondes d’Elliott confirment la tendance.
Si les cinq conditions ci-dessus sont orientées dans la même direction, un signal de sur- ou de vide est produit.
Le taux de rendement du risque est élevé, jusqu’à 1:30.
Le facteur de gain moyen est élevé, généralement compris entre 1,5 et 2,5.
Une combinaison de multiples indicateurs permet de filtrer efficacement les fausses percées.
Le taux de réussite est faible, entre 10 et 20% seulement.
Il y a un certain risque de retrait et de tirage au sort.
L’efficacité de l’indicateur est influencée par les conditions du marché.
Il faut une plus grande résilience psychologique.
Les mesures prises:
Augmenter le capital de la transaction pour équilibrer le taux de réussite.
Les pertes ponctuelles sont strictement contrôlées.
Adaptez les paramètres de l’indicateur en fonction des différents marchés.
Il est important d’avoir une bonne construction psychologique et de bien maîtriser la taille de la position.
Paramètres de l’indicateur de test selon les différentes crypto-monnaies et environnements de marché.
Augmentation des stratégies de stop loss et de stop loss et optimisation de la gestion des fonds.
Le but est d’améliorer le taux de réussite grâce à l’apprentissage automatique.
Le filtrage des signaux de transaction par les indicateurs d’humeur sociale a été augmenté.
Considérer la confirmation des indicateurs sur plusieurs périodes.
Cette stratégie est une stratégie de trading à haut risque et à haut rendement pour les crypto-monnaies. Son avantage réside dans le taux de retour sur risque élevé et le facteur de profit moyen élevé. Le risque réside principalement dans le faible taux de gain et la nécessité d’une forte tolérance psychologique. La direction d’optimisation suivante peut être prise à partir de plusieurs dimensions telles que l’ajustement des paramètres, l’optimisation de la gestion des fonds et l’amélioration du taux de gain.
/*backtest
start: 2023-12-21 00:00:00
end: 2023-12-28 00:00:00
period: 45m
basePeriod: 5m
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/
// © SoftKill21
//@version=4
strategy("Crypto strategy high/low", overlay=true)
fast_length = input(title="Fast Length", type=input.integer, defval=12)
slow_length = input(title="Slow Length", type=input.integer, defval=26)
src = input(title="Source", type=input.source, defval=close)
signal_length = input(title="Signal Smoothing", type=input.integer, minval = 1, maxval = 50, defval = 9)
sma_source = input(title="Simple MA(Oscillator)", type=input.bool, defval=true)
sma_signal = input(title="Simple MA(Signal Line)", type=input.bool, defval=false)
//sar
start = input(0.02)
increment = input(0.02)
maximum = input(0.2)
var bool uptrend = na
var float EP = na
var float SAR = na
var float AF = start
var float nextBarSAR = na
if bar_index > 0
firstTrendBar = false
SAR := nextBarSAR
if bar_index == 1
float prevSAR = na
float prevEP = na
lowPrev = low[1]
highPrev = high[1]
closeCur = close
closePrev = close[1]
if closeCur > closePrev
uptrend := true
EP := high
prevSAR := lowPrev
prevEP := high
else
uptrend := false
EP := low
prevSAR := highPrev
prevEP := low
firstTrendBar := true
SAR := prevSAR + start * (prevEP - prevSAR)
if uptrend
if SAR > low
firstTrendBar := true
uptrend := false
SAR := max(EP, high)
EP := low
AF := start
else
if SAR < high
firstTrendBar := true
uptrend := true
SAR := min(EP, low)
EP := high
AF := start
if not firstTrendBar
if uptrend
if high > EP
EP := high
AF := min(AF + increment, maximum)
else
if low < EP
EP := low
AF := min(AF + increment, maximum)
if uptrend
SAR := min(SAR, low[1])
if bar_index > 1
SAR := min(SAR, low[2])
else
SAR := max(SAR, high[1])
if bar_index > 1
SAR := max(SAR, high[2])
nextBarSAR := SAR + AF * (EP - SAR)
// Calculating
fast_ma = sma_source ? sma(src, fast_length) : ema(src, fast_length)
slow_ma = sma_source ? sma(src, slow_length) : ema(src, slow_length)
macd = fast_ma - slow_ma
signal = sma_signal ? sma(macd, signal_length) : ema(macd, signal_length)
hist = macd - signal
CCI = input(20)
ATR = input(5)
Multiplier=input(1,title='ATR Multiplier')
original=input(true,title='original coloring')
thisCCI = cci(close, CCI)
lastCCI = nz(thisCCI[1])
bufferDn= high + Multiplier * sma(tr,ATR)
bufferUp= low - Multiplier * sma(tr,ATR)
if (thisCCI >= 0 and lastCCI < 0)
bufferUp := bufferDn[1]
if (thisCCI <= 0 and lastCCI > 0)
bufferDn := bufferUp[1]
if (thisCCI >= 0)
if (bufferUp < bufferUp[1])
bufferUp := bufferUp[1]
else
if (thisCCI <= 0)
if (bufferDn > bufferDn[1])
bufferDn := bufferDn[1]
x=0.0
x:=thisCCI >= 0 ?bufferUp:thisCCI <= 0 ?bufferDn:x[1]
swap=0.0
swap:=x>x[1]?1:x<x[1]?-1:swap[1]
swap2=swap==1?color.lime:color.red
swap3=thisCCI >=0 ?color.lime:color.red
swap4=original?swap3:swap2
//elliot wave
srce = input(close, title="source")
sma1length = input(5)
sma2length = input(35)
UsePercent = input(title="Show Dif as percent of current Candle", type=input.bool, defval=true)
smadif=iff(UsePercent,(sma(srce, sma1length) - sma(srce, sma2length)) / srce * 100, sma(srce, sma1length) - sma(srce, sma2length))
col=smadif <= 0 ? color.red : color.green
longC = high > high[1] and high[1] > high[2] and close[2] > high[3] and hist > 0 and uptrend and smadif < 0 and swap4==color.lime
//longC = high > high[1] and high[1] > high[2] and high[2] > high[3] and high[3] > high[4] and close[4] > high[5]
shortC = low < low[1] and low[1] < low[2] and close[2] < low[3] and hist < 0 and not uptrend and smadif > 0 and swap4==color.red
//shortC = low < low[1] and low[1] < low[2] and low[2] < low[3] and low[3] < low[4] and close[4] < low[5]
tp=input(0.15, title="tp")
sl=input(0.005, title="sl")
strategy.entry("long",1,when=longC)
strategy.entry("short",0,when=shortC)
strategy.exit("x_long", "long" ,loss = close * sl / syminfo.mintick, profit = close * tp / syminfo.mintick , alert_message = "closelong")
//strategy.entry("short",0, when= loss = close * sl / syminfo.mintick)
strategy.exit("x_short", "short" , loss = close * sl / syminfo.mintick, profit = close * tp / syminfo.mintick,alert_message = "closeshort")
//strategy.entry("long",1, when = loss = close * sl / syminfo.mintick)
//strategy.close("long",when= hist < 0)
//strategy.close("short", when= hist > 0)