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

 
ikatsko:
Pourquoi la commande Print(TimeToStr(Time[0],TIME_MINUTES)) ; donne-t-elle un résultat comme 12:00[sl] ? Le problème ici est le préfixe entre crochets. Et comment obtenir un résultat sans parenthèses ? (Merci d'avance.)

Vous êtes sûr ? Il est généralement ajouté au commentaire de l'ordre lors de la clôture au stop. [tp] est ajouté lors de la fermeture à la prise.

J'ai mis votre ligne dans un modèle d'EA vide et je l'ai exécuté dans le testeur à M15 en ouvrant les prix:


Pas de votre [sl].
 
Sepulca:


Exact, ne pas diviser par zéro))))
Vous devriez prévoir une condition interdisant la division par zéro, c'est tout. Bien que je ne sois pas un programmeur de haut niveau, je n'oublie pas ces choses, malgré le fait qu'exel n'a que 7 sauts conditionnels possibles.
 
ikatsko:
Pourquoi la commande Print(TimeToStr(Time[0],TIME_MINUTES)) ; donne-t-elle un résultat comme 12:00[sl] ? Le problème ici est le préfixe entre parenthèses. Et comment obtenir un résultat sans parenthèses ? (Merci d'avance.)

Salutations, je me souviens que quelque part nous avons collaboré et nous nous sommes touchés et vous avez répondu à ma demande. Merci.
 
artmedia70:

Vous êtes sûr ? Il est généralement ajouté au commentaire de l'ordre lors de la clôture au stop. [tp] est ajouté lors de la fermeture à la prise.

J'ai collé votre ligne dans un modèle d'EA vide et l'ai exécuté dans le testeur à M15 sur des prix ouverts :


Pas de votre [sl]


Oui, vous avez raison. En effet, la commande a été mise après SL. Je vois. Merci.

 

Salut à tous ! !! J'ai un EA qui ouvre des ordres contre le mouvement, comment changer ou conseiller où changer ? ???

void modify_orders( int type )
{
int i ;
datetime time_last = 0, time_first = TimeCurrent() ;
double SPREAD = MarketInfo(Symbol(),MODE_SPREAD)*MarketInfo(Symbol(),MODE_POINT), op_pr_last, op_pr_first, level ;

for( i = OrdersTotal() - 1 ; i >= 0 ; i-- )
{
OrderSelect(i,SELECT_BY_POS,MODE_TRADES) ;
if( OrderMagicNumber() == ID && OrderType() == type )
{
if ( OrderOpenTime() > time_last )
{
op_pr_last = OrderOpenPrice() ;
time_last = OrderOpenTime() ;
}
si ( OrderOpenTime() < time_first )
{
op_pr_first = OrderOpenPrice() ;
time_first = OrderOpenTime() ;
}
}
}


if ( type == 0 )level = op_pr_last + MathAbs(op_pr_last-op_pr_first) * (SL/100) ;
if ( type == 1 )level = op_pr_last - MathAbs(op_pr_last-op_pr_first) * (SL/100) ;

for( i = OrdersTotal() - 1 ; i >= 0 ; i -- )
{
OrderSelect(i,SELECT_BY_POS,MODE_TRADES) ;
if( OrderMagicNumber() == ID && OrderType() == type && NormalizeDouble(OrderTakeProfit(),Digits) != NormalizeDouble(level,Digits) )OrderModify(OrderTicket(),OrderOpenPrice(),OrderStopLoss(),level,0) ;
}
}

double last_trade( int t )
{

 
KeinRich:

Salut à tous ! !! Mon EA ouvre des ordres contre le mouvement, comment puis-je changer ou indiquer où changer ???


Qu'est-ce que cela a à voir avec la fonction de modification, qui n'est pas non plus très bien écrite ?
 
Existe-t-il une combinaison de touches de raccourci pour faire apparaître la fenêtre d'alerte lorsqu'elle est fermée ?
 
Veuillez me dire comment dessiner une flèche avec un objet LABEL en utilisant une police Wingdings.
 
Neo333:
Existe-t-il une combinaison de touches de raccourci pour faire apparaître la fenêtre d'alerte lorsqu'elle est fermée ?
Vous pouvez regarder dans le journal de bord.
 
zfs:
Dites-moi comment dessiner une flèche à l'aide de l'objet LABEL, en utilisant la police Wingdings.
//+----------------------------------------------------------------------------+
void SetArrow(int cd, color cl, string nm="", datetime t1=0, double p1=0, int sz=0) {
   if (ObjectFind(nm)<0) ObjectCreate(nm, OBJ_ARROW, 0, 0, 0);
   ObjectSet(nm, OBJPROP_TIME1    , t1);
   ObjectSet(nm, OBJPROP_PRICE1   , p1);
   ObjectSet(nm, OBJPROP_ARROWCODE, cd);
   ObjectSet(nm, OBJPROP_COLOR    , cl);
   ObjectSet(nm, OBJPROP_WIDTH    , sz);
}
//+----------------------------------------------------------------------------+

Appelé pour dessiner un crâne rouge sur la bougie actuelle au prix de l'offre, taille 1 en utilisant la flèche :

SetArrow(78, Red, "Scull", Time[0], Bid, 1);

Il s'agit de la fonction permettant d'afficher le texte. Ils sont similaires. Essayez d'en fabriquer un vous-même pour sortir le marqueur.

//+----------------------------------------------------------------------------+
void SetArrowText(string text, color cl, string font="Arial", string nm="", datetime t1=0, double p1=0, int sz=0) {
   if (ObjectFind(nm)<0) ObjectCreate(nm, OBJ_TEXT, 0, 0, 0);
   ObjectSet(nm, OBJPROP_TIME1    , t1);
   ObjectSet(nm, OBJPROP_PRICE1   , p1);
   ObjectSetText(nm, text,sz, font, cl);
}
//+----------------------------------------------------------------------------+
Raison: