Fonctions utiles de KimIV - page 112

 

Voici une description des erreurs d'exécution et des recommandations sur la manière de les traiter. La recommandation générale pour les erreurs 2, 64, 65 et 133 est d'arrêter toute tentative de négociation. Pour mettre en œuvre cette recommandation, j'utilise la variable globale EA gbDisabled, que je définis dans l'en-tête (c'est-à-dire avant le démarrage de toutes les fonctions) comme suit:

//------- Глобальные переменные советника -------------------------------------+
bool   gbDisabled   = False;           // Флаг блокировки советника

Je vérifie l'état de cette variable dans la fonction start() :

//+----------------------------------------------------------------------------+
//|  expert start function                                                     |
//+----------------------------------------------------------------------------+
void start() {
  if (gbDisabled) {
    Message("Критическая ошибка! Советник ОСТАНОВЛЕН!"); return;
  }
}
 
KimIV:

Voici une description des erreurs d'exécution et des recommandations sur la manière de les traiter. La recommandation générale pour les erreurs 2, 64, 65 et 133 est d'arrêter toute tentative de négociation. Pour mettre en œuvre cette recommandation, j'utilise la variable globale EA gbDisabled, que je définis dans l'en-tête (c'est-à-dire avant le démarrage de toutes les fonctions) comme suit:

Je vérifie l'état de cette variable dans la fonction start() :

Merci.... )))
 
Bonjour, Igor ! Dans la fonction : void TrailingPositions(string sy="", int op=-1, int mn=-1) le contrôle est passé à la fonction ModifyOrder(sy, -1, pp+TrailingStopSell*p, 0, clModifySell), alors que ModifyOrder lui-même a 4 paramètres, de quoi s'agit-il ?
 
Lisi4ka330:
Bonjour, Igor ! Dans la fonction : void TrailingPositions(string sy="", int op=-1, int mn=-1) le contrôle est passé à la fonction ModifyOrder(sy, -1, pp+TrailingStopSell*p, 0, clModifySell) alors que la fonction ModifyOrder elle-même a 4 paramètres, à quoi cela est-il lié ?

C'est probablement parce que vous avez tiré la fonction TrailingPositions de quelque part. Peut-être d'un de mes anciens EA. Les fonctions que j'ai publiées ne sont pas devenues comme ça tout de suite. Ils ont évolué.

Veuillez me fournir le lien vers la fonction TrailingPositions . Je ne l'ai pas dans la liste de ceux qui ont été publiés. J'ai publiéSimpleTrailing().

 
ici : http://www.kimiv.ru/index.php?option=com_remository&Itemid=13&func=fileinfo&id=20 Et merci pour le lien, il m'a fallu beaucoup de temps pour me rappeler où je l'avais vu, mais je n'ai pas pu le trouver))))).
 
Je vois... Vous avez déjà dû remarquer que le paramètre qui transmet le nom du symbole boursier à la fonction ModifyOrder() est redondant. Il y avait ce paramètre avant, et puis je l'ai supprimé...
 
Oui, je l'ai compris)))) Et j'ai même écrit ma première EA, et même, comme il s'est avéré, avec un petit bénéfice)))))))))))). Merci beaucoup Igor, seules tes fonctionnalités m'ont permis de le faire. ))))))))))))))))
 
Bon après-midi ! !!)))) Veuillez expliquer la fonction Fibonacci(), dans quels cas est-elle utilisée ? Il n'est pas clair quel type d'élément il retourne... ce n'est pas le prix du niveau...
 

Bonjour, auriez-vous par hasard une fonction permettant de définir des niveaux de prise et d'arrêt dans des variables externes lors de la définition d'un ordre ?

Par exemple :

extern double sl = 0; // SL для открываемого ордера

extern double tp = 0; // ТР для открываемого ордера

SetOrder("", OP_BUY, ll, Ask, SL(), TP(), 0, 0);
{условие}

SetOrder("", OP_SELL, ll, Bid, SL(), TP(), 0, 0);

{условие}

SetOrder("", OP_BUYSTOP, ll, Ask, SL(), TP(), 0, 0);
{условие}

SetOrder("", OP_SELLSTOP, ll, Bid, SL(), TP(), 0, 0);

{условие}

SetOrder("", OP_BUYLIMIT, ll, Ask, SL(), TP(), 0, 0);
{условие}

SetOrder("", OP_SELLLIMIT, ll, Bid, SL(), TP(), 0, 0);

{условие}


 


Salut !

Pour une raison quelconque, lorsque je branche votre bibliothèque, l'opérateur extern ne fonctionne plus, c'est-à-dire que les variables sont définies, tout se compile normalement, et en principe l'EA fonctionne, mais en même temps l'EA n'a aucun paramètre au démarrage du type, alors qu'il y a pas mal de paramètres. Quelle peut en être la raison ?