[Archive] Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Je ne peux aller nulle part sans toi - 2. - page 252

 
kon12:

Chers professionnels, pourriez-vous conseiller... J'utilise le dessin de ligne dans l'indicateur :

Le problème est que lorsque je passe à une autre période, les lignes sont tracées selon les nouveaux paramètres, mais les anciennes ne sont pas supprimées. Que dois-je ajouter et où dois-je le mettre pour que, lorsque je passe à une autre période, les anciennes lignes ne soient pas tracées ? Merci...
Vous devez définir deinit pour supprimer les anciennes lignes.
 

Dites-moi ce qui ne va pas :

double ordre=AccountEquity()/4100 ;

...

ticket=OrderSend(Symbol(),OP_BUY,NormalizeDouble(order,2),Ask,10,Ask-SL*10*Point,Ask+SL*20*Point, "buy_order",1,0,Green) ;


qu'il donne : 2011.03.08 16:35 ScaplerM5 EURUSD,M5 : Erreur OrderSend 4051
2011.03.08 16:35 ScaplerM5 EURUSD,M5 : montant invalide pour la fonction OrderSend

 
AndrejFX:

Dites-moi ce qui ne va pas :

double ordre=AccountEquity()/4100 ;

...

ticket=OrderSend(Symbol(),OP_BUY,NormalizeDouble(order,2),Ask,10,Ask-SL*10*Point,Ask+SL*20*Point, "buy_order",1,0,Green) ;


qu'il donne : 2011.03.08 16:35 ScaplerM5 EURUSD,M5 : Erreur OrderSend 4051
2011.03.08 16:35 ScaplerM5 EURUSD,M5 : montant des lots invalide pour la fonction OrderSend

Probablement, la taille du lot est plus petite que celle autorisée.

Par exemple, si le lot minimum autorisé est de 0,1, mais que votre lot est de 0,09.....

 

Bonsoir à tous !

Pouvez-vous me dire si TimeCurrent() ; - renvoie la dernière heure connue du serveur, l'heure de la dernière cotation, ou la dernière arrivée d'un instrument ?

D'après mes données expérimentales, c'est la deuxième.

Je veux juste que quelqu'un le confirme !

Merci d'avance pour la réponse !

 
BBSL:

Bonsoir à tous !

Pouvez-vous me dire si TimeCurrent() ; - renvoie la dernière heure connue du serveur, l'heure de la dernière cotation, ou la dernière arrivée d'un instrument ?

D'après mes données expérimentales, c'est la seconde.

Je veux juste que quelqu'un le confirme !

Merci d'avance pour la réponse !

En fait, c'est le serveur actuel time.... qui a été reçu en dernier...
 
coronel:
En fait, c'est le serveur actuel time.... qui a été reçu en dernier...

Donc, pas l'heure de la dernière cotation pour une paire de devises donnée ?
 
BBSL:

D'après mes données expérimentales, la seconde...

Ouais.

C'est ce qui est indiqué dans l'aide - "dernière heure du serveur". Il n'est pas lié à une monnaie spécifique.

 
sergeev:

Oui.



Alors... Alors j'avais une question...

J'ai besoin dans init(e) d'utiliser une fonction qui collecte les ticks pour la devise actuelle...

J'ai résolu le problème comme suit .

double init_array[10];


int init (){

int count = 0;
int time = 0;
int size = ArraySize(init_array); 


time = TimeCurrent();

while (count != size){

if (time != TimeCurrent()){

time = TimeCurrent();

init_array [count] = Ask; 

count = count + 1;

}

}


}

Mais, si vous faites attention au code et à ma question, j'ai beaucoup de valeurs qui se répètent bêtement...

Que faire, comment faire pour que l'Expert Advisor réagisse uniquement à l'arrivée d'un nouveau tick pour un instrument donné.

J'ai une idée pour comparer i et i+1, mais si deux uns égaux arrivent à la suite, on perd une des valeurs.

Veuillez m'aider))

 
BBSL:

Que faire, comment faire en sorte que l'EA réagisse uniquement à l'arrivée d'un nouveau tick pour le symbole donné ?

supprimer pendant que

déplacer le code pour commencer

et les paramètres

int count = 0;
int time = 0;

à l'extérieur de

 
sergeev:
supprimer pendant que


Oui, vous pouvez, mais si l'expert est multidevise, cela ne résoudra pas le problème, n'est-ce pas ?

Pourtant, il est peut-être possible de résoudre ce problème dans l'inite).