[ARCHIVE !] Toute question de débutant, pour ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 4. - page 24

 
paladin80:
Si vous voulez que, avec 3 ordres déjà ouverts, les suivants (4, etc.) soient ouverts avec 2 x lots, alors
Oui, tout est correct, mais je dois tout mettre dans la deuxième condition, ces deux conditions sont activées et désactivées manuellement if (LotConst_ou_not) gd_200 = Lot ; (c'est la première condition)

else gd_200 = AccountBalance() * RiskPercent / 100.0 / 10000.0 ; (deuxième condition)

Maintenant, au lieu de mettre un lot d'équilibre, nous devrions corriger la condition où avec 3 ordres ouverts les suivants (4, etc.) s'ouvriront avec 2 lots. S'il existe des fonctions plus simples.

 
Pourriez-vous me dire comment fermer les ordres en attente lorsque le takeprofit d'un ordre au marché se déclenche ?
 

Bonjour !

Pouvez-vous me dire comment lire une chaîne de texte avec un certain nombre à partir d'un fichier.

En principe, je peux utiliser le code suivant :

StringSubstr(Text,0,16);

Par exemple, lire les 16 premiers caractères, mais si les lignes sont de longueurs différentes, et que j'ai besoin d'une correspondance

valeur1=ligne 1 ;

valeur2=ligne n°2 ;

Merci d'avance !

 

Veuillez suggérer un traitement de texte gratuit dans lequel vous pouvez déplacer une partie du texte sur une nouvelle ligne lorsque vous le remplacez.
Merci !

 
forexnew:

Bonjour !

Pouvez-vous me dire comment lire une chaîne de texte avec un certain nombre à partir d'un fichier.

En principe, je peux utiliser ce code :

Par exemple, lire les 16 premiers caractères, mais si les chaînes sont de longueurs différentes, et que j'ai besoin d'une correspondance

valeur1=ligne 1 ;

valeur2=ligne n°2 ;

Merci d'avance !



FileReadString(hwd) ;
 
artem86:
Pourriez-vous m'indiquer comment clôturer les ordres en attente lorsque le TakeProfit d'un ordre au marché se déclenche ?

Prenez la fonction Kim isCloseLastPosByTake().

S'il retourne vrai - le TP s'est déclenché.

Voir la fonction elle-même à l'adresse https://www.mql5.com/ru/forum/107476/page21#79908

 
FAQ:

FileReadString(hwd) ;

Dans ce cas, vous devez prescrire la longueur de la chaîne à lire, par ex :

Str=FileReadString(handle) ; Symbol1=StringSubstring(Str,0,6) ; //6 caractères

Str=FileReadString(handle) ; Symbol2=StringSubstring(Str,0,6) ; //6 symboles

Que faire si je ne connais pas la longueur de la chaîne ou si elle varie d'une ligne à l'autre ? C'est-à-dire que je dois "capturer" le texte de la chaîne entière.

 
forexnew:

Dans ce cas, vous devez prescrire la longueur de la chaîne à lire, par ex :

Str=FileReadString(handle) ; Symbol1=StringSubstring(Str,0,6) ; //6 caractères

Str=FileReadString(handle) ; Symbol2=StringSubstring(Str,0,6) ; //6 symboles

Que faire si je ne connais pas la longueur de la chaîne ou si elle varie d'une ligne à l'autre ? C'est-à-dire que je dois "capturer" le texte de la chaîne entière.


Honnêtement, je ne comprends pas bien quel est le problème...
Vous pouvez toujours vérifier la "longueur de la ligne":

int StringLen( string text) 
Возвращает число символов в строке
 
atztek:

Pour être honnête, je ne sais pas vraiment quel est le problème...
Vous pouvez toujours vérifier la "longueur de la ligne" :

Merci ! Ça marche.
 

Regardez attentivement le format de mon entrée, je n'y ai pas spécifié de longueur de ligne, puis lisez la description, encore une fois attentivement:

string FileReadString(int handle, int length=0)
La fonction lit une chaîne de caractères à partir de la position actuelle du fichier. S'applique aux fichiers CSV et binaires. Pour les fichiers texte, la chaîne sera lue avant le séparateur. Pour les fichiers binaires, un nombre spécifié de caractères sera lu dans la chaîne.
Pour obtenir des informations sur les erreurs, appelez la fonction GetLastError().
Paramètres :
poignée-Le descripteur de fichier renvoyé par FileOpen().
longueur-Nombre de caractères à lire.
Exemple :
 int handle ; string str ; handle=FileOpen("nomfichier.csv", FILE_CSV|FILE_READ) ;// if(handle>0) { str=FileReadString(handle) ;//ensuite, cette fonction lira jusqu'à la fin de la chaîne
FileClose(handle) ;

}


Raison: