Aide au codage - page 389

 
triip:
J'ai trouvé un bon système de scalping et un modèle mais il tourne si lentement après l'installation de ce système. Peut-être que quelqu'un est capable de le regarder et de détecter ce qui pourrait en être la cause.

Modèle et indicateurs :

1m_alf_scalp.zip

Il semble que l'indicateur de couleur de bougie (IT_Candles) soit le problème. Quelqu'un a compris ce qui ne va pas avec ce code qui fait que MT4 tourne lentement ?

//+------------------------------------------------------------------+//| IT_Candles.mq4

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

#property indicator_chart_window

#include

#property indicator_buffers 2

extern color UpColor = LimeGreen;

extern color DnColor = Red;

extern int Width = 5;

extern double alpha = 0.09;

double ev=EMPTY_VALUE,Trend,Trigger,ALF;

double Up[];

double Dn[];

int init()

{

IndicatorBuffers(2);

SetIndexStyle(0,DRAW_HISTOGRAM,0,Width,UpColor);

SetIndexBuffer(0,Up);

SetIndexStyle(1,DRAW_HISTOGRAM,0,Width,DnColor);

SetIndexBuffer(1,Dn);

return(0);

}

int deinit()

{

return(0);

}

int start()

{

int counted_bars=IndicatorCounted();

if(counted_bars<0) return(-1); //---- check for possible errors

if(counted_bars>0) counted_bars--; //---- last counted bar will be recounted

int limit = Bars-counted_bars;

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

{

Up = ev;

Dn = ev;

Trend = iCustom(NULL,0,"Instant_Trendline",alpha,0,i);

Trigger = iCustom(NULL,0,"Instant_Trendline",alpha,1,i);

ALF = iCustom(NULL,0,"ALF",0,i+1);

if (Trigger > Trend && Close > Open && Close > ALF)

{

Up = MathMax(Open,Close);

Dn = MathMin(Open,Close);

}

if (Trigger < Trend && Close < Open && Close < ALF)

{

Dn = MathMax(Open,Close);

Up = MathMin(Open,Close);

}

}

}

 
triip:
Il semble que l'indicateur de couleur de bougie (IT_Candles) soit le problème. Quelqu'un a compris ce qui ne va pas avec ce code qui fait que MT4 fonctionne lentement ?
//+------------------------------------------------------------------+//| IT_Candles.mq4

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

#property indicator_chart_window

#include

#property indicator_buffers 2

extern color UpColor = LimeGreen;

extern color DnColor = Red;

extern int Width = 5;

extern double alpha = 0.09;

double ev=EMPTY_VALUE,Trend,Trigger,ALF;

double Up[];

double Dn[];

int init()

{

IndicatorBuffers(2);

SetIndexStyle(0,DRAW_HISTOGRAM,0,Width,UpColor);

SetIndexBuffer(0,Up);

SetIndexStyle(1,DRAW_HISTOGRAM,0,Width,DnColor);

SetIndexBuffer(1,Dn);

return(0);

}

int deinit()

{

return(0);

}

int start()

{

int counted_bars=IndicatorCounted();

if(counted_bars<0) return(-1); //---- check for possible errors

if(counted_bars>0) counted_bars--; //---- last counted bar will be recounted

int limit = Bars-counted_bars;

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

{

Up = ev;

Dn = ev;

Trend = iCustom(NULL,0,"Instant_Trendline",alpha,0,i);

Trigger = iCustom(NULL,0,"Instant_Trendline",alpha,1,i);

ALF = iCustom(NULL,0,"ALF",0,i+1);

if (Trigger > Trend && Close > Open && Close > ALF)

{

Up = MathMax(Open,Close);

Dn = MathMin(Open,Close);

}

if (Trigger < Trend && Close < Open && Close < ALF)

{

Dn = MathMax(Open,Close);

Up = MathMin(Open,Close);

}

}

}

triip

Vérifiez si vous avez les indicateurs "Instant_Trendline" et "ALF" dans le dossier des indicateurs aussi (les deux sont nécessaires pour que cet indicateur fonctionne correctement). Si vous ne les avez pas, extrayez les fichiers ex4 de cette archive zip et l'indicateur fonctionnera correctement (si vous ne les avez pas, il sera très lent).

Dossiers :
it.gif  75 kb
 
mladen:
triip Vérifiez si vous avez les indicateurs "Instant_Trendline" et "ALF" dans le dossier des indicateurs aussi (les deux sont nécessaires pour que cet indicateur fonctionne correctement). Si vous ne les avez pas, extrayez les fichiers ex4 de cette archive zip et l'indicateur fonctionnera correctement (si vous ne les avez pas, il sera très lent).

Oui j'ai mis les autres indicateurs sur le graphique aussi, mais dès que j'ajoute IT_Candles, MT4 ralentit, en particulier le changement de timeframes ralentit .

 
triip:
Oui, j'ai mis les autres indicateurs sur le graphique aussi, mais dès que j'ajoute IT_Candles, MT4 ralentit, spécialement le changement de timeframes ralentit .

triip

Ils n'ont pas besoin d'être sur le graphique. Mais ils doivent exister (en utilisant ces noms exacts) dans le dossier des indicateurs. Le moyen le plus simple de vérifier est d'aller dans l'onglet experts du terminal et de voir s'il y a une erreur (comme celle de l'image).

Dossiers :
error_2.gif  98 kb
 
mladen:
triip Ils n'ont pas besoin d'être sur le graphique. Mais ils doivent exister (en utilisant ces noms exacts) dans le dossier des indicateurs. Le moyen le plus simple de vérifier est d'aller dans l'onglet des experts du terminal et de voir s'il y a une erreur (comme celle de l'image).

Il n'y a pas d'erreur.

Mais j'ai remarqué que ALF.ex4 ne ralentit pas beaucoup, mais que ALF-MTF.ex4 ralentit totalement. J'ai un sous-dossier dans le dossier des indicateurs, où se trouvent tous les indicateurs mentionnés. Peut-être devrais-je réinstaller un MT4 propre.

Dossiers :
errors.png  27 kb
 
triip:
Il n'y a pas d'erreur.

Mais j'ai remarqué que ALF.ex4 ne ralentit pas beaucoup, mais que ALF-MTF.ex4 ralentit totalement. J'ai un sous-dossier dans le dossier des indicateurs, où se trouvent tous les indicateurs mentionnés. Peut-être devrais-je réinstaller un MT4 propre.

Je les déplace du sous-dossier vers le dossier principal des indicateurs et je l'essaie ensuite.

 
mladen:
Déplacez-les du sous-dossier vers le dossier principal des indicateurs et essayez-le ensuite.

Beaucoup mieux, fonctionne comme un charme Merci mladen! !!

 
sunshineh:
Salut,

J'ai toujours des problèmes pour écrire des objets texte sur les barres de mon graphique.

Par exemple

ObjectCreate ("Xh", OBJ_TEXT,0,Time[0],High[0]+1*pips2dbl);

ObjectSetText("Xh","1",10,"Tahoma",Orange);

ObjectCreate ("X", OBJ_TEXT,0,Time[0],Low[0]-1*pips2dbl);

ObjectSetText("Xl","1",10,"Tahoma",Orange);

Cela fonctionne bien avec les objets texte sous mes barres parce que mon objet police est fixé "sur la tête" de mon texte.

Mais si je veux écrire un texte au-dessus de la barre, je ne sais pas combien de pips mon texte en taille de police 10 représente et il est donc écrit dans les barres.

Il y a également un problème lorsque j'écris mon texte dans des cadres temporels plus grands, par exemple "H1", "D1" ou "W1", car dans ce cas, j'ai dû modifier la distance de la police en fonction de la valeur haute ou basse.

Je sais que je peux faire pivoter mon texte de 90° mais je ne veux pas le faire.

Connaissez-vous une solution à ce problème ?

Pour commencer, essayez d'utiliser ATR au lieu de 1*pips2dbl (de cette façon, il s'adaptera à différents cadres temporels et symboles).

Essayez également d'ajuster le point d'ancrage (OBJPROP_ANCHOR) du texte à ANCHOR_LOWER pour l'objet texte qui est affiché au-dessus du haut.

 
madopter:
Les parties ajustables doivent être la taille du lot et le solde du compte auquel le lot est appliqué. Par exemple, les paramètres peuvent être A = 0,01, B = 5000 $, ou A = 1,00, B = 10000 $.

Dans ce cas, vous devez avoir plusieurs valeurs de paramètres utilisables pour la comparaison.

Vous pouvez définir les paramètres comme : extern double accountBalanceA = 5000 ; et ensuite utiliser ces paramètres dans la comparaison dans le code qui a fait la même chose sans paramètres.

 
mladen:
jbozman

l'indicateur macd n'a pas besoin d'être modifié (il calculera seulement 1 ou 2 barres dans 99,99% des cas)

L'indicateur hilo cherche des valeurs d'une manière très compliquée. Il vaut mieux utiliser un autre indicateur qui fait cette tâche de manière beaucoup plus simple (pas besoin de le rendre si compliqué).

Bonjour mladen. J'ai cherché et je n'ai pas pu trouver un high/low qui avait le jour précédent, la semaine et le mois tout en un qui peint des segments de ligne simples et ne fait pas de désordre dans le graphique.

Je sais que vous m'avez dit d'essayer d'en trouver un autre ; cependant, j'ai vraiment cherché et je n'ai pas pu. J'ai également posté une demande sur le forum mql4. Je n'ai pas eu de réponse.

Tout simplement, je serais prêt à payer quelqu'un (vous) pour modifier cet indicateur.

J'aimerais qu'on ajoute "Nombre de jours" car celui-ci trace tous les jours précédents. Sur l'EUR/USD et le GBP/USD, l'historique de mes graphiques remonte à 1996 ou plus, ce qui fait que toutes ces lignes occupent trop de mémoire.

Si vous n'êtes pas à louer (peut-être que quelqu'un d'autre le serait ?), est-ce trop compliqué d'ajouter simplement le nombre de jours à celui qui existe déjà ? Je peux continuer à l'utiliser jusqu'à ce que j'en trouve un autre ou que je trouve quelqu'un qui le modifierait. Si c'est une demande qui prend du temps, je comprends tout à fait et je vous remercie pour votre aide sur tout.

jbozman

Dossiers :