Erreurs, bugs, questions - page 1913

 
KirBiz:

Le courtier dispose-t-il d'une limite inférieure à l'heure d'expiration de l'ordre? Minimum 10 minutes.


Trouvez la réponse à votre question dans "Trading on the Exchange".

 
prostotrader:

Cherchez une réponse à votre question dans la section "Négociation en bourse".

C'est à moi que tu parles ? J'ai cherché tout ce qui était possible sur le sujet 10022 et je n'ai pas trouvé de réponse fonctionnelle.

 
Ilya Malev:
La démo ne fonctionne pas non plus avec l'exemple de l'aide. RemplacéORDER_TIME_DAY par chacun des 4 modes à tour de rôle, toujours Expiration invalide.

L'expiration n'a rien à voir avec cela. Faites comme ceci

Request.type_filling = ORDER_FILLING_RETURN;
Cela indique un bug en fait

Forum sur le trading, les systèmes de trading automatisés et les tests de stratégie

Expériences avec MetaTrader 5 à l'ouverture

fxsaber, 2016.11.12 12:21

#define TOSTRING(A) #A + " = " + (string)(A)

void OnStart()
{
  Print(EnumToString((ENUM_SYMBOL_TRADE_EXECUTION)SymbolInfoInteger(_Symbol, SYMBOL_TRADE_EXEMODE)));
  Print(TOSTRING(SymbolInfoInteger(_Symbol, SYMBOL_FILLING_MODE)));  
  Print(TOSTRING(SYMBOL_FILLING_IOC));
  Print(TOSTRING(SYMBOL_FILLING_FOK));
}

Sur Metaquotes-Demo les paramètres corrects (tous autorisés)

Test (Si-12.16,M1)      SYMBOL_TRADE_EXECUTION_EXCHANGE
Test (Si-12.16,M1)      SymbolInfoInteger(_Symbol,SYMBOL_FILLING_MODE) = 3
Test (Si-12.16,M1)      SYMBOL_FILLING_IOC = 2
Test (Si-12.16,M1)      SYMBOL_FILLING_FOK = 1
Tous les modes de remplissage sont autorisés et fonctionnent pour les ordres au marché et les ordres à cours limité. Mais pour les ordres stop seulement ORDER_FILLING_RETURN.
 
fxsaber:

L'expiration n'a rien à voir avec cela. Faites-le comme ceci

Cela montre un bug en fait
Tous les modes de remplissage sont autorisés et ils fonctionnent pour les marchés et les limites. Mais pour les ordres stop, seulement ORDER_FILLING_RETURN.

Merci pour le conseil, ça marche comme ça.

 

Pour une raison quelconque, l'intelligence ne fonctionne pas lorsque l'on pointe vers un contexte global, par exemple en tapant

::StringToTime()

l'infobulle n'apparaît qu'après la saisie complète du nom de la fonction :

Alors que dans le contexte de la classe, l'alliance fonctionne :


 

Un étrange problème est apparu dans MT5 v1607, je teste sur des ticks réels, lorsque je teste dans le testeur de stratégie dans la revue de marché, le testeur montre la date 2017.03.07 et l'heure du dernier tick 11:01, cependant dans le journal il y a des opérations déjà 2017.03.09, alors que le testeur semble se bloquer comme s'il était immobile, qui a eu une expérience similaire et comment est-il traité ?

 

Voici un code simple comme celui-ci :

void CloseAllOrders()
{
bool Ans;
int i=0;
   for(i=1; i <=OrdersTotal(); i++)     
      {      
      Print("Проход № ", i);      
      if (OrderSelect(i-1,SELECT_BY_POS)==true) 
         {  
         if (OrderSymbol() != Symbol())
            continue;
         if (OrderType()==0)
	     {
//            Ans=OrderClose(OrderTicket(),OrderLots(), NormalizeDouble(Bid,Digits),25);
             }           
         if (OrderType()==1)
             {
//            Ans=OrderClose(OrderTicket(),OrderLots(), NormalizeDouble(Ask,Digits),25);
             } 
         }
      }      
         
return;
   
}

Au moment où la fonction est lancée, deux positions d'achat sont ouvertes. La fonction imprime deux fois la présence de deux commandes : Passage 1, Passage 2.

Nous supprimons les commentaires et exécutons à nouveau la fonction. Il exécute vigoureusement un ordre d'achat, déclare "Passage #1" et quitte la boucle. Le message "Passage #2" n'apparaît pas.

Quelle est la magie ?


 
nys2000:

Quelle est la magie ?


Le mauvais cycle
 
Artyom Trishkin:
Dans le mauvais cycle

Pourriez-vous être plus précis ?

 
nys2000:

Pourriez-vous être plus précis ?


partir de zéro