Fonctions utiles de KimIV - page 6

 
Lukyanov:
Ça pourrait être utile. :-)
Je ne vois pas d'inconvénient à ce que vous le disiez :-) :-)
 
Bonjour
Pouvez-vous me dire s'il existe un "bureau" qui fournit son propre serveur pour tester les EA. C'est-à-dire que je télécharge mon EA sur leur serveur, où il est testé en mode "on line" sur un compte de démonstration.
 
KimIV:

Attention ! Dans mon message du 12.03.2008 07:24 j'ai modifié la pièce jointe SetOrder.mq4

J'ai essayé votre code, mais cela n'a pas fonctionné (peut-être que mes mains sont mauvaises :( ... ). Lorsqu'il est compilé, il montre beaucoup d'erreurs.
Message" - la fonction n'est pas définie - qu'est-ce que c'est ?
break" - "break" ou "continue" utilisé uniquement dans un cycle - qu'est-ce qui ne va pas avec les boucles ?
GetNameTF' - la fonction n'est pas définie - comment la définir ?
...etc. :(
Je n'arrive toujours pas à comprendre. S'il vous plaît, aidez-moi, si vous n'avez pas d'ennuis.

 
sasa999 писал (а):
Message" - la fonction n'est pas définie - de quoi s'agit-il ?
//+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. aka KimIV,  http://www.kimiv.ru                   |
//+----------------------------------------------------------------------------+
//|  Версия   : 01.09.2005                                                     |
//|  Описание : Вывод сообщения в коммент и в журнал                           |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    m - текст сообщения                                                     |
//+----------------------------------------------------------------------------+
void Message(string m) {
  Comment(m);
  if (StringLen(m)>0) Print(m);
} 
sasa999 a écrit :
'break' - 'break' ou 'continue' utilisé uniquement dans certaines boucles - quel est le problème avec les boucles ?

Ignorez la pause pour l'instant. Triez d'abord les descriptions de fonctions.

sasa999 a écrit :
'GetNameTF' - la fonction n'est pas définie - comment la définir ?
//+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. aka KimIV,  http://www.kimiv.ru                   |
//+----------------------------------------------------------------------------+
//|  Версия   : 01.09.2005                                                     |
//|  Описание : Возвращает наименование таймфрейма                             |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    TimeFrame - таймфрейм (количество секунд)      (0 - текущий ТФ)         |
//+----------------------------------------------------------------------------+
string GetNameTF(int TimeFrame=0) {
  if (TimeFrame==0) TimeFrame=Period();
  switch (TimeFrame) {
    case PERIOD_M1:  return("M1");
    case PERIOD_M5:  return("M5");
    case PERIOD_M15: return("M15");
    case PERIOD_M30: return("M30");
    case PERIOD_H1:  return("H1");
    case PERIOD_H4:  return("H4");
    case PERIOD_D1:  return("Daily");
    case PERIOD_W1:  return("Weekly");
    case PERIOD_MN1: return("Monthly");
    default:         return("UnknownPeriod");
  }
}

Recherchez la fonction ExistOrders dans ce fil de discussion. Je l'ai déjà publié. ErrorDescription est inséré dans la directive du compilateur :

#include <stdlib.mqh>

Ok, il y a toujours la fonction GetNameOP:

//+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. aka KimIV,  http://www.kimiv.ru                   |
//+----------------------------------------------------------------------------+
//|  Версия   : 01.09.2005                                                     |
//|  Описание : Возвращает наименование торговой операции                      |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    op - идентификатор торговой операции                                    |
//+----------------------------------------------------------------------------+
string GetNameOP(int op) {
  switch (op) {
    case OP_BUY      : return("Buy");
    case OP_SELL     : return("Sell");
    case OP_BUYLIMIT : return("Buy Limit");
    case OP_SELLLIMIT: return("Sell Limit");
    case OP_BUYSTOP  : return("Buy Stop");
    case OP_SELLSTOP : return("Sell Stop");
    default          : return("Unknown Operation");
  }
}
 
KimIV:
sasa999 a écrit (a) :
'Message' - la fonction n'est pas définie - de quoi s'agit-il ?
sasa999 a écrit (a) :
'break' - 'break' ou 'continue' ne sont utilisés qu'à l'intérieur d'un cycle - quel est le problème avec les cycles ?

Ignorez la "pause " pour l'instant. Triez d'abord les descriptions de fonctions.

sasa999 a écrit :
'GetNameTF' - la fonction n'est pas définie - comment la définir ?

Recherchez la fonction ExistOrders dans ce fil de discussion. Je l'ai déjà publié. ErrorDescription est inséré dans la directive du compilateur :

#include <stdlib.mqh>

OK, il reste encore la fonction GetNameOP:


J'ai l'impression que je dois sortir les bibliothèques (les deux), et faire un peu de sensibilisation. Les bibliothèques ne seront pas refusées.
 
Merci - très utile, mais il y a encore d'autres problèmes... :(
maintenant toutes ces fonctions montrent - La fonction "хххххххххххх" n'est pas référencée et sera supprimée du fichier exp
peut-être que je les ai mises au mauvais endroit... :( J'espère que vous pourrez m'aider.
..c'est difficile pour un débutant en MQL4 :)
 
Vinin:
J'ai l'impression qu'il faut que je mette les bibliothèques (les deux) sur la table et que je fasse un travail d'explication. Je n'abandonnerai pas les bibliothèques.

Je vais probablement le poster... mais pas avant d'avoir passé en revue toutes les fonctionnalités... sinon pourquoi suis-je ici ? Mettez-le sur la base de code, les gens le téléchargeraient et l'oublieraient. Je suis moi-même comme ça :-) J'ai un tas de code d'autres personnes qui traîne sans être modifié. Et quand vous avez l'occasion de sonder, de poser des questions, c'est tout autre chose.

SZY. Mes fichiers avec le préfixe test_ compilent et fonctionnent bien.

 
sasa999:
Merci - très utile, mais encore d'autres problèmes... :(
maintenant toutes ces fonctions montrent - La fonction "xxxxxxxxxx" n'est pas référencée et sera supprimée du fichier exp.
Peut-être que je les ai mis au mauvais endroit... J'espère que vous pourrez m'aider.
...j'ai du mal avec MQL4 :)
Regardez comment tout est assemblé dans test_SetOrder.mq4
 



Si je comprends bien, remplacer OrderSend par OrderModify

peut être utilisé lors de la modification d'un ordre ?
ainsi que lors de la fermeture... ? ?

...mais comment combiner ces fonctions en une seule ?

aussi...

si (mn<0 || OrderMagicNumber()==mn)

Pourquoi mn<0 ? Magic ne peut pas être négatif ?

 
sasa999 писал (а):
si je comprends bien, en remplaçant OrderSend par OrderModify

peut être utilisé pour modifier une commande ?
? ? ainsi que pour la fermeture ... ? ?

mais comment combiner cela en une seule fonction pour qu'elle ne se répète pas ?

Plus tard, il y aura une fonction pour modifier

sasa999 a écrit (a) :
plus...
si (mn<0 || OrderMagicNumber()==mn)
Pourquoi mn<0 ? Magic ne peut pas être négatif ?
il peut... Mais dans mes EAs, je n'utilise que des Magic positifs au format AAAAMMJD, par exemple 20080323. Il s'agit de la date à laquelle l'EE a été élaborée.
Raison: