Aide au codage - page 333

 

Une seule observation :

Un code comme celui-ci :

DayLow = si(dayofmonth != dayofmonth[1], low, min(low, nz(DayLow[1])))

Signifie : DayLow est un minimum d'un jour actuel ou d'un jour précédent le plus bas (même chose pour les highs). Maintenant, cela semble inoffensif lorsqu'on le décrit, mais si vous réfléchissez à ce que signifie "previous lowest day low", vous comprendrez rapidement que cela prend en compte toutes les barres du graphique. C'est la même erreur que certains indicateurs de pas avaient, que Mark Jurik a fait dans son calcul d'un des stochastiques (je l'ai alors appelé un "stochastique de longueur infinie") et que d'autres indicateurs ont ... et cela mène à deux choses : la déformation des données calculées (les bas et les hauts sont toujours juste plus bas ou juste plus haut, jamais l'inverse) et finalement la repeinture (quand vous changez de cadre temporel ou de symbole, certaines barres qui étaient les plus anciennes avant sont perdues, et cela peut influencer le résultat final).

 

J'ai fait un essai. Je n'ai pas beaucoup de temps en ce moment, alors n'hésitez pas à le corriger.

//+------------------------------------------------------------------+

//| Magarto |

//+------------------------------------------------------------------+

#property indicator_separate_window

#property indicator_buffers 1

#property indicator_color1 DimGray

double all4[];

double ma[];

double maslopeB[];

double candleOver[];

double bothElder[];

int init()

{

IndicatorBuffers(5);

SetIndexBuffer(0,all4);

SetIndexBuffer(1,ma);

SetIndexBuffer(2,maslopeB);

SetIndexBuffer(3,candleOver);

SetIndexBuffer(4,bothElder);

IndicatorShortName("Magarto");

return(0);

}

int deinit()

{

return(0);

}

//+------------------------------------------------------------------+

//| |

//+------------------------------------------------------------------+

int start()

{

int counted_bars = IndicatorCounted();

int i,limit;

if(counted_bars<0) return(-1);

if(counted_bars>0) counted_bars--;

limit = MathMin(Bars-counted_bars,Bars-1);

for(i=limit; i>=0; i--)

{

ma = iMA(NULL,0,30,0,MODE_SMA,PRICE_CLOSE,i);

double maslope = ma - ma;

if(maslope < 0) maslopeB = -1;

else if(maslope > 0) maslopeB = 1;

else maslopeB = 0;

if(((Open + Close + High + Low) / 4) > ma) candleOver = 1; else candleOver = -1;

double xMA = iMA(NULL,0,13,0,MODE_EMA,PRICE_CLOSE,i);

double DayLow = 0;

if(iTime(NULL,PERIOD_D1,i) != iTime(NULL,PERIOD_D1,i+1)) DayLow = iLow(NULL,PERIOD_D1,i);

else DayLow = MathMin(iLow(NULL,PERIOD_D1,i),iLow(NULL,PERIOD_D1,i+1));

double bearpower = DayLow - xMA;

double DayHigh = 0;

if(iTime(NULL,PERIOD_D1,i) != iTime(NULL,PERIOD_D1,i+1)) DayHigh = iHigh(NULL,PERIOD_D1,i);

else DayHigh = MathMax(iHigh(NULL,PERIOD_D1,i),iHigh(NULL,PERIOD_D1,i+1));

double bullpower = DayHigh - xMA;

if (bearpower > 0 && bullpower > 0) bothElder = 1;

else if(bearpower < 0 && bullpower < 0) bothElder = -1;

else bothElder = 0;

all4 = maslopeB + candleOver + bothElder;

}

return(0);

}

//+------------------------------------------------------------------+

//| |

//+------------------------------------------------------------------+

 

Bonjour, je voulais juste demander une chose qui me trotte dans la tête depuis très longtemps, à propos des indicateurs multi-temporels.

Regardez l'image : C'est un graphique du dow jones en range bars 6 pip avec l'indicateur blau ergodic, j'ai mis en évidence le moment de ce signal de vente. Il se produit à la fin de cette bougie. Cette bougie s'ouvre à 14,43 et se ferme à 14,57.

J'ai tracé l'indicateur dans le graphique range bars 2 pip, avec les mêmes paramètres, en le pointant sur le graphique range bars 6 pip.

Il montre le début du signal de vente lorsque la bougie du graphique 6 pip n'est pas encore fermée. Je sais que c'est le comportement NORMAL de l'indicateur mtf, il ne pourrait en être autrement.

Mon but est juste de créer 2 couleurs supplémentaires, le rose clair pour les signaux de vente et le vert clair pour les signaux d'achat lorsque la bougie tf supérieure n'est pas encore fermée.

Donc, ça devrait être comme ça :

Ma question est : est-ce possible de le faire ? Comment dois-je aborder la chose ?

Merci

Dossiers :
my.jpg  114 kb
2_pip.jpg  102 kb
6_pip.jpg  87 kb
 
thefxpros:
Bonjour, je voulais juste demander une chose qui me trotte dans la tête depuis très longtemps à propos des indicateurs multi-temporels.

Regardez l'image : C'est un graphique en barres de 6 pip du dow jones avec l'indicateur ergodique blau, j'ai mis en évidence le moment de ce signal de vente. Il se produit à la fin de cette bougie. Cette bougie s'ouvre à 14,43 et se ferme à 14,57.

J'ai tracé l'indicateur dans le graphique range bars 2 pip, avec les mêmes paramètres, en le pointant sur le graphique range bars 6 pip.

Il montre le début du signal de vente lorsque la bougie du graphique 6 pip n'est pas encore fermée. Je sais que c'est le comportement NORMAL de l'indicateur mtf, il ne pourrait en être autrement.

Mon but est juste de créer 2 couleurs supplémentaires, le rose clair pour les signaux de vente et le vert clair pour les signaux d'achat lorsque la bougie tf supérieure n'est pas encore fermée.

Donc, ça devrait être comme ça :

Ma question est : est-ce possible de faire cela ? Comment dois-je aborder la chose ?

merci

C'est possible - il suffit d'ajouter 2 tampons supplémentaires pour la barre actuelle.

 
assassin:
J'ai été envoyé premier lien pour cela

si vous allez sur la fonction avec le curseur, vous verrez ce que c'est

comme ceci

mladen :
Juste une observation :

Code comme ceci :

DayLow = iff(dayofmonth != dayofmonth[1], low, min(low, nz(DayLow[1]))).

Signifie : DayLow est un minimum d'un jour actuel ou d'un jour précédent le plus bas (même chose pour les hauts). Maintenant, cela semble inoffensif quand on le décrit, mais si vous réfléchissez à ce que signifie "previous lowest day low", vous comprendrez vite que cela prend en compte toutes les barres du graphique. C'est la même erreur que certains indicateurs de pas avaient, que Mark Jurik a fait dans son calcul d'un des stochastiques (je l'ai alors appelé un "stochastique de longueur infinie") et que d'autres indicateurs ont ... et cela conduit à deux choses : la déformation des données calculées (les bas et les hauts sont toujours juste plus bas ou juste plus haut, jamais l'inverse) et finalement le repeint (quand vous changez de cadre temporel ou de symbole, certaines barres qui étaient les plus anciennes avant sont perdues, et cela peut influencer le résultat final).
airquest :
J'ai fait un essai. Je n'ai pas beaucoup de temps en ce moment, alors n'hésitez pas à le corriger.

//+------------------------------------------------------------------+

//| Magarto |

//+------------------------------------------------------------------+

#property indicator_separate_window

#property indicator_buffers 1

#property indicator_color1 DimGray

double all4[];

double ma[];

double maslopeB[];

double candleOver[];

double bothElder[];

int init()

{

IndicatorBuffers(5);

SetIndexBuffer(0,all4);

SetIndexBuffer(1,ma);

SetIndexBuffer(2,maslopeB);

SetIndexBuffer(3,candleOver);

SetIndexBuffer(4,bothElder);

IndicatorShortName("Magarto");

return(0);

}

int deinit()

{

return(0);

}

//+------------------------------------------------------------------+

//| |

//+------------------------------------------------------------------+

int start()

{

int counted_bars = IndicatorCounted();

int i,limit;

if(counted_bars<0) return(-1);

if(counted_bars>0) counted_bars--;

limit = MathMin(Bars-counted_bars,Bars-1);

for(i=limit; i>=0; i--)

{

ma = iMA(NULL,0,30,0,MODE_SMA,PRICE_CLOSE,i);

double maslope = ma - ma;

if(maslope < 0) maslopeB = -1;

else if(maslope > 0) maslopeB = 1;

else maslopeB = 0;

if(((Open + Close + High + Low) / 4) > ma) candleOver = 1; else candleOver = -1;

double xMA = iMA(NULL,0,13,0,MODE_EMA,PRICE_CLOSE,i);

double DayLow = 0;

if(iTime(NULL,PERIOD_D1,i) != iTime(NULL,PERIOD_D1,i+1)) DayLow = iLow(NULL,PERIOD_D1,i);

else DayLow = MathMin(iLow(NULL,PERIOD_D1,i),iLow(NULL,PERIOD_D1,i+1));

double bearpower = DayLow - xMA;

double DayHigh = 0;

if(iTime(NULL,PERIOD_D1,i) != iTime(NULL,PERIOD_D1,i+1)) DayHigh = iHigh(NULL,PERIOD_D1,i);

else DayHigh = MathMax(iHigh(NULL,PERIOD_D1,i),iHigh(NULL,PERIOD_D1,i+1));

double bullpower = DayHigh - xMA;

if (bearpower > 0 && bullpower > 0) bothElder = 1;

else if(bearpower < 0 && bullpower < 0) bothElder = -1;

else bothElder = 0;

all4 = maslopeB + candleOver + bothElder;

}

return(0);

}

//+------------------------------------------------------------------+

//| |

//+------------------------------------------------------------------+

Bonjour à tous

Tout d'abord, je tiens à m'excuser, pour ne pas être attentif à leur travail, mia est une demande et je n'ai pas été regarder vos questions

Magarto est un utilisateur espagnol comme vous l'avez dit mladen

La plate-forme de travail en utilisant et avez-vous vu

J'essaie de traduire sa stratégie à MQL4

Mais mon niveau de programmation est trop basique

Je tiens à remercier ce développement beaucoup

Je peux demander, s'il vous plaît, si vous pouvez inclure les points lorsque l'indicateur atteint les extrémités

Visualiser quelque chose comme ça

Encore une fois, merci beaucoup.

Un câlin à tout le monde fuerte

Hermo

Dossiers :
 
Hermo:
Bonjour à tous

Tout d'abord, je tiens à m'excuser, pour ne pas être attentif à leur travail, mia est une demande et je n'ai pas été regarder vos questions

Magarto est un utilisateur espagnol comme vous l'avez dit mladen

La plate-forme de travail en utilisant et avez-vous vu

J'essaie de traduire sa stratégie à MQL4

Mais mon niveau de programmation est trop basique

Je tiens à remercier ce développement beaucoup

Je peux demander, s'il vous plaît, si vous pouvez inclure les points lorsque l'indicateur atteint les extrémités

Visualiser quelque chose comme ça

Encore une fois, merci beaucoup.

Un câlin à tout le monde fuerte

Hermo

Voilà, j'ai corrigé quelques trucs. Le code est le même que l'original, mais sur d'autres timeframe que le quotidien, les valeurs de résultat semblent différentes de celles de tradingview. Je ne sais pas si cela est dû à des différences entre tradingview et MT4 ou à une erreur. Comme il utilise les hauts et les bas des bougies, je dirais que c'est dû aux différences, car les bougies ne sont guère les mêmes d'une plateforme à l'autre. Quoi qu'il en soit, je ne pense pas pouvoir faire mieux.

Dossiers :
magarto.mq4  4 kb
 
airquest:
Voilà, j'ai corrigé quelques trucs. Le code est le même que l'original, mais sur d'autres horizons temporels que le quotidien, les valeurs de résultat semblent différentes de celles de tradingview. Je ne sais pas si cela est dû à des différences entre tradingview et MT4 ou à une erreur. Comme il utilise les hauts et les bas des bougies, je dirais que c'est dû aux différences, car les bougies ne sont guère les mêmes d'une plateforme à l'autre. Quoi qu'il en soit, je ne pense pas pouvoir faire mieux.

bonjour

Merci beaucoup pour votre travail et votre dévouement.

L'indicateur fonctionne parfaitement maintenant

Encore une fois, merci beaucoup

excellent travail

Avec votre permission, je vais vous demander d'inclure un avertissement dans la section correspondante.

Bien à vous.

Hermo.

 

aidez-moi s'il vous plaît......

spikebars_v3.ex4spikebars_v3.mq4Hi Tout le monde, j'espère que quelqu'un pourrait m'aider à mettre en place mon conseiller expert mt4.

avec un indicateur spike bar qui mesure la taille du corps du chandelier.

Je voudrais que l'ea ouvre une position d'achat ou de vente en fonction de la taille du corps du chandelier.

ex ; acheter quand= chandelier bull apparaît avec une taille de 30 pips(à ajuster).

avec un stoploss et un take profit ajustables, et une taille de position ajustable.

vendre lorsque= un chandelier baissier apparaît avec une taille de ex.30 pips(à ajuster)

avec un stoploss et un take profit réglables et une taille de position réglable.

Ainsi, je suis en mesure d'ajuster le trade en fonction de l'analyse actuelle et de laisser l'ea trader pour moi.

J'espère que tous ceux qui sont gentils pourront m'aider car je suis un débutant.

Merci beaucoup !

Dossiers :
 

Bonjour tout le monde, j'espère que quelqu'un pourra m'aider à configurer mon conseiller expert mt4, je ne suis pas bon en informatique, mais j'aimerais faire un conseiller expert avec un indicateur de barre de pic qui mesure la taille du corps de la bougie.

avec un indicateur spike bar qui mesure la taille du corps du chandelier.

Je voudrais que l'ea ouvre une position d'achat ou de vente en fonction de la taille du corps du chandelier.

ex ; acheter quand= chandelier bull apparaît avec une taille de 30 pips(à ajuster).

avec un stoploss et un take profit ajustables, et une taille de position ajustable.

vendre quand= un chandelier baissier apparaît avec une taille de ex.30 pips(à ajuster)

avec un stoploss et un take profit réglables et une taille de position réglable.

Ainsi, je suis en mesure d'ajuster le trade en fonction de l'analyse actuelle et de laisser l'ea trader pour moi.

J'espère que tous ceux qui sont gentils pourront m'aider car je suis un débutant.

Merci beaucoup !

 
faremie:
Bonjour tout le monde, j'espère que quelqu'un pourrait m'aider à définir mon conseiller expert mt4.je ne suis pas bon en informatique.mais j'aimerais faire un conseiller expert.

avec un indicateur de barre en pointe qui mesure la taille du corps du chandelier.

Je voudrais que l'ea ouvre une position d'achat ou de vente en fonction de la taille du corps du chandelier.

ex ; acheter quand= chandelier bull apparaît avec une taille de 30 pips(à ajuster).

avec un stoploss et un take profit ajustables, et une taille de position ajustable.

vendre quand= un chandelier baissier apparaît avec une taille de ex.30 pips(à ajuster)

avec un stoploss et un take profit réglables et une taille de position réglable.

Ainsi, je suis en mesure d'ajuster le trade en fonction de l'analyse actuelle et de laisser l'ea trader pour moi.

J'espère que tous ceux qui sont gentils pourront m'aider car je suis un débutant.

Merci beaucoup !

faremie

Il semble que l'indicateur dont vous parlez n'est pas joint. Pourriez-vous le joindre ?

Raison: