Comment coder ? - page 281

 

Propriétés de l' EA

J'ai une question à laquelle quelqu'un a peut-être trouvé une réponse. J'ai remarqué que certains EAs n'affichent pas la fenêtre de propriétés une fois chargés sur un graphique et que certains EAs nécessitent plusieurs passages avant que la fenêtre de propriétés ne s'affiche alors que pour d'autres EAs la fenêtre de propriétés s'affiche directement. Cela se produit quelle que soit la façon dont j'essaie d'accéder aux propriétés de l'EA - clic droit sur Expert Advisors puis propriétés / clic gauche sur le smiley ou F7. Cela me laisse perplexe, mais il y a probablement une réponse évidente à cette question que je ne connais pas. Merci de m'éclairer sur ce sujet.

Salutations CJA

 

Essayez ceci

ObjectDescription( string name)

Renvoie la description de l'objet. Pour les objets de type OBJ_TEXT et OBJ_LABEL, le texte dessiné par ces objets sera retourné.

 

a fonctionné

Merci beaucoup ! Cela a fonctionné. Tutoriels et aide horribles pour mql !

 
g.pociejewski:
[lang=pl]Je suis un auteur. Je joins le fichier mq4 pour Avasys. Je n'ai pas changé le code de la fonction isGoodTime. Dans mon terminal cela fonctionne. Avasys, pourquoi êtes-vous si nerveux ? Si vous avez un problème contactez moi au lieu d'en parler sur le forum[/lang].

J'ai trouvé la solution

L'EA fonctionne bien

Merci

 

Aide sur le S&P500

Bonjour à tous. Je suis assez nouveau dans la programmation metatrader (seulement un mois ou deux), mais je programme dans NinjaTrader depuis environ 4-5 ans. J'ai une stratégie simple qui trade le S&P, le Light Sweet Crude, et l'EURUSD que j'ai adaptée pour fonctionner sur MT4. A part quelques changements mineurs, elle est terminée. Elle fonctionne parfaitement sur l'EURUSD et le Crude, ainsi que sur n'importe quelle paire de devises sur laquelle je l'ai mise pour la tester. Le problème se situe au niveau du S&P. Je suppose que vous avez besoin d'un peu d'information sur la stratégie pour que le problème ait un sens. Il s'agit d'une stratégie de rupture temporelle assez simple. Elle calcule le haut et le bas d'une certaine période de temps, et quand une barre clôture au-dessus ou en dessous de ce point, elle prend une position (longue si au-dessus, courte si en dessous). Supposons donc qu'elle a clôturé au-dessus et qu'elle est devenue longue. Si une barre clôture en dessous du point bas, il ferme le long et devient short à 2x la taille du lot et essaie de récupérer tout ce qu'il a perdu et l'objectif initial. Il continue de s'inverser jusqu'à ce que l'un des objectifs soit finalement atteint, ou qu'il se soit inversé x fois (ce qui est fixé par une variable externe). Maintenant, pour autant que je sache, tout fonctionne bien. Il prend la transaction et double comme il se doit et lorsqu'il atteint l'objectif, il récupère toutes ses pertes ainsi que l'objectif initial. Sur le S&P cependant, de temps en temps, quand il atteint l'objectif, il est à peu près à l'équilibre. Il récupère plus ou moins ce qu'il a perdu, mais ne fait aucun profit. Dans le code, je stocke la valeur de l'objectif dans une double variable appelée slip. Lorsqu'il effectue un retournement, après avoir fermé la transaction, il prend le prix d'ouverture - le prix de clôture (s'il est long) ou le prix de clôture - le prix d'ouverture (s'il est court) et l'ajoute à slip, puis divise slip en deux. En code : slip = (slip + (OrderOpenPrice() - OrderClosePrice()))/2 ; puis il l'arrondit pour obtenir un prix utilisable. Comme le S&P évolue par incréments de 0,25, NormalizeDouble ne fonctionnera pas, je dois donc le convertir en ticks, puis le normaliser pour qu'il s'agisse d'un entier, avant de le retransformer en valeur ponctuelle. En code :

slip = NormalizeDouble((slip / point), 0) ;

slip= NormalizeDouble((slip* point), Digits) ;

Donc vous savez, point est une variable qui = Point ou si c'est sur le S&P = 0.25 (puisque le S&P bouge par incréments de 0.25, mais mon courtier rapporte au moins le point comme 0.01).

Je pense que le problème doit se situer dans ces deux petits bouts de code car la cible est OrderOpenPrice() + slip (si long). Toute réflexion ou suggestion sera GRANDEMENT appréciée.

 

Indicateur sur un tableau

Je cherche une solution pour appliquer l 'algorithme des indicateurs sur un tableau de prix.

Dans MQL4 certains indicateurs ont cette fonction, comme : iCCIOnArray, iBandsOnArray...

Mais des indicateurs comme ADX n'ont pas cette fonction.

Quelqu'un a-t-il une idée de la façon dont je peux appliquer le calcul d'un indicateur sur un tableau prédéfini (ne provenant pas du serveur de cotations) ?

 

Signification de la fonction IsTradeAllowed()

Bonjour,

J'ai écrit un ea qui a les lignes de code suivantes dans sa fonction de démarrage :

if(IsTradeAllowed()==false)

{

Alert("You have to activate your ea first or there is a disconnection between the server connection!");

return;

}

Le problème est que je reçois parfois ce message d'erreur avant de vouloir ouvrir ou fermer une transaction avec cette ea.

L'ea est activé et la connexion internet existe.

Comment cela peut-il arriver ? !?!!

 

BESOIN D'AIDE !!! CCI sortie si la valeur est inférieure à la valeur précédente... aidez-moi pls !!!!!

Bonjour,

Je suis nouveau sur Expert Advisor. Puis-je savoir comment définir une sortie si la valeur CCI actuelle est inférieure ou supérieure à la valeur précédente ?

if(iCCI(NULL,0,7,PRICE_TYPICAL,0)>iCCI(NULL,0,7,PRICE_TYPICAL,1)) ? ??

J'ai vraiment besoin d'aide ici!~

 
sunshineh:
Bonjour,

J'ai écrit un ea qui a les lignes de code suivantes dans sa fonction de démarrage :

if(IsTradeAllowed()==false)

{

Alert("You have to activate your ea first or there is a disconnection between the server connection!");

return;

}

Le problème est que je reçois parfois ce message d'erreur avant de vouloir ouvrir ou fermer une transaction avec cette ea.

L'ea est activé et la connexion internet existe.

Comment cela peut-il arriver ? !?!!

Il semble que votre codage, vérifier ici pour une réponse

Erreur 146 ("Trade context busy") et comment y remédier - MQL4 Articles

 
calvin1006:
Bonjour,

Je suis nouveau dans le domaine des conseillers experts. Puis-je savoir comment définir une sortie si la valeur CCI actuelle est inférieure ou supérieure à la valeur précédente ?

if(iCCI(NULL,0,7,PRICE_TYPICAL,0)>iCCI(NULL,0,7,PRICE_TYPICAL,1)) ? ??

J'ai vraiment besoin d'aide ici!~

Essayez quelque chose comme

if(iCCI(NULL,0,7,PRICE_TYPICAL,0) != iCCI(NULL,0,7,PRICE_TYPICAL,1)) ? ??