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

 
ax00071: Le journal montre une tentative de fermeture de buy2, ticket inconnu pour la fonction orderclose. Code de mémoire car je suis au travail

Ah. J'écris de mémoire car je suis aussi au travail. Essayez : et Ticket comparez avec celui du rapport de clôture de l'ordre. Dans le testeur, cela semble être 0, 1, 2, 3, .....

RefreshRates(); // Это обязательно ДО OrderSelect() и лучше в таком виде: while (! RefreshRates()) ;
for(int i=OrdersTotal()-1; i>=0; i--)
  if (! OrderSelect(i,SELECT_BY_POS)) continue;
  Ticket=OrderTicket(); 
  Lot   =OrderLots();

  // Сообщение о попытке следует выдавать ДО ее осуществления, т.к. попытка может что-то изменить
  Alert ("Попытка закрыть Buy Ticket=",Ticket, "  Lot=",Lot);  // Кажется Alert в тестере бестолкова, попробуйте Print
  Ans=OrderClose(Ticket,Lot,OrderClosePrice() ... );
}

 
novikov433:

Je veux apprendre à faire un EA. Peut-être que le marché va changer et que je devrai payer plus cher, par exemple pour modifier un peu l'algorithme ?

Je ne sais pas si je peux vraiment faire un TS dans n'importe quel constructeur de hibou, mais je préférerais comprendre les fonctions de base comme faire un stop à un certain endroit ou donner un ordre pour négocier certains jours.

Je n'ai aucune idée de ce qu'il faut faire avec 1,2,3 etc. même dans le constructeur, et pourquoi il est important de tout relier dans cet ordre avec des flèches. Qui délivre une formation mql 4 de A à Z et non pas comme les guerriers de l'internet qui créent des cours qui n'expliquent rien en détail pourquoi ça se passe comme ça, en clair, vous ne ferez rien de nouveau par vous-même, vous n'aurez qu'à copier leur code ..... Je veux dire, ils savent quel ordre est responsable de quoi, et ils ne se sont pas contentés de pointer au hasard ...... Laissez les professionnels faire du pyramidage, du lot dynamique, du smart stop ; ma tâche est différente - télécharger les filtres nécessaires et comprendre l'essence de la formation des tendances. Merci pour votre aide !

Vous n'avez besoin que de la documentation, qui est disponible, et vous devez être capable de lire et de comprendre ce que vous avez lu. Si vous n'avez pas réussi à le comprendre dès la première fois, lisez plusieurs fois et de préférence à un rythme plus lent, afin que votre cerveau ait le temps de reconnaître le sens de ce que vous avez lu.

Et après cela, l'imagination a le champ libre.

Je veux ouvrir un ordre sur la condition Ouvrez la section "Fonctions commerciales" de la documentation et trouvez la fonction qui ouvre l'ordre et écrivez-la selon la syntaxe...

Oh, oui... vous devez remplir la condition... ...ouvrez la section "Opérateurs", lisez"Instruction conditionnelle if-else" et écrivez la condition nécessaire.

Une fois cela fait, vous lisez la documentation du début à la fin pour savoir ce que contient le langage, ce que vous pouvez obtenir.

Торговые функции - Справочник MQL4
Торговые функции - Справочник MQL4
  • docs.mql4.com
Торговые функции - Справочник MQL4
 
encore moi :)
J'ai écrit une fonction qui permet de ne pas ouvrir plus de n ordres en 1 jour.
Maintenant, la fonction draine le dépôt - c'est-à-dire que les ordres s'ouvrent à chaque tick.

Où ai-je encore foiré ?)

int OrderMax = 3 ; // nombre maximum d'ordres qui peuvent être ouverts pendant une journée.
void OpenOrders()
{
for (int i = 1 ; i <= 5 ; i++)
{
si (DayOfWeek() == i)
{
int count_max = 0 ;
si (count_max <= OrderMax)
{
for(int cn = OrdersTotal()-1 ; cn>=0 ; cn--)
{
if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES) && OrderType() == OP_BUY)
count_max++ ;
}
}
}
}
}
 
Les gars, est-il possible d'ouvrir des ordres sur d'autres paires avec un EA ? Par exemple, un EA ne fonctionne que sur l'EURAUD et à condition d'ouvrir une transaction sur les paires EURAUD et GBPUSD. Quelle devrait être la condition si possible ?
 
ivan-baaton:
Encore moi :)
J'ai écrit une fonction qui permet de ne pas ouvrir plus de n ordres en 1 jour.
Maintenant, cette fonction perd le dépôt, c'est-à-dire que les ordres sont ouverts à chaque tick.

Où ai-je encore foiré ?)

int OrderMax = 3 ; // nombre maximum d'ordres qui peuvent être ouverts pendant une journée.
void OpenOrders()
{
for (int i = 1 ; i <= 5 ; i++)
{
si (DayOfWeek() == i)
{
int count_max = 0 ;
si (count_max <= OrderMax)
{
for(int cn = OrdersTotal()-1 ; cn>=0 ; cn--)
{
if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES) && OrderType() == OP_BUY)
count_max++ ;
}
}
}
}
}

À mon avis, cette approche n'est pas du tout logique. Pourquoi définir le jour de la semaine ? Quelle différence cela fait-il de savoir quel jour on est, si la condition doit dire "ne pas ouvrir plus de xxx ordres aujourd'hui" ?

Il me semble plus raisonnable de compter les ordres ouverts aujourd'hui et de placer une condition appropriée dans la condition.

                     if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES) && OrderType() == OP_BUY)
                     count_max++; 
manque la définition de la date d'ouverture de l'ordre.
 

Rustam Bikbulatov:
Ребята, можно ли с помощью одного советника открывать ордера на других парах? Например Советник только стоит на паре EURAUD и при условии открытии открывается сделка на парах EURAUD и GBPUSD. Какое должно быть условие если будет возможность?

C'est possible.

Seulement dans le testeur, cela ne fonctionne pas.

int  OrderSend(
   string   symbol,              // символ
   int      cmd,                 // торговая операция
   double   volume,              // количество лотов
   double   price,               // цена
   int      slippage,            // проскальзывание
   double   stoploss,            // stop loss
   double   takeprofit,          // take profit
   string   comment=NULL,        // комментарий
   int      magic=0,             // идентификатор
   datetime expiration=0,        // срок истечения ордера
   color    arrow_color=clrNONE  // цвет
   );
 
Alexey Viktorov:
C'est le cas.

Seulement dans le testeur, cela ne fonctionne pas.


Comment les lister ? virgule ou && ?
 
Rustam Bikbulatov:

Comment les lister ? virgule ou && ?

La leur est une quoi ? une liste de personnages ? ou quoi ?

Chaque OrderSend a son propre caractère unique. Pas de virgules ou d'autres trucs...

 
Alexey Viktorov:

C'est quoi leleur? C'est pour lister les personnages ou quoi ?

Chaque OrderSend a son propre caractère unique. Pas de virgules ou d'autres trucs...


paires de listes
 
LRA:

Ah. J'écris de mémoire car je suis également au travail. Essayez : et Ticket comparer avec ce que l'ordre a dans le rapport. Dans le testeur, cela semble être 0, 1, 2, 3, .....

Merci de m'avoir prévenu.) Je suis un pigeon ... ... à la clôture, j'avais la condition de conclure l'affaire à 22h00 le vendredi, sans aucune condition supplémentaire pour vérifier le type d'affaire. L'affaire elle-même a été conclue quelques heures plus tôt. Ainsi, à 22 heures, le conseiller expert a commencé à envoyer des ordres pour clôturer un ordre qui était déjà clôturé...