Cette stratégie utilise un ensemble d’indicateurs techniques tels que l’indicateur Ichimoku Kinko Hyo, le dépassement de la ligne du jour, la moyenne mobile de Gauss et l’indicateur MACD pour juger de la direction des tendances et trouver des points d’entrée plus fiables.
L’indicateur de jugement Ichimoku Kinko Hyo: La ligne de conversion est considérée comme un signal de prévision.
Le jugement de la rupture de la ligne du jour: la hausse de la clôture d’aujourd’hui par rapport à la clôture d’hier confirme le signal de hausse.
Le jugement de Gauss sur les moyennes mobiles lisse: le passage de la moyenne au-dessus du prix est considéré comme un signal bullish.
Le jugement du MACD: la ligne DIFF est considérée comme un signal de bullish.
Les multiples facteurs ci-dessus sont combinés pour juger si le marché est confronté à un changement de tendance et déterminer le moment où il est préférable d’entrer.
Les résultats de l’étude ont été publiés dans le journal L’Agence de la santé publique du Canada.
Les jugements sur les fuseaux horaires journaliers et les fuseaux horaires multiples doivent être confirmés ensemble afin d’éviter les fausses percées.
Ichimoku Kinko Hyo est un juge de tendance très précis et fiable.
Les moyennes mobiles de Gauss sont caractérisées par un faible retard.
Le MACD peut être utilisé pour juger si la dynamique est sur le point de basculer.
Les conditions multiples ont relativement peu de chances de se former en même temps, ce qui peut conduire à manquer des points d’entrée favorables.
Une mauvaise configuration des paramètres de l’indicateur peut entraîner un signal erroné.
Les jugements sur la durée d’une journée peuvent être différents de ceux sur plusieurs périodes.
La fausse percée est toujours possible et entraîne des pertes.
Les méthodes d’optimisation correspondantes:
Ajuster les paramètres de l’indicateur pour augmenter le temps d’entrée.
Tester différentes combinaisons de variétés et de paramètres de cycle, optimiser les paramètres.
Optimisation de la configuration des fuseaux horaires afin de coordonner les signaux des fuseaux horaires.
Il est possible de régler le stop-loss et de contrôler les pertes individuelles.
Test de combinaisons d’indicateurs pour trouver une meilleure combinaison.
L’augmentation des algorithmes d’apprentissage automatique et l’utilisation de plus de données pour améliorer les capacités de jugement.
Il est important d’augmenter la détection des tendances et d’éviter les transactions à contre-courant.
Optimiser les stratégies de gestion des fonds pour les rendre plus robustes.
Optimiser les stratégies de stop-loss pour maximiser les bénéfices.
Cette stratégie intègre plusieurs indicateurs pour juger de la direction de la tendance, pour entrer en jeu lors de la détermination d’une probabilité plus élevée de voir plus de temps, pour améliorer l’exactitude du jugement grâce à plusieurs périodes de temps et à la vérification conjointe de plusieurs indicateurs. L’optimisation peut être effectuée en ajustant la fenêtre de paramètres, en optimisant la combinaison et en introduisant plus de données, en intégrant plus de signaux de facteurs et en obtenant plus d’opportunités de négociation sur une base stable.
/*backtest
start: 2022-09-17 00:00:00
end: 2023-09-23 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
// Any timeFrame ok but good on 15 minute & 60 minute , Ichimoku + Daily-Candle_cross(DT) + HULL-MA_cross + MacD combination 420 special blend
strategy("Ichimoku + Daily-Candle_X + HULL-MA_X + MacD", shorttitle="٩(̾●̮̮̃̾•̃̾)۶", overlay=true, default_qty_type=strategy.percent_of_equity, max_bars_back=26, default_qty_value=100, calc_on_order_fills= true, calc_on_every_tick=true, pyramiding=0,precision=6)
keh=input(title="Double HullMA",defval=14, minval=1)
dt = input(defval=0.0010, title="Decision Threshold (0.001)", type=float, step=0.0001)
SL = input(defval=-500.00, title="Stop Loss in $", type=float, step=1)
TP = input(defval=25000.00, title="Target Point in $", type=float, step=1)
ot=1
p = input(7, minval=1, title="Length")
pi=3.1415926535
w=2*pi/p
beta = (1 - cos(w))/(pow(1.414,2.0/3) - 1)
alfa = -beta + sqrt(beta*beta + 2*beta)
ret1= pow(alfa,4)*close+4*(1-alfa)*nz(ret1[1])-6*pow(1-alfa,2)*nz(ret1[2])+4*pow(1-alfa,3)*nz(ret1[3])-pow(1-alfa,4)*nz(ret1[4])
ret2= pow(alfa,4)*close[1]+4*(1-alfa)*nz(ret1[1])-6*pow(1-alfa,2)*nz(ret1[2])+4*pow(1-alfa,3)*nz(ret1[3])-pow(1-alfa,4)*nz(ret1[4])
confidence=(security(syminfo.tickerid, 'D', close)-security(syminfo.tickerid, 'D', close[1]))/security(syminfo.tickerid, 'D', close[1])
conversionPeriods = input(9, minval=1, title="Conversion Line Periods")
basePeriods = input(26, minval=1, title="Base Line Periods")
laggingSpan2Periods = input(52, minval=1, title="Lagging Span 2 Periods")
displacement = input(26, minval=1, title="Displacement")
donchian(len) => avg(lowest(len), highest(len))
conversionLine = donchian(conversionPeriods)
baseLine = donchian(basePeriods)
leadLine1 = avg(conversionLine, baseLine)
leadLine2 = donchian(laggingSpan2Periods)
LS=close, offset = -displacement
MACD_Length = input(9)
MACD_fastLength = input(12)
MACD_slowLength = input(26)
MACD = ema(close, MACD_fastLength) - ema(close, MACD_slowLength)
aMACD = ema(MACD, MACD_Length)
closelong = ret1<ret2 and close<ret2 and confidence<dt or strategy.openprofit<SL or strategy.openprofit>TP
if (closelong)
strategy.close("Long")
longCondition = ret1>ret2 and strategy.opentrades<ot and confidence>dt and close>ret2 and leadLine1>leadLine2 and open<LS and MACD>aMACD
if (longCondition)
strategy.entry("Long",strategy.long)
// /L'-,
// ,'-. /MM . . / L '-,
// . _,--dMMMM\ /MMM `.. / '-,
// : _,--, )MMMMMMMMM),. `QMM ,<> /_ '-,'
// ; ___,--. \MM( `-' )M//MM\ ` ,',.; .-'* ; .'
// | \MMMMMM) \MM\ ,dM//MMM/ ___ < ,; `. )`--' /
// | \MM()M MMM)__ /MM(/MP' ___, \ \ ` `. `. /__, ,'
// | MMMM/ MMMMMM( /MMMMP'__, \ | / `. `-,_\ /
// | MM /MMM---' `--'_ \ |-' |/ `./ .\----.___
// | /MM' `--' __,- \"" |-' |_, `.__) . .F. )-.
// | `--' \ \ |-' |_, _,-/ J . . . J-'-. `-.,
// | __ \`. | | | \ / _ |. . . . \ `-. F
// | ___ / \ | `| ' __ \ | /-' F . . . . \ '`
// | \ \ \ / | __ / \ | |,-' __,- J . . . . . \
// | | / |/ __,- \ ) \ / |_,- __,--' |. .__.----,'
// | |/ ___ \ |'. |/ __,--' `.-;;;;;;;;;\
// | ___ \ \ | | ` __,--' /;;;;;;;;;;;;.
// | \ \ |-'\ ' __,--' /;;;;;;;;;;;;;;\
// \ | | / | __,--' `--;;/ \;-'\
// \ | |/ __,--' / / \ \
// \ | __,--' / / \ \
// \|__,--' _,-;M-K, ,;-;\
// <;;;;;;;; '-;;;;
//a1=plot(n1,color=c)
//a2=plot(n2,color=c)
//plot(cross(n1, n2) ? n1 : na, style = circles, color=b, linewidth = 4)
//plot(cross(n1, n2) ? n1 : na, style = line, color=d, linewidth = 4)
//plot(conversionLine, color=#0496ff, title="Conversion Line")
//plot(baseLine, color=#991515, title="Base Line")
//plot(close, offset = -displacement, color=#459915, title="Lagging Span")
//p1=plot (leadLine1, offset = displacement, color=green, title="Lead 1")
//p2=plot (leadLine2, offset = displacement, color=red, title="Lead 2")
//fill(p1, p2, color = leadLine1 > leadLine2 ? green : red)
// remove the "//" from before the plot script if want to see the indicators on chart