[ARCHIVE !] Toute question de débutant, pour ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 4. - page 42
Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
Les DoCs ont-ils une limite sur le nombre de transactions ?
Certains ont non seulement une limite sur le nombre d'offres, mais même une limite sur le nombre de demandes.
Ils sont de tels inventeurs ! :-))
Les autres restent ouverts jusqu'à la fin du test, bien qu'une fermeture conditionnelle d'un ordre doive avoir lieu lorsqu'un autre est ouvert.
Une autre question concernant les erreurs 4051 et 134 lors de l'utilisation de OrderClose(), que signifient-elles ? J'ai copié les informations du journal.
La dernière option semble avoir plus ou moins bien fonctionné. Bien qu'il soit possible de simplifier les calculs
Veuillez me conseiller ! Comment puis-je fermer deux ordres en attente avec la même magie, mais avec un lot différent.
int start()
{
double MyLastBullOpenPrice=0 ;
for(int Cnt=0;Cnt<OrdersTotal();Cnt++)
{
OrderSelect(Cnt,SELECT_BY_POS,MODE_TRADES) ;
if(OrderMagicNumber()==12345 && OrderType()==OP_BUY)
{
MyLastBullOpenPrice=OrderOpenPrice() ;
double Cena=OrderOpenPrice()+5*Point ;
double Totalcena= Bid ;
if (Totalcena>Cena)
{
if (OrdersTotal()>0)
{ for (int i=OrdersTotal()-1 ; i>=0 ; i--)
{ si (OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true)
{Si(OrderMagicNumber()==12345)
{ if(OrderDelete(OrderTicket())==true)
{
Print("Error = ",GetLastError()) ; return(0) ;
}
} } } }
}
}
return(MyLastBullOpenPrice) ;
}
Les autres restent jusqu'à la fin du test, bien qu'une fermeture conditionnelle d'un ordre doive avoir lieu lorsqu'un autre est ouvert.
Une autre question concernant les erreurs 4051 et 134 lors de l'utilisation de OrderClose(), que signifient-elles ? J'ai copié les informations du journal.
134 - pas d'argent, 4051 - mauvais paramètres passés à la fonction.
Quant au point - vérifiez que la variable magick n'est assignée qu'une seule fois, de préférence dans la fonction init(), sinon, chaque commande aura sa propre magick et le résultat sera quelque chose comme ce que vous décrivez.
Veuillez m'aider à ajouter (ou écrire) une fonction de substitution de caractères pour une chaîne de caractères à travers des tableaux.
Ayez deux tableaux de caractères :
string symbols1[] = {"a", "b", "c", "d"} ;string symbols2[] = {"1", "2", "3", "4"} ;
J'ai essayé d'écrire une fonction qui remplacerait le texte badc par 2143, sur la base des tableaux, et j'ai obtenu ce résultat :
string ReplaceSymbolsInStr(string text){
string textMod[] ={""};
string symbols1[] = {"a","b","c","d"};
string symbols2[] = {"1","2","3","4"};
int textLen = StringLen(text);
for (int i1=0; i1<textLen; i1++)
{
string OneSymbol = StringSubstr(text,i1,1);
for (int i2=0; i2<ArraySize(symbols1); i2++)
{
if (symbols1[i2]==OneSymbol) int PosSymbolIn1array=i2;
}
return(-1);
string OneSymbolMod = symbols2[PosSymbolIn1array];
int NewArraySize = ArraySize(textMod)+1;
ArrayResize(textMod,NewArraySize);
textMod[i1]=OneSymbolMod;
string textNew;
textNew=StringConcatenate(textMod[1],textMod[2]...);//собрать массив в строку вообще не могу :(
return (textNew);
}
}
Je sais que c'est faux et je n'arrive pas à assembler le tableau en une chaîne de caractères. Aidez-moi, s'il vous plaît.
Certains ont non seulement une limite sur le nombre d'offres, mais même une limite sur le nombre de demandes.
Ils sont de tels inventeurs ! :-))
Veuillez m'aider à ajouter (ou écrire) une fonction de substitution de caractères dans une chaîne de caractères par le biais de tableaux.
Ayez deux tableaux de caractères :
string symbols1[] = {"a", "b", "c", "d"} ;string symbols2[] = {"1", "2", "3", "4"}
J'ai essayé d'écrire une fonction qui remplacerait le texte badc par 2143, sur la base des tableaux, et j'ai obtenu ce résultat :
string ReplaceSymbolsInStr(string text){
string textMod[] ={""};
string symbols1[] = {"a","b","c","d"};
string symbols2[] = {"1","2","3","4"};
int textLen = StringLen(text);
for (int i1=0; i1<textLen; i1++)
{
string OneSymbol = StringSubstr(text,i1,1);
for (int i2=0; i2<ArraySize(symbols1); i2++)
{
if (symbols1[i2]==OneSymbol) int PosSymbolIn1array=i2;
}
return(-1);
string OneSymbolMod = symbols2[PosSymbolIn1array];
int NewArraySize = ArraySize(textMod)+1;
ArrayResize(textMod,NewArraySize);
textMod[i1]=OneSymbolMod;
string textNew;
textNew=StringConcatenate(textMod[1],textMod[2]...);//собрать массив в строку вообще не могу :(
return (textNew);
}
}
Je sais que c'est faux et je n'arrive pas à assembler le tableau en une chaîne de caractères. Aidez-moi, s'il vous plaît.
Vous êtes censé avoir trouvé l'index du caractère dans le tableau de remplacement, alors pourquoi créer un autre tableau ?
Essayez de l'ajouter à une variable de texte brut dans la première boucle :
chaîne ReplaceSymbolsInStr(chaîne texte)
{string symbols1[] = {"a", "b", "c", "d"} ;
string symbols2[] = {"1", "2", "3", "4"};
chaîne de caractères textNew="" ;
int textLen = StringLen(text) ;
for (int i1=0 ; i1<textLen ; i1++)
{
string OneSymbol = StringSubstr(text,i1,1) ;
for (int i2=0 ; i2<ArraySize(symbols1) ; i2++)
{
if (symbols1[i2]==OneSymbol) {textNew = textNew + symbols2[ i2 ]; i2=ArraySize(symbols1) ; }
}
}
return (textNew) ;
}
Ou c'est encore plus simple comme ça :
chaîne ReplaceSymbolsInStr(chaîne texte)
{string symbols1[4] = {"a", "b", "c", "d"} ; // taille du tableau en fonction du nombre de symboles qu'il contient
chaîne de caractères textNew="" ;
for (int i1=0 ; i1< StringLen(text) ; i1++)
{
string OneSymbol = StringSubstr(text,i1,1) ;
for (int i2=0 ; i2<ArraySize(symbols1) ; i2++)
{
if (symbols1[i2]==OneSymbol )
{
textNew = textNew + (i2+1); // le numéro du symbole lui-même est ajouté au texte renvoyé
i2=ArraySize(symbols1) ; // a terminé la boucle de recherche
}
}
}
return (textNew) ;
}
Bonne journée !
Pourriez-vous me conseiller (ou me donner un lien d'exemple) sur la manière d'envoyer automatiquement des données au format csv par e-mail ?
Merci.