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

 
kosolapov:
Pouvez-vous me dire comment comparer le prix actuel de la barre actuelle avec le prix maximum de la barre précédente ?

Bid - prix actuel de la barre en cours,

High[1] - prix maximum de la barre précédente

 

Mes amis, comment est-ce possible ? Un phénomène incompréhensible de la nature est capturé dans la capture d'écran.


 
artmedia70:

Peut-être savez-vous pourquoi lors de la visualisation le code renvoie la variable angle_line (renvoie l'angle normalement), mais lors du test et de l'exécution il ne le fait pas (renvoie le 0ème angle). Merci !

//+------------------------------------------------------------------+
int start()
{
//----

ObjectCreate("LineAngle", OBJ_TRENDBYANGLE, 0, 0,0) ;
ObjectSet("LineAngle", OBJPROP_TIME1, Time[2] ;
ObjectSet("LineAngle", OBJPROP_PRICE1, Close[2] ;
ObjectSet("LineAngle", OBJPROP_TIME2, Time[0] ;
ObjectSet("LineAngle", OBJPROP_PRICE2, Open[0]) ;

double angle_line=ObjectGet("LineAngle",OBJPROP_ANGLE) ;

Print(" angle_line ",angle_line) ;

retour(0) ;
}
//+------------------------------------------------------------------+

 
kosolapov:
Pouvez-vous me dire comment comparer le prix actuel de la barre actuelle avec le prix maximum de la barre précédente ?
if (Close[0] < High[1]) {

   ...

}
 
Existe-t-il un moyen de suivre toutes les actions de l'EA, c'est-à-dire la création de variables, l'attribution de valeurs à celles-ci, la comparaison des conditions, etc.
 
001:

Peut-être savez-vous pourquoi lors de la visualisation le code renvoie la variable angle_line (renvoie l'angle normalement), mais lors du test et de l'exécution il ne le fait pas (renvoie le 0ème angle). Merci !

//+------------------------------------------------------------------+
int start()
{
//----

ObjectCreate("LineAngle", OBJ_TRENDBYANGLE, 0, 0,0) ;
ObjectSet("LineAngle", OBJPROP_TIME1, Time[2] ;
ObjectSet("LineAngle", OBJPROP_PRICE1, Close[2] ;
ObjectSet("LineAngle", OBJPROP_TIME2, Time[0] ;
ObjectSet("LineAngle", OBJPROP_PRICE2, Open[0]) ;

double angle_line=ObjectGet("LineAngle",OBJPROP_ANGLE) ;

Print(" angle_line ",angle_line) ;

retour(0) ;
}
//+------------------------------------------------------------------+


Aucun objet n'est construit pendant les tests et l'optimisation
 
Vinin:

Les objets ne sont pas construits pendant les tests et l'optimisation

Comment puis-je trouver l'angle d'une ligne droite dans un EA dans de tels cas ?
 
001:

Comment trouver l'angle d'une ligne droite dans de tels cas, dans l'EA ?

Compte. Tout le monde a étudié l'arithmétique
 
Bonsoir, l'erreur 4051 est écrite après une longue exécution normale, et soudainement, à environ 200 reprises, l'ordre en attente n'est pas placé. L'erreur 4051 est
Valeur non valide d'un paramètre de fonction

Il écrit aussi beaucoup de choses handicapées. Je calcule le volume du lot*A, où extern double volume=0.1 ; A=NormalizeDouble(A,0) ;

Voici, pour l'ordre, l'ensemble de la commande

 tiket= OrderSend( Symbol(), OP_BUYSTOP,  volume*A, Price +otstup*Point,Point * 3, R1, Price+takeprofit*Point+otstup*Point, "OP_BUYSTOP", 1000,  expiration, Red); 
   Alert ("OP_BUYSTOP", GetLastError( ));  }M=0;
   if (GetLastError( )!=0){Alert ("tiket",tiket," volume*A ",volume*A," Price +otstup*Point ",Price +otstup*Point," Price+takeprofit*Point+otstup*Point ",Price+takeprofit*Point+otstup*Point);}

Et A prend des valeurs comprises entre un et seize...

 
Je suis perdue ! !! Qu'est-ce qu'il manque ? Oui, et la dernière alerte ne fonctionne pas... Et ceci aussi.
if (GetLastError( )!=ERR_NO_ERROR){Alert ("t