Toute question des nouveaux arrivants sur MQL4 et MQL5, aide et discussion sur les algorithmes et les codes. - page 1582

 
Galim_V:

Bonjour, je n'arrive pas à comprendre pourquoi la sélection SELECT_BY_TICKET ne fonctionne pas dans cette conception, contrairement à SELECT_BY_POS.

En 4, lorsque la commande est ouverte avec succès, le ticket est renvoyé, et non le résultat, comme en 5. Vous devez vous en souvenir juste après l'ouverture de la commande, et le script Magic n'est nécessaire que pour l'assurance. Et ça ne marche pas parce que vous avez des numéros dans l'ordre, et il n'y a pas de tels billets. Il n'y a donc pas d'erreur d'ordonnance de ce type.

 
Andrey Sokolov:
MakarFX, Mihail Matkovskij
merci. Mais ma question ne porte pas sur ce point. Je veux demander comment un EA peut rendre des données à partir de tableaux, comme des tampons d'indicateurs, si c'est possible.

C'est ce qui rend un indicateur différent d'un EA, qu'il a des tampons d'indicateurs qui sont plus faciles et moins chers à dessiner que dans un EA. apparemment seulement kanvas native ou semco pour aider.

 
Valeriy Yastremskiy:

C'est ce qui rend un indicateur différent d'un EA, il a des tampons d'indicateurs qui sont plus faciles et moins chers à dessiner que dans un EA. apparemment, il n'y a que kanvas native ou semco pour aider.

Merci.
Il dispose d'un indicateur tampon qui est plus facile et moins cher à dessiner qu'un EA. Oui, Cap.
Semco est quoi ?

 
Andrey Sokolov:

Merci.
C'est ce qui différencie un indicateur d'un EA, le fait qu'il dispose de tampons indicateurs plus faciles et moins coûteux à dessiner que dans un EA. - oui, Cap.
Semco est quoi ?

Nikolaï, il a un kanvas habillé et amélioré dans kodobase. Et il est cool avec ça en général.

Et ces tampons s'imposent d'ailleurs beaucoup de restrictions, si bien qu'aucun ordre n'est placé dans les indices).
Nikolai Semko
Nikolai Semko
  • 2021.08.10
  • www.mql5.com
Профиль трейдера
 
Valeriy Yastremskiy:

Nikolaï, il a une toile habillée et améliorée dans sa kodobase. Et il est cool avec ça en général.

Et ces tampons, soit dit en passant, imposent eux-mêmes beaucoup de restrictions, de sorte qu'aucun ordre n'est placé dans les indices).

Les indicateurs d'un graphique fonctionnent tous dans un seul fil. Par conséquent, nous ne pouvons pas appeler les MessageBox et y effectuer des transactions. Il est possible d'obtenir des informations sur les offres et les commandes si ma mémoire est correcte. Mais vous ne pouvez pas faire de commerce. Vous ne pouvez trader qu'avec des conseillers experts et des scripts. Un fil de discussion distinct est attribué à chaque expert.

 
Dites-moi comment taper OR || avec un clavier))))) encore copier-coller))))
 
Valeriy Yastremskiy:
Dites-moi comment taper OR || avec un clavier))))) encore copier-coller))))

 
MakarFX:

Merci)))) Shift Slash)))). La paresse n'est pas toujours une panacée après tout)))

 
Valeriy Yastremskiy:

En 4, lorsqu'une commande est ouverte avec succès, un ticket est renvoyé, et non le résultat comme en 5. Il faut s'en souvenir immédiatement après avoir ouvert une commande, et Magik n'est nécessaire que pour l'assurance. Et ça ne marche pas parce que vous avez des numéros dans l'ordre, et il n'y a pas de tels billets. Il n'y a donc pas d'erreur d'ordonnance de ce type.

Merci, mais je ne sais toujours pas quoi en faire. Le code source se compile. Si vous avez le temps, montrez du doigt.

Dossiers :
08pw65u5_04.mq4  26 kb
 
Galim_V:

Merci, mais je ne sais toujours pas quoi en faire. Le code source se compile. Si vous avez le temps, montrez du doigt.

La logique est nulle, tout est là, et les tableaux pour les billets et les types de commande. Seulement, il n'est pas rempli lorsque les ordres sont ouverts, et le tableau est mis à zéro dans la fonction TicketLimit pour une raison quelconque. A première vue.

 if(ParSar>MaxClose&&chekt==1){
    ticket=_OrderSend(NULL,OP_BUYSTOP,0.01,MaxClose+(spread*Point()),0);
Увеличить последний индекс массива _тикет на 1.
Здесь запомнить тикет в массив _тикет и тип ордера тоже и запомнить последний индекс массива!!!
  }
    }
    if(MinClose!=0){
   if(ParSar<MinClose&&chekt==1){
    _price= NormalizeDouble( MinClose-(spread*Point()),Digits);
    ticket=_OrderSend(NULL,OP_SELLSTOP,0.01,_price,0);
Увеличить последний индекс массива _тикет на 1.
Здесь запомнить тикет в массив _тикет и тип ордера тоже и запомнить последний индекс массива!!!

А потом в Ордер селект подставлять значение массива _тикет) Цикл по индексу массива _тикет от 1 до последнего индекса.