[Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas votre chemin. Je ne peux aller nulle part sans toi. - page 885

 
Max747:
Personne n'a été capable de me donner une réponse... Quelqu'un a-t-il une idée ?

Vous devez peut-être vérifier les types PARASTEP et PARAMAX et leurs valeurs.
 
valenok2003:

Est-ce la seule option ?

1) écrire dans un fichier

2) rechercher la commande requise et lire le ticket

 

Le problème suivant a été rencontré de manière inattendue :

J'ai écrit un EA dont l'une des fonctions est d'ouvrir des ordres en attente. Mais avant d'ouvrir un autre ordre en attente, le programme interroge les ordres déjà placés (prix) et n'en ouvre un nouveau que s'il n'y a pas d'ordre déjà placé avec le même prix. Je travaille sur l'EURUSD.

for (Price=Max_Price-Step*Point ; Price>Ask+10*Point ; Price=Price-Step*Point) // passer du prix maximum au prix actuel
{
int N=0 ; //compteur de commandes
for (int i=1 ; i<=OrdersTotal() ; i++) // boucle à travers les ordres
{
if(OrderSelect(i-1,SELECT_BY_POS)==true) //sélectionne l'ordre
{ //analyse l'ordre ouvert
if (Price==OrderOpenPrice()) //si le prix est le même
{
N=N+1 ;
}
} //sélectionner le prochain ordre ouvert
}
if(N==0) //si aucun ordre avec le même prix n'est trouvé
{ //ouvrir l'ordre
Alert("New BUYSTOP ", Price) ;
int Ticket=OrderSend(Symb, OP_BUYSTOP, Lot, Price, 0, 0, Price+TP*Point) ;
if (GetLastError()>0)
Alert("Error ", GetLastError()) ;
}
} //Come to market

Tout va bien jusqu'à ce que le maximum soit de 1.3980, mais dès que je fixe 1.4000 le programme ne voit plus les ordres avec le même prix (le compteur N reste nul) et génère les mêmes ordres.

Il est intéressant de noter que si nous fixons le prix maximum à 1,5000, alors jusqu'à 1,4000 tout est normal et à partir de 1,3980 commence la duplication des ordres avec le même prix.

QU'EST-CE QUE ÇA PEUT ÊTRE ????????

Et la situation se répète sur la plateforme d'un autre centre de négociation

Dossiers :
 


Je fonctionne dans le testeur, je ne comprends pas pourquoi cette erreur peut apparaître : OrderModify error 1 (Pas d'erreur, mais le résultat est inconnu).

J'utilise la fonction chalut, il n'y a rien d'autre, je vérifie à la fois le niveau du stop min et la taille du point et tout ce qui est nécessaire, l'erreur n'apparaît pas toujours.

S'agit-il d'une erreur grossière ou est-il tolérable de l'exécuter sur un compte réel ?

 
Infinity:


Je l'ai essayé dans le testeur, je ne sais pas où cela peut causer l'erreur OrderModify error 1 (Pas d'erreur, mais le résultat est inconnu).

J'utilise la fonction chalut, il n'y a rien d'autre, je vérifie le niveau du stop min et la taille du point et tout ce qui est nécessaire, l'erreur n'apparaît pas toujours.

J'ai testé dans le testeur, je n'arrive pas à comprendre de quel type d'erreur il s'agit.


https://docs.mql4.com/ru/trading/OrderModify il est dit ici au sujet de cette erreur
 

Voici la fonction :

double ObFindObjectsByPrefix(string Prefix)
{

string OBJECT_PREFIX="LEVELS" ;
double price_max ;
int L = StringLen(Prefix) ;
int i = 0 ;
int time_min=TimeCurrent() ;
while(i < ObjectsTotal()-1)
{
string ObjName = ObjectName(i) ;
if(StringSubstr(ObjName, 0, L) != Prefix)
{
i++ ;
continue ;
}
double price=ObjectGet(ObjName,OBJPROP_PRICE1) ;
if (MathAbs(price-Bid)/Point<m)
{
int time1=ObjectGet(ObjName,OBJPROP_TIME1) ;
if (time1<time_min)
{
time_min=time1 ; price_max=price ;
}
}
}
return(price) ;
}

qu'est-ce qui ne va pas, pourquoi ça ne marche pas ?

recherche le segment le plus long avec un préfixe et renvoie la valeur du prix.

 
https://www.mql5.com/ru/code/8976 Auriez-vous par hasard un fichier .dll normal et fonctionnel pour cet indicateur ? Je ne peux pas le compiler moi-même(
 

Les gens, où dois-je écrire pour que MT5 fasse une traduction décente en allemand ? C'est une honte... Il permet de "sauvegarder" (enregistrer) des fichiers au format CSV, de sélectionner des sons pour différents "événements" (events) et de terminer les programmes en cliquant sur "Exit" (depuis le bâtiment, pas depuis le programme)

 
valenok2003:

Vous devrez peut-être vérifier les types PARASTEP et PARAMAX et leurs valeurs.
Ils ne changent pas parce que ce sont des types externes. Les valeurs ont été choisies sur le graphique lui-même avec l'indicateur ensemble !
 
YDzh:

Les gens, où dois-je écrire pour que MT5 fasse une traduction décente en allemand ? C'est une honte... Il est possible de "sauvegarder" (enregistrer) des fichiers au format CSV, de choisir des sons pour différents "événements" (events) et de terminer les programmes en appuyant sur "Exit" (depuis le bâtiment, pas depuis le programme)


Si vous ne pouvez pas écrire dans le forum de mql5.com, il n'y a qu'une seule solution : écrire à l'ONU.

PS. Nous sommes déjà en train de corriger l'interface allemande en postant sur le forum mql5.com. Merci pour le message.

Raison: