[Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas votre chemin. Je ne peux aller nulle part sans toi. - page 74
![MQL5 - Langage des stratégies de trading intégré au terminal client MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
Qu'est-ce que ce dessin, d'ailleurs ?
Oui, j'ai déjà compris. J'ai fait le test.
>> il est clair que je viens de supprimer la valeur de l'indicateur, où est la confusion ?
J'ai déjà trouvé, j'ai fait le test.
Il est clair que je viens de supprimer la valeur de l'indicateur, alors où est la confusion ?
C'est juste que ce n'est pas clair, comment pouvez-vous répondre si vous comprenez ce que vous demandez ?
Si vous ne savez pas ce que c'est, vous risquez de l'utiliser parce que vous ne savez pas quoi comparer avec Bid. C'est correct.
Pouvez-vous me dire comment insérer une condition dans cette construction if(iSAR(NULL,0,step0,0.1,0)<Close[0]), lorsque, par exemple, si nous avons des positions d'achat ouvertes, nous n'ouvrons pas de positions de vente tant que toutes les positions d'achat ne sont pas fermées. En d'autres termes, un cycle de trading, on achète 3 positions, on attend que les trois soient fermées. Les positions sont fermées uniquement par le Stop Loss ou le Take Profit. Toutes les positions sont fermées, on attend le signal, on obtient un signal, on achète ou on vend (en fonction du signal) 3 positions, etc. Les "fonctions utiles de KimIV" ont été étudiées. Vous pouvez utiliser les fonctions CountOrders(), ExistOrders(), ExistPositions(). Mais comment les insérer concrètement ? La construction if((iSAR(NULL,0,step0,0.1,0)>Close[0])&& ExistPositions(NULL,OP_SELL)==false) ne fonctionne pas. Je comprends que je dois insérer une variable logique, mais comment le faire en pratique ? Je ne comprends pas quelque chose.
J'ai lu toute la branche. La solution est la suivante : placez tout le code entre accolades et écrivez avant if (OrdersTotal( ) == 0). Grossier, mais ça marche. Je voudrais utiliser des variables bool pour ouvrir un nombre quelconque d'ordres, en fonction de la condition if (OrdersTotal() >=maxOpen) return ;
Si vous voulez séparer Total_sell et Total_buy, essayez d'utiliser la fonction
int CalculateCurrentOrders(string symbol) de SimpleMACD
Ce ne sont pas des stratégies, c'est juste une hypothèse à vérifier. Au fait, pourquoi l'EA ne fait-il pas de transactions ? Je ne comprends pas pourquoi.
>> Je ne sais pas. Je l'ai testé sur le testeur et ça a marché. Vous avez peut-être fait une erreur dans les paramètres. Ou peut-être n'avez-vous pas coché la case permettant à l'EA de négocier. Et le temps d'un TF majeur est défini en minutes ! c'est-à-dire que dans la variable TFUP, vous devez spécifier non pas m5 mais 5, non pas m30 mais 30, non pas H1 mais 60, etc.
S'il vous plaît, dites-moi quelle fonction renvoie l'heure de clôture de la bougie actuelle.
Quelle est l'heure de fermeture de la bougie actuelle ? La bougie actuelle n'est pas encore fermée, sinon elle n'est plus actuelle, nous pouvons supposer que ce temps est approximativement Time[0]+Period()*60
Quelle est l'heure de fermeture de la bougie actuelle ? La bougie actuelle n'est pas encore fermée, sinon elle n'est plus actuelle, nous pouvons supposer que ce temps est approximativement Time[0]+Period()*60
Figar0 merci, c'est ce dont j'avais besoin
Цена 1 пункта для стандартного лота: double ad.QuotePoint = MarketInfo ( Symbol () , MODE_POINT ) ; double ad.QuoteTick = MarketInfo ( Symbol () , MODE_TICKSIZE ) ; double ad.NominalTick = MarketInfo ( Symbol () , MODE_TICKVALUE ) ; double ad.NominalPoint = ad.NominalTick * ad.QuotePoint / ad.QuoteTick ; // Цена 1 пункта для стандартного лота
Цена 1 пункта для ордера известного размера "ad.OrderSize": double ad.OrderPoint = ad.NominalPoint * ad.OrderSize ;