Erreurs, bugs, questions - page 769

 
sergeev:

Je l'ai installé à la maison - je l'ai apporté sur une clé USB.

Testé ! L'administrateur est satisfait. Aucune bière n'a été demandée.


Ne sera pas mis à jour...
 
Alex5757000:
Il n'y aura pas de mises à jour...
vous pouvez mettre à jour depuis chez vous, en n'apportant que des constructions vérifiées.
 
Alex5757000:
Ne sera pas mis à jour...

répéter l'algorithme.

Mis à jour à la maison - apporté sur une clé USB.

Vérifié ! L'administrateur est doublement heureux.
 
sergeev:

répéter l'algorithme

Mis à jour à la maison - apporté sur une clé USB.

J'ai vérifié ! L'administrateur est doublement heureux.

Oui, nous l'avons fait. Ça fonctionne bien. Merci.
 

On dirait que le quatrième poumon à 503 encore... :-(

Maintenant - ça marche...

 
R0MAN:

On dirait que le quatrième poumon à 503 encore... :-(

Maintenant - ça marche...

C'est nous qui l'avons mis à jour, il s'est arrêté pendant une demi-minute.
 

Je me creuse la tête... l'arrêt ne se met pas en place... et beaucoup d'erreurs. voici ce qu'il reste de l'expérience, et ça ne marche plus.

void OnTick(){ if(PositionsTotal()<1){OPEN();}}

bool OPEN(){
             MqlTradeRequest request;
             MqlTradeResult result;
             

             request.symbol       = _Symbol;
             request.action       = TRADE_ACTION_DEAL;
             request.type_filling = ORDER_FILLING_FOK;
             request.deviation    = 100;
             request.volume       = NormalizeDouble(2,2);
             request.type         = ORDER_TYPE_BUY;
             request.price        = NormalizeDouble(SymbolInfoDouble(_Symbol,SYMBOL_ASK),_Digits);
             request.tp           = NormalizeDouble(SymbolInfoDouble(_Symbol,SYMBOL_ASK) + 500*_Point,_Digits);
             request.sl           = NormalizeDouble(SymbolInfoDouble(_Symbol,SYMBOL_ASK) - 500*_Point,_Digits);

             OrderSend(request,result);     
                        
             if(result.retcode==10009 || result.retcode==10008)  Print("Succsesful open");
             else                                               Print("Error open: ",DoubleToString(GetLastError(),0),"  response code: ",result.retcode);
    
   return(true);}

Si je fais cela, il n'y a pas d'erreur, mais le stop-loss n'est toujours pas défini.

MqlTradeRequest request={0};MqlTradeResult result={0};
 
maryan.dirtyn:

Je me creuse la tête... l'arrêt ne se met pas en place... et beaucoup d'erreurs. voici ce qu'il reste de l'expérience, et ça ne marche plus.

Si vous faites cela, il n'y a pas d'erreur, mais le stop-loss n'est toujours pas défini.

Il existe une fonction magique ZeroMemory(). Appliquez-le pour initialiser ou réutiliser.

Et à propos des stops, voyez si votre courtier ne prend pas en charge la définition des stops en une seule fois (par exemple lors de l'exécution en bourse), ils peuvent alors être ajoutés séparément.

 

cela ne fonctionne pas sur une démo standard de metaquotes... si la démo ne supporte pas la mise en place d'arrêts immédiats... mt5 est-il fait spécifiquement pour vider le dépôt ?)

une simple fonction et ça ne marche pas... qu'est-ce que ça pourrait être d'autre ?

Le mt5 ne supporte pas le stop loss dans une direction.

Je préfère donc ne pas déranger ceux qui me disent d'utiliser les bibliothèques standard. Je préfère savoir ce que fait mon EA plutôt que d'espérer qu'il ne s'aplatisse pas plus tard.

Документация по MQL5: Стандартная библиотека
Документация по MQL5: Стандартная библиотека
  • www.mql5.com
Стандартная библиотека - Документация по MQL5
 
maryan.dirtyn:

Cela ne fonctionne pas sur une démo standard de metaquotes... si la démo ne supporte pas la mise en place d'arrêts tout de suite... est-ce que mt5 est fait spécifiquement pour vider la dépo ?).

Utilisez des classes de commerce standard, elles masqueront toute la complexité du remplissage des commandes et simplifieront le code. Par exemple, CTrade propose des méthodes de négociation très simples.

Si vous avez des questions, même sur le simple remplissage des champs de l'ordre de bourse, il est préférable de regarder dans le code source des classes de bourse correspondantes et d'y trouver une solution. Utilisez-les spécifiquement - ils simplifient la programmation et permettent un contrôle total des erreurs.

Raison: