Le conseiller expert, le script et l'indicateur ne sont pas accessibles, mais fonctionnent dans la fenêtre actuelle. Et les variables globales de différentes fenêtres/graphiques ne se chevauchent pas. Par conséquent, cela devrait fonctionner)
string AUDUSD ; // Il s'agit d'une variable texte, en plus d'être initialement vide, c'est-à-dire égale à "".
(Symbol() == AUDUSD) // cette chaîne n'a rien à voir avec la variable AUDUSD.
Mais les critères d'ouverture des ordres ne doivent pas être les mêmes pour différents instruments/fenêtres. S'ils sont les mêmes, il s'ouvrira effectivement dans toutes les fenêtres.
Merci !
J'ai implémenté la logique pour que le Conseiller Expert ne reçoive pas le signal d'ouverture des ordres lorsqu'ils s'ouvrent dans plusieurs fenêtres et comprenne que le signal d'achat a été donné pour un tel symbole afin que l'EA n'interfère pas avec les autres.
Le problème n'est pas dans les valeurs de la variable à mon avis. Je viens d'avoir dans mon code uulsovii recalcul à l'apparition d'une nouvelle heure. et il s'avère que le symbole actuel nouvelle barre apparaît et a calculé la valeur de la barre = 1, mais le symbole de signal est une nouvelle barre n'a pas encore été formé ou ce que si et calculé les valeurs de la barre = 2
Le problème est résolu facilement - j'ai juste suivi le début d'une nouvelle barre par le symbole du signal
Est-il possible de passer plusieurs paramètres de switch case à partir du corps de la fonction ? J'ai des types d'ordres à ouvrir dans le cas d'un switch et j'ai réussi à passer seulement 1 paramètre pour ouvrir un ordre à partir de la fonction définissant le point d'entrée sur le marché, comme je l'ai déjà compris c'est impossible, donc je ne sais pas comment l'implémenter même de manière séquentielle.
Est-il possible de passer plusieurs paramètres de switch case à partir du corps de la fonction ? J'ai des types d'ordres à ouvrir dans le cas d'un switch et j'ai réussi à passer seulement 1 paramètre pour ouvrir un ordre à partir de la fonction définissant le point d'entrée sur le marché, comme je l'ai déjà compris c'est impossible, donc je ne sais pas encore comment l'implémenter même séquentiellement.
Veuillez me montrer dans le code ce qui vous intéresse exactement.
Est-il possible de passer plusieurs paramètres de switch case à partir du corps de la fonction ? J'ai des types d'ordres à ouvrir dans le cas d'un switch et j'ai réussi à passer seulement 1 paramètre pour ouvrir un ordre à partir de la fonction définissant le point d'entrée sur le marché, comme je l'ai déjà compris c'est impossible, donc je ne sais pas comment l'implémenter même séquentiellement
Faites-vous référence à une fourchette de valeurs ?
int OpenOrder()
{
switch(AUDUSD_Analizing)
{
case0 : Alert("Нет условий для открытия ордера. Выход"); break;
case1 : // кейс для открытия Buy по AUD/USDif(TimeServer() == true)
{
if(Symbol() == AUDUSD)
{
RefreshRates();
Open_Order = OrderSend("AUDUSD",OP_BUY,lot,Ask,0,0,0);
Alert("Тикет открытого ордера ", Open_Order, GetLastError());
case2 : // кейс для открытия Sell по AUD/USDif(TimeServer() == true)
{
if(Symbol() == AUDUSD)
{
RefreshRates();
Open_Order = OrderSend("AUDUSD",OP_SELL,lot,Bid,0,0,0);
Alert("Тикет открытого ордера ", Open_Order, GetLastError());
//-------------------------------------------------------------------------------------------------------------// другая функция//-------------------------------------------------------------------------------------------------------------int AUDUSD_Analizing()
{
if(AUDUSD_Prices_new > AUDUSD_Prices_old)
{
s1 = AUDUSD_Prices1;
s2 = AUDUSD_Prices2;
s3 = s1 - s2;
if(raznica > s5)
{
Alert("--- ВРЕМЯ ОТКРЫВАТЬ ОРДЕР НА ПОКУПКУ ---");
и вот тут я могу либо прописать конкретное открытие ордера или несколько их штук(чем и решил заняться так
как не нашел решения), либо вернуть номер кейса в первую функцию(что сократило бы код).
Но мне нужно по условиям открывать сразу несколько сделок. К примеру нужно 2 на бай разом открыть,
а возвращается только одно значение и исполняется один кейс и дальше уже на новый круг все идет,
а мне нужно сразу несколько кейсов, допустим 5 выполнить, поставить 5 отложек и вот как передать не пойму,
или как вызвать срабатывание кейсов в последовательности. Если с кейсами можно как-то придумать, то по
факту код влезет в рамку 400-600 строк, а так полагаю все 1000+ выйдет в лучшем случае
(разбитые по 100-200 строк на .mqh, но и из файлов тоже помойка сложится)
Si vous n'avez pas de compte, veuillez vous inscrire
Autorisez l'utilisation de cookies pour vous connecter au site Web MQL5.com.
Veuillez activer les paramètres nécessaires dans votre navigateur, sinon vous ne pourrez pas vous connecter.
Vous êtes connecté. L'authentification à deux facteurs a été désactivée. Configurez-la à nouveau et scannez un nouveau code QR, ou continuez avec l'authentification à deux facteurs désactivée.
string AUDUSD = "AUDUSD" ;
Au moins comme ça.
C'est ça ! !! C'était comme ça pour moi))), effacé et oublié))
Merci beaucoup ! !! La paix dans votre maison !
Le conseiller expert, le script et l'indicateur ne sont pas accessibles, mais fonctionnent dans la fenêtre actuelle. Et les variables globales de différentes fenêtres/graphiques ne se chevauchent pas. Par conséquent, cela devrait fonctionner)
string AUDUSD ; // Il s'agit d'une variable texte, en plus d'être initialement vide, c'est-à-dire égale à "".
(Symbol() == AUDUSD) // cette chaîne n'a rien à voir avec la variable AUDUSD.
Mais les critères d'ouverture des ordres ne doivent pas être les mêmes pour différents instruments/fenêtres. S'ils sont les mêmes, il s'ouvrira effectivement dans toutes les fenêtres.
Merci !
J'ai implémenté la logique pour que le Conseiller Expert ne reçoive pas le signal d'ouverture des ordres lorsqu'ils s'ouvrent dans plusieurs fenêtres et comprenne que le signal d'achat a été donné pour un tel symbole afin que l'EA n'interfère pas avec les autres.
C'est là ! !! C'était comme ça pour moi))), effacé et oublié))
Merci beaucoup ! !! La paix dans votre maison !
Ou comme ceci au niveau d'une variable globale
Ou comme ceci au niveau de la variable globale
En fait, c'est cool)) Maintenant, le robot reçoit un signal et ouvre des ordres sur différentes paires dans plusieurs fenêtres à la fois)).
Merci encore !
Le problème n'est pas dans les valeurs de la variable à mon avis. Je viens d'avoir dans mon code uulsovii recalcul à l'apparition d'une nouvelle heure. et il s'avère que le symbole actuel nouvelle barre apparaît et a calculé la valeur de la barre = 1, mais le symbole de signal est une nouvelle barre n'a pas encore été formé ou ce que si et calculé les valeurs de la barre = 2
Le problème est résolu facilement - j'ai juste suivi le début d'une nouvelle barre par le symbole du signal
Veuillez me conseiller.
Veuillez me montrer dans le code ce qui vous intéresse exactement.
Veuillez me conseiller.
Faites-vous référence à une fourchette de valeurs ?
Montrez au code ce qui vous intéresse exactement
Voulez-vous dire une gamme de valeurs ?
Non, par exemple passer d'abord le cas 1, puis le cas 2, etc.
les cas exécutent l'ouverture des commandes