Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 6. - page 909

 
halk2009:

Bonjour,

Pourriez-vous me dire pourquoi il y a des avertissements - conversion implicite de 'string' en 'number' et conversion implicite de 'number' en 'string' dans les emplacements de variables (après la commande int et ensuite après le message). Il doit s'agir d'un seul et même avertissement ? Je suis peu versé dans la programmation.

Et dites-moi encore, est-ce mauvais si le code fonctionne mais qu'il n'y a que des avertissements ?


Fragment de code :

Et lisez la différence entre une chaîne de caractères et un entrelaceur. Vous devriez probablement déclarer les variables comme étant de type chaîne de caractères si elles doivent être sorties.

string  sell1 = DoubleToStr( (Bid - Price_Line)/Point,0);
string  sell2=DoubleToStr( (Bid - Price_Line2)/Point,0);
string  rsi=DoubleToStr(ExtRSIBuffer[0] - Price_RSI_Line, 2);
 
evillive:

Lisez la différence entre chaîne de caractères et entrelaceur, vous devriez probablement déclarer les variables en tant que type chaîne de caractères si elles sont destinées à la sortie.

Oui !) J'ai déjà compris, je l'ai corrigé, mais seule une partie des avertissements a disparu. Mais dans le code où TimeCurrent()... , sell1>0... , sell2>0... rsi>0 - l'avertissement concernant la conversion implicite de 'nombre' en 'chaîne' reste
.
 
halk2009:
Oui !) J'ai déjà compris cela, je l'ai corrigé, mais seule une partie de l'avertissement a disparu. Mais où dans le code TimeCurrent()... , sell1>0... , sell2>0... rsi>0 - l'avertissement concernant la conversion implicite de 'nombre' en 'chaîne' reste
.

Il faut donc convertir le type de données en fonction du type de variables dans lesquelles vous écrivez les données.
 
Bonjour. Je ne comprends pas, si l'objet bouton est réglé sur la couleur de fond (bleu) et la couleur du cadre (rouge), je ne peux pas voir s'il est cliqué ou non. La documentation ne mentionne pas le changement de couleur en cas de clic.
 
evillive:
Donc, convertissez le type de données au type de variables dans lesquelles vous les écrivez.

J'ai mis des zéros entre guillemets doubles, et sur la sortie de la date, j'ai écrit à travers la chaîne variable MT_time = TimeToString(TimeCurrent()) ;

Merci ! Maintenant tout fonctionne !

 
Comment puis-je connaître les restrictions relatives aux symboles (accès complet, fermeture uniquement, etc.) ? Bien sûr par programme, mais je ne sais pas non plus comment le faire avec mes yeux.
 
joo:
Comment puis-je connaître les restrictions relatives aux symboles (accès complet, fermeture uniquement, etc.) ? Bien sûr par programme, mais je ne sais pas comment le faire avec mes yeux.

Eye - dans la liste des symboles pour regarder l'info-bulle lorsque le curseur est placé sur le symbole.


Et le symbole interdit au commerce est souvent peint de façon plus pâle, mais cela dépend du concessionnaire.

De manière programmée :

if(SymbolInfoInteger(_Symbol,SYMBOL_TRADE_MODE)==SYMBOL_TRADE_MODE_DISABLED)
    Print("Торговать '",_Symbol,"' запрещено, только чтение");
 

Les gars, s'il vous plaît, aidez-nous. Je suis en train d'écrire mon premier EA, qui est incroyablement simple, mais il y a quelque chose qui ne va pas.

1. il donne 2 avertissements.

2) Il ne permet pas d'ouvrir des ordres. Il y a une erreur dans les données stochastiques, je l'ai corrigée mais cela me donne toujours la même erreur.

Aidez-moi, s'il vous plaît.

 

Bon après-midi, une partie du code ci-dessous, les imprimantes passent - toutes, indépendamment de l'ordre existant, sur Commment la valeur de l'interdiction"Stop....." tout le temps 0. Qu'est-ce qui ne va pas dans la boucle, veuillez me conseiller. Dans le testeur.

for (index=0;index<total;index++)
{
if(OrderSelect(index,SELECT_BY_POS)==true && OrderSymbol()==Symbol())
{
if(OrderType()==OP_SELL||OrderType()==OP_SELLSTOP) StopOpenOrderSell=true;Print("Есть селл");
if(OrderType()!=OP_SELL||OrderType()!=OP_SELLSTOP) StopOpenOrderSell=false;Print("Нет селл");
if(OrderType()==OP_BUY||OrderType()==OP_BUYSTOP) StopOpenOrderBuy=true;Print("Есть бай");
if(OrderType()!=OP_BUY||OrderType()!=OP_BUYSTOP)StopOpenOrderBuy=false;Print("Нет бай");
}
}
 
Pokrov:

Bon après-midi, une partie du code ci-dessous, les imprimantes passent - toutes, indépendamment de l'ordre existant, sur Commment la valeur de l'interdiction"Stop....." tout le temps 0. Qu'est-ce qui ne va pas dans la boucle, merci de me le dire. Dans le testeur.

Les parenthèses sont manquantes.

for (index=0;index<total;index++)
{
if(OrderSelect(index,SELECT_BY_POS)==true && OrderSymbol()==Symbol())
{
if(OrderType()==OP_SELL||OrderType()==OP_SELLSTOP) {StopOpenOrderSell=true;Print("Есть селл");}
if(OrderType()!=OP_SELL||OrderType()!=OP_SELLSTOP) {StopOpenOrderSell=false;Print("Нет селл");}
if(OrderType()==OP_BUY||OrderType()==OP_BUYSTOP) {StopOpenOrderBuy=true;Print("Есть бай");}
if(OrderType()!=OP_BUY||OrderType()!=OP_BUYSTOP){StopOpenOrderBuy=false;Print("Нет бай");}
}
}