Question pour les administrateurs - page 2

 
Yedelkin:
Je suis d'accord, je pense de façon étroite - seulement par rapport aux paires de devises disponibles pour MQ.
Il existe une option - interdire les transactions au niveau du serveur s'il n'y a pas d'historique normal pour un symbole depuis au moins 5 ans.
 
Pouvez-vous me dire comment theaeditor 5 peut utiliser le verre de l'application ? comment pouvez-vous lire les données à partir de là ?
 
todem:
Pouvez-vous me dire comment Theaeditor 5 peut utiliser le carnet d'ordres ? Comment puis-je y lire des données ?

Apparemment, vous voulez parler de la fonction de la section Obtenir des informations sur le marché?

 
todem:
conseillez moi comment theaeditor 5 peut utiliser la pile d'ordre ? comment puis-je lire les données à partir de là ?

Ça donne quelque chose comme ça :

MqlBookInfo ArrayMarketBookInfo[];

bool SymbolMarketBook;

int OnInit()
{
//----------------------------------------------------------------------------//
//Work variables
int Result = 0; //Returned importance
//----------------------------------------------------------------------------//

SymbolMarketBook = MarketBookAdd(Symbol());

//----------------------------------------------------------------------------//
return(Result);
//----------------------------------------------------------------------------//
}

//Procedure OnDeinit
void OnDeinit(const int reason)
{
//----------------------------------------------------------------------------//
//Work variables
//----------------------------------------------------------------------------//

  if(SymbolMarketBook) MarketBookRelease(Symbol());
  
//----------------------------------------------------------------------------//
}

//Event OnBookEvent
void OnBookEvent(const string& symbol)
{
//----------------------------------------------------------------------------//
//Work variables
int SizeBook;
int i;

bool Res;
//----------------------------------------------------------------------------//

Res = MarketBookGet(symbol,ArrayMarketBookInfo);

  if(Res)
  {
  SizeBook = ArraySize(ArrayMarketBookInfo);

    for(i=0;i<SizeBook;i++)
    {

      if(ArrayMarketBookInfo[i].type==BOOK_TYPE_BUY)
      //Подсчет данных по длинным позициям
      {
      //Выполняем собственную обработку
      }
      else
      //Подсчет данных по коротким позициям
      {
      //Выполняем собственную обработку
      }

    //Блок из справки по MarketBookGet
    Print(i,":",ArrayMarketBookInfo[i].price," Volume= ",ArrayMarketBookInfo[i].volume,
    " type = ",ArrayMarketBookInfo[i].type);
    }
  
  }
  else
  {
  Print("Не удалось получить содержимое стакана по символу ",Symbol());
  }  
//----------------------------------------------------------------------------//
}

PS

Il vaut mieux essayer de travailler avec la coupe sur Alpari, elle semble y être disponible...

 
Interesting:

Ça donne quelque chose comme ça :

PS

Le travail du verre est mieux essayé sur Alpari, c'est un peu là...

Merci beaucoup, je commence à apprendre mcl5.
 
Nous allons progressivement augmenter la profondeur de l'histoire, mais pour les dates antérieures à 2000, il n'y aura que des journaux intimes. Comment pouvons-nous voir la profondeur de l'histoire pour chaque cadre maintenant ? Quelle est la profondeur des minutes ?
 

J'y ai repensé et j'ai trouvé ceci : créer une fonction qui divise le symbole/la période spécifié(e) en deux moitiés, par exemple bool SetEdge(string symbol ,int timeframe,datetime time). Cette limite est statique, c'est-à-dire qu'elle existe même après le redémarrage du terminal.

Comment l'utiliser : Passez en revue le symbole/la trame temporelle et, en fonction de vos considérations, déterminez ce qui est, par exemple, m1 et ce qui ne l'est pas. Colorez les moitiés avec des couleurs différentes (fond du graphique ( ou couleur des barres)). Le même algorithme est appliqué aux autres échéances.

Le résultat : la frontière est visible visuellement (pour une analyse manuelle) et programmatiquement ( datetime GetEdge(string symbol ,int timeframe) ).


 

Ou, par exemple, permettre d'écrire une fonction standard (avec un nom et des paramètres prédéfinis) qui répond à la question suivante : où se trouve la limite de ce symbole/trame temporelle ? Et que faire (surligner, cacher la couleur...) ?

P.S :

Par exemple, mettez une telle fonction dans une dll (avec divulgation du prototype), et les plus préparés écriront leur propre version. Il me semble que ce sera très beau.

 

Je ne veux pas être indiscret, mais j'aimerais connaître l'attitude de la direction à l'égard de la délégation de la fonction de détermination des limites temporelles à l'utilisateur (il existe peut-être des plans). Ce n'est pas très solide de peindre le graphique avec des rectangles :).

 
220Volt: Je ne veux pas être indiscret, mais j'aimerais connaître l'attitude de la direction à l'égard de la délégation des fonctions de détermination des limites temporelles à l'utilisateur (il existe peut-être des plans). Parce qu'il est quelque peu inconvenant de peindre le graphique avec des rectangles :).
C'est suffisant pour faire une proposition au SR. L'attitude de la direction se manifeste soit par la réponse, soit par le silence.