[ARCHIVE !] Toute question de débutant, pour ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 4. - page 491

 
pavel888:
Pouvez-vous me dire s'il est possible de créer un conseiller expert multi-devises sur MT4, de sorte que je ne le mette pas sur chaque paire séparément, mais seulement sur un graphique.

Oui.

 
merkulov.artem:
Bonsoir ! Question, si j'utilise un EA. Ma société de courtage pourra-t-elle voir l'algorithme de son travail et la façon dont il calcule les valeurs (indicateurs, analyse des données historiques), c'est-à-dire l'ensemble du code du conseiller expert ? Ou la société de courtage ne reçoit-elle que des informations sur les commandes : ouverture, modification et fermeture des positions ?
Non, le DC ne peut pas entrer dans le processus de travail du conseiller expert. Le serveur de la société de courtage ne reçoit que les commandes de votre MT (achat, vente, etc.).
 
guys !!!!!! où puis-je télécharger un simple conseiller MA pour le croisement de 2 lignes sur les dernières données ? la plupart d'entre eux travaillent sur la ligne moyenne prise dans l'historique des cotations. et de préférence le même indicateur.
 
bikrus13:
guys !!!!!! où puis-je télécharger un conseiller MA simple pour le croisement de 2 lignes selon les dernières données ? la plupart d'entre eux travaillent sur la ligne moyenne qui est prise dans l'historique des cotations. et de préférence le même indicateur.
Qu'entendez-vous par "données récentes" ? quelles sont les dernières données ? Non pas de l'histoire, mais du futur). Qu'entendez-vous par "données récentes" ? Simple curiosité - c'est la première fois que j'en "entends" parler.
 
kakin:
Que voulez-vous dire par "dernières données" ? Quelles sont les dernières données ? Précisez. Simple curiosité - c'est la première fois que j'en "entends" parler.

Par exemple, si vous supprimez complètement l'historique du terminal. lorsque vous ouvrez un graphique, vous devez créer votre propre historique en remontant dans le passé. dans ce cas, la composante moyenne part de zéro à la date à laquelle l'historique a commencé. il s'agit d'environ deux mois. si vous prenez la MA avec une période de 1000 dans le graphique d'une minute avec un historique d'une semaine et d'un mois, elles seront différentes. c'est le problème. si vous créez un indicateur basé sur les dernières données des cotations, il montrera plus fidèlement
 

Pouvez-vous me dire s'il est possible d'interdire à l'EA d'envoyer des imprimantes au bon moment sur un graphique de démonstration ? Peut-être même en le supprimant du tableau. Je pense que cette fonction ne l'arrêtera pas complètement, seulement jusqu'au prochain tic, ou bien s'arrêtera-t-elle ? BreakPoint() ;

void BreakPoint(){//if (!IsVisualMode()) return(0);
keybd_event(19,0,0,0);
Sleep(10);
keybd_event(19,0,2,0);}                    
 
Apparemment, cela ne l'arrêtera pas, mais est-il possible de retirer le robot du graphique par programmation au bon moment ?
 
bikrus13:

Par exemple, si vous supprimez complètement l'historique du terminal. lorsque vous ouvrez un graphique, vous devez créer votre propre historique en faisant défiler le temps. la composante moyenne part de zéro à la date à laquelle l'historique a commencé. c'est environ deux mois. si vous prenez une MA avec une période de 1000 dans le graphique d'une minute avec un historique d'une semaine et d'un mois, ils seront différents. c'est le problème. si vous créez un indicateur en utilisant les dernières données de cotation, il montrera plus fidèlement
))))))))) Mon seul conseil est de lire sur Internet ce qu'est la redoutable moyenne mobile et comment elle est calculée. Mettez l'accent sur l'étude de la période d'étalement. Je sais que c'est très dur pour le cerveau, mais beaucoup de questions disparaîtront d'elles-mêmes.
 

Je suis actuellement en train d'apprendre à écrire une EA en termes de compréhension du code source, car l'EA est très bien écrite.

Mais une chose est étrange ici.

void FindOrders()
{
// - 1 - == Инициализация переменных перед поиском ======================================
   int total = OrdersTotal() - 1;
   g_type = -1;                                    // На текущий момент у нас нет позиций
// - 1 - == Окончание блока =============================================================
 
// - 2 - == Непосредственно поиск =======================================================
   for (int i = total; i >= 0; i--)                // Используется весь список ордеров
      if (OrderSelect(i, SELECT_BY_POS))           // Убедимся, что ордер выбран
         if (MathFloor(OrderMagicNumber()) == i_magicNumber &&// Ордер открыт
             OrderSymbol() == Symbol())            // ..экспертом, который прикреплен к..
         {                                         // ..текущей паре
            g_ticket = OrderTicket();              // Запишем данные ордера
            g_type = OrderType();
         } 
// - 2 - == Окончание блока =============================================================
}

Pourquoi le nombre de tous les ordres est-il affecté àOrdersTotal() - 1, et pas seulement àOrdersTotal()?

Parce que si nous avons 0 commande au total, alors la valeur de total sera -1 au lieu de 0.

 
hoz:

Je suis actuellement en train d'apprendre à écrire une EA en termes de compréhension du code source, car l'EA est très bien écrite.

Mais une chose est étrange ici.

Pourquoi le nombre de tous les ordres est-il affecté àOrdersTotal() - 1, et pas seulement àOrdersTotal()?

Parce que si nous avons 0 commande au total, alors la valeur de total sera -1 au lieu de 0.

Ensuite, vérifiez où le total est utilisé. Le plus souvent, nous parcourons ensuite les commandes en boucle pour (i=0 ; i<=total ; i++).
Raison: