Questions d'un "mannequin - page 101

 
Desead:
Comment obtenir les cours acheteur et vendeur d'une paire de devises qui n'est pas actuellement négociée ? Dans mt4 il y avait une commande marketinfo, mais dans mt5 il n'y a pas une telle commande.

Article utile - Migration de MQL4 vers MQL5

Pour répondre exactement à votre question :

SymbolInfoDouble() et paramètres SYMBOL_BID/SYMBOL_ASK

//Аналог маркетинфо
double  EurAsk = SymbolInfoDouble("EURUSD",SYMBOL_ASK);
double  EurBid = SymbolInfoDouble("EURUSD",SYMBOL_BID);

double  GbpAsk = SymbolInfoDouble("GBPUSD",SYMBOL_ASK);
double  GbpBid = SymbolInfoDouble("GBPUSD",SYMBOL_BID);
 
Pouvez-vous me dire si mt5 a un calendrier des actualités dans ses outils, l'EA peut-il les analyser d'une manière ou d'une autre ? Obtenez au moins la date de publication et la devise que la nouvelle affectera.
 
Lazarev:
Moody : Dans mt5, y a-t-il un calendrier des nouvelles dans les outils, l'EA peut-il les analyser de quelque manière que ce soit ? Obtenez au moins la date de sortie et la devise qui seront influencées par la nouvelle.

Si les nouvelles sont marquées sur le graphique (contrôlées en option), alors, si je comprends bien, l'EA peut les détecter. Pour le reste, nous devons trouver une solution par nous-mêmes.

Pour la deuxième année, j'ai demandé aux développeurs d'implémenter les nouvelles dans MQL et de fournir une archive (et non par semaine comme c'est le cas maintenant).

 
Interesting:

Si les nouvelles sont marquées sur le graphique (contrôlées en option), alors, si je comprends bien, l'EA peut les détecter. Le reste est une solution à trouver par moi-même.

Et pour la deuxième année, je demande aux développeurs de lier les nouvelles à MQL et de fournir une archive (et pas comme maintenant pendant une semaine).

Si vous avez déjà mentionné dans un autre fil de discussion que les nouvelles peuvent être détectées par des objets graphiques, pourriez-vous me dire comment ? Je veux écrire un EA qui trade sur les nouvelles, même s'il n'est pas optimisé dans le testeur, je peux le corriger moi-même d'une manière ou d'une autre sur un compte de démonstration.
 
Lazarev:
Je voudrais développer un conseiller expert qui négocie sur les nouvelles, même s'il n'est pas optimisé dans le testeur de stratégie, je le corrigerai moi-même d'une manière ou d'une autre en utilisant un compte de démonstration.

Les nouvelles affichées sur le graphique sont des objets graphiques de type OBJ_EVENT, il est possible d'obtenir des informations sur ce type, mais elles sont très pauvres, on ne peut obtenir que le nom de la nouvelle et l'heure de publication, on ne peut obtenir ni l'importance ni les autres informations du tableau du calendrier.

Voici un script qui ajoute des lignes verticales aux événements d'actualité, je pense que comme point de départ pour votre thème fera l'affaire.

Dossiers :
 
Je n'arrive pas à comprendre ce qui dessine dans l'indicateur. C'est-à-dire quelle fonction donne l'ordre de tirer. Quelqu'un peut-il me donner un exemple de corps de fonction OnCalculate qui dessine une ligne droite avec la valeur 17.
Документация по MQL5: Основы языка / Функции / Функции обработки событий
Документация по MQL5: Основы языка / Функции / Функции обработки событий
  • www.mql5.com
Основы языка / Функции / Функции обработки событий - Документация по MQL5
 
Desead:
Je ne comprends pas ce qui est dessiné dans l'indicateur. C'est-à-dire quelle fonction commande le dessin. Quelqu'un peut-il me donner un exemple du corps de la fonction OnCalculate qui dessine une ligne droite avec la valeur 17.

Tampons d'indicateurs ou objets graphiques ?

HH les tampons de l'indicateur sont dessinés dans l'indicateur, les tableaux ne sont pas déclarés comme tels, les styles de dessin sont définis dans les propriétés du préprocesseur #property indicator_...

C'est-à-dire que tout ce qui se trouve dans les tampons de l'indicateur sera automatiquement dessiné.

Dossiers :
Test.mq5  3 kb
 
Urain:

Tampons d'indicateurs ou objets graphiques ?

HH les tampons de l'indicateur sont dessinés dans l'indicateur, ces tableaux ne sont pas déclarés comme tels, les styles de dessin sont définis dans les propriétés du préprocesseur #property indicator_...

C'est tout ce qui se trouve dans les tampons des indicateurs qui sera automatiquement dessiné.

Merci, je vais y jeter un coup d'œil maintenant.

Le problème est très simple, il s'agit de tracer dans une fenêtre séparée la différence de prix entre l'eurusd et le gbpusd. J'ai obtenu les prix des devis actuels. La différence, respectivement, aussi. Cela signifie que, pour chaque tick, j'ai une certaine valeur, en fonction de laquelle, je dois dessiner un point qui formera une ligne ou dessiner une ligne à ces coordonnées.

J'ai compris que je devais utiliser des tampons et des tableaux avec une indication dirigée différemment, je ne comprends pas vraiment pourquoi, sachant que je n'ai pas besoin de lissage par période. Je vais chercher des informations sur le dessin par objets graphiques, il y a peut-être quelque chose dont j'ai besoin.

 
Desead:

Merci, je vais y jeter un coup d'œil maintenant.

En général, la tâche est très simple, il s'agit de tracer dans une fenêtre séparée la différence de prix entre eurusd et gbpusd. J'ai obtenu les prix des devis actuels. La différence, respectivement, aussi. Cela signifie que, pour chaque tick, j'ai une certaine valeur, en fonction de laquelle, je dois dessiner un point qui formera une ligne ou dessiner une ligne à ces coordonnées.

J'ai compris que je devais utiliser des tampons et des tableaux avec une indication dirigée différemment, je ne comprends pas vraiment pourquoi, sachant que je n'ai pas besoin de lissage par période. Je vais chercher le dessin par objets graphiques, peut-être y a-t-il quelque chose dont j'ai besoin.

Faites attention, il y aura des problèmes de synchronisation. Vous devez d'abord créer une base de données synchronisée, puis effectuer des soustractions.

string Symbolbuf[6]={"EURUSD","GBPUSD","AUDUSD","USDJPY","USDCHF","USDCAD"};
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
datetime fmin(datetime value1,datetime value2)
  {
   return(value1<value2?value1:value2);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
datetime fmax(datetime value1,datetime value2)
  {
   return(value1>value2?value1:value2);
  }  
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void OnStart()
  {
   datetime timestart;
   timestart=(datetime)SeriesInfoInteger(Symbolbuf[0],PERIOD_M1,SERIES_FIRSTDATE);
   for(int i=1;i<6;i++)
     {
      timestart=fmax(timestart,(datetime)SeriesInfoInteger(Symbolbuf[i],PERIOD_M1,SERIES_FIRSTDATE));
      Print(Symbolbuf[i]," = ",(datetime)SeriesInfoInteger(Symbolbuf[i],PERIOD_M1,SERIES_FIRSTDATE));      
     }
   Print("-----------------   ",timestart);  
   for(int i=0;i<6;i++)
     {
      Print(Symbolbuf[i]," = ",Bars(Symbolbuf[i],PERIOD_M1,timestart,TimeCurrent()));
     }
  }
 

Bonjour. Je veux utiliser mon conseiller expert sur l'AUD/USD. Comment puis-je faire cela, je ne l'ai fait fonctionner que sur l'euro/dollar. J'ai changé la paire dans le menu Service/Paramètres/Debug. Mais j'ai reçu le message"Le symbole sélectionné n'a pas été trouvé".

Merci.

Документация по MQL5: Получение рыночной информации / SymbolSelect
Документация по MQL5: Получение рыночной информации / SymbolSelect
  • www.mql5.com
Получение рыночной информации / SymbolSelect - Документация по MQL5