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

 
moskitman:

Messieurs, j'ai soudainement rencontré un problème. De façon tout à fait inattendue. Je veux dire où je ne m'y attendais pas...

Je veux vérifier le niveau du stop loss sur le symbole actuel de cette façon :

mais pendant le test j'obtiens zéro sur l'écran.

Tout en remplaçant MODE_STOPLEVEL par MODE_SPREAD, à savoir

Produit un chiffrehumain normal.

Alpari, cinq chiffres, spread flottant. Leur stoplevel peut être égal à zéro ? Je ne pense pas...


Il est environ sur NDD et sur alpari, bien que je ne me souvienne pas exactement, il ne semble pas y en avoir d'autres.

C'est-à-dire qu'ils sont autorisés à travailler dans le cadre de l'écart, je pense.

 
Vérifiez lespropriétés du symbole dans le testeur pour voir le niveau d'arrêt.
 
rigonich:

Il est environ sur NDD et sur alpari, bien que je ne me souvienne pas exactement, il ne semble pas y en avoir d'autres.
Très étrange... Pourquoi alors mon code n'a-t-il pas été autorisé à ouvrir des ordres avec des stops à deux spreads si stoplevel=0 ?
 
YOUNGA:
Vérifiez les propriétés du symbole dans le testeur et il y a un niveau d'arrêt

Putain d'arrêt niveau 0...

Merci, je deviens débile dans la soirée. )))

 
moskitman:
Non. La démo est sur le serveur Alpari-Demo. Les arrêts en une fois avec un ordre sont autorisés.
Je viens de vérifier, STOPLEVEL == 0.
 
TarasBY:
Vérifiez-le avec celui-ci. Je viens de vérifier, même si c'est petit, c'est STOPLEVEL.


Au fait, je me suis longtemps posé cette question, mais je ne l'ai jamais trouvée, j'ai juste oublié. Où le testeur obtient-il les valeurs de STOPLEVEL ? Si les valeurs réelles peuvent être modifiées par le serveur, alors le résultat du test devrait dépendre de l'heure du test, ce qui n'est pas le cas, j'ai vérifié. Ou bien la valeur stockée dans les propriétés du symbole et la valeur donnée par le serveur à la demande ne sont pas les mêmes ?
 
TarasBY:
Vérifiez-le avec celui-ci. Je viens de jeter un coup d'œil, et bien que petit, c'est STOPLEVEL.
Merci, j'ai vérifié, je me suis assuré - les lignes traînent sur le bidet et l'aske.
 
en attendant la mise à jour - une phrase apparaît sur le graphique après quoi la carte surcharge et réinitialise toutes les variables - comment l'éviter ?
 
YOUNGA:
en attendant la mise à jour - une phrase apparaît sur le graphique après quoi la carte surcharge et réinitialise toutes les variables - comment l'éviter ?

Décochez la case dans les paramètres pour désactiver l'EA lorsque vous modifiez le graphique.
 

rigonich

C'est une sorte de blague ou quoi ? Où est-ce que vous riez ?

TarasBY

Vous ne pouvez pas ? Eh bien, tu n'aurais pas dû.

J'ai écrit en russe - il n'y a presque rien sur la déclaration des variables globales dans le manuel. Par exemple, je ne sais pas ce qu'est fGet_MineGV() ;

Est-ce une fonction ? Si c'est le cas, que fait-il ? La recherche de fGet dans le manuel ne donne aucun résultat.

Que dois-je déclarer dans int init() ? Vous avez écrit :

{
fGet_MineGV() ;
}


Ici, dans mon EA, l'initialisation de l'init ressemble à ceci :

int init()
{
ArrayInitialize(buf3,0) ;
ArrayInitialize(b1,0) ;
ArrayInitialize(b2,0) ;
ArrayInitialize(b3,0) ;
ArrayInitialize(b4,0) ;


Comment("Calcul de la valeur moyenne "+ind) ;
m1=NormalizeDouble(iCustom(NULL,tf,ind+"_a",0,0),2) ;
string d="Average value "+ind+""+DoubleToStr(m1,2) ;
tm=TimeCurrent() ;
int q=0,ticket=-1 ;
double opr=0,lot1=0 ;
for(q=0;q<OrdersTotal();q++)
{

et ainsi de suite, 100 lignes supplémentaires. Où exactement, à quel endroit et surtout, que dois-je déclarer ici ? Est-ce vraiment si difficile d'écrire en russe ? Tordons nos doigts, ouais.

Raison: