Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 6. - page 405

 
Link_x:
Notez la valeur de la variable qui fixe le nombre de lots lors de l'ouverture d'une position.
Cette valeur est égale à zéro.
Il est impossible d'ouvrir une position avec un volume nul pour le trading.




C'est également possible, l'essentiel étant d'écrire le code correctement.



Tu es sûr de savoir ce dont tu parles ?
 
Trader7777:

Et peut-être que la troisième fois, quelqu'un prêtera encore attention à ma demande ?

J'ai écrit la fonction par SAM, mais le testeur donne l'erreur 4051, c'est-à-dire le nombre impossible de lots. Quelqu'un a une opinion à ce sujet ?


for (int i = OrdersTotal()-1; i>0; i--)  // надо i>=0
if (OrderSymbol()==Symbol() && OrderMagicNumber()==Magic && OrderType() == otype)    // не надо OrderType() == otype, далее проверяете на бай и сел, а про отложки варианта нет.
Lot = NormalizeDouble (((OrderOpenPrice()-Bid)*Point)*OrderLots()/TP,2); 

TP est une valeur de Take Profit pour l'ordre sélectionné ? Il faut donc prendre la valeur de la commande, il y a différents Take Profits.

À ce stade, vous recherchez le nombre de pips dans le drawdown, divisez-le par le take profit et multipliez par la valeur du lot.

Si vous avez un ticket d'achat, vous réalisez un bénéfice lorsque l'offre est supérieure au prix d'achat (ask). (Bid - OrderOpenPrice ())

Vous ne tenez pas compte des billets à bénéfices négatifs et positifs en général,

au cas où vous n'auriez pas assez de fonds libres pour ouvrir avec un tel lot, car un ticket négatif peut chevaucher tous les tickets positifs.

return (TotalLot) ; la fonction peut retourner 0, dans certaines circonstances, cela est-il vérifié davantage ?

 
Trader7777:

Tu es sûr de savoir ce dont tu parles ?

La phrase ci-dessus a plusieurs significations. Les significations de cette phrase sont décrites ci-dessous.

1 - Un reproche selon lequel j'ai mal compris le code et que j'ai donc donné une mauvaise instruction.
2 - Une indication de la difficulté de compréhension de mes textes.
3 - Une remise en question de ma santé psychologique.

Choisissez l'une des options pour continuer à communiquer avec moi, car je ne peux pas répondre à votre question en choisissant intuitivement l'option d'interprétation de la phrase.
 
Link_x:

La phrase ci-dessus a plusieurs significations. Les significations de cette phrase sont décrites ci-dessous.

1 - Un reproche selon lequel j'ai mal compris le code et que j'ai donc donné une mauvaise instruction.
2 - Une indication de la difficulté de compréhension de mes textes.
3 - Une remise en question de ma santé psychologique.

Choisissez l'une des options pour continuer à communiquer avec moi, car je ne peux pas répondre à votre question en choisissant intuitivement l'option d'interprétation de la phrase.

Je suis sûr que 1. Vous ne pouvez pas juger de manière fiable avec quel lot la position est ouverte, ne serait-ce que parce que le code d'ouverture de la position n'est pas donné par l'auteur. Et là où vous avez vu zéro, c'est la valeur initiale de la variable. Il est trop tôt pour que tu puisses enseigner à qui que ce soit.
 
Bonjour camarades. Je suis novice en programmation, je viens d'apprendre MQL4. Veuillez m'expliquer comment ouvrir un ordre sans attendre certaines conditions, et pas sur chaque chandelier, comme le mien. Peut-être avez-vous un exemple de code standard ou autre chose ?
 
hmpr:
Bonjour camarades. Je suis novice en programmation, je viens d'apprendre MQL4. Veuillez m'expliquer comment ouvrir un ordre sans attendre certaines conditions, et pas sur chaque chandelier, comme le mien. Peut-être avez-vous un exemple de code standard ou autre chose ?
L'algorithme est le suivant : si l'EA vérifie s'il y a un ordre ouvert et s'il y en a déjà un, il sort de start(). Les codes sont ici.
 
Trader7777:

Et peut-être que la troisième fois, quelqu'un prêtera encore attention à ma demande ?

J'ai écrit une fonction CAM, mais le testeur donne l'erreur 4051, c'est-à-dire un nombre impossible de lots. Quelqu'un a-t-il une opinion à ce sujet ?

функция поиска лота, необходимого для выхода из просадки после  

//fermer une grille d'ordres

Pour évaluer l'exactitude du code, vous devez savoir exactement ce que l'auteur voulait obtenir. Vos informations ne sont pas suffisantes. Ce que vous vouliez obtenir n'est pas très clair. Si vous voulez compenser la perte après avoir fermé la grille en ouvrant un ordre opposé et en espérant que le prix passera dans la direction du dernier ordre d'un certain nombre de points, le processus de compensation dépend à la fois du lot de cet ordre et de la distance que le prix passera dans la direction favorable. Cela signifie que lorsque vous calculez le lot, vous devez également définir la distance que le prix devra franchir pour compenser la perte. Mais peut-être que vous voulez dire autre chose.
 

le code se termine par une vue de

Je voudrais insérer la fonction de veille avec une période de 30 secondes.

l'ensemble du code devrait être exécuté 2 fois par minute au lieu de chaque tick, et

comment insérer correctement cette fonction ? où ? et comment ? de préférence à la fin du code avec un exemple, merci.

 
bergkamp.:

le code se termine par la vue

Je voudrais insérer une fonction de mise en veille avec une période de 30 secondes

l'ensemble du code devrait être exécuté 2 fois par minute au lieu de chaque tick, et

comment insérer correctement cette fonction ? où ? et comment ? de préférence à la fin du code avec un exemple, merci.

Enregistrez l'heure à la fin du code de fonction. Ensuite, comparez-la avec l'heure actuelle et si l'heure actuelle dépasse de 30 secondes l'heure mémorisée, relancez la fonction.
 
khorosh:
N'oubliez pas l'heure à la fin du code de la fonction. Ensuite, comparez-la avec l'heure actuelle et si l'heure actuelle dépasse de 30 secondes l'heure mémorisée, exécutez à nouveau la fonction.
voici un exemple ... si vous insérez simplement sleep à la fin du code, comment cela fonctionnera-t-il ?
Raison: