[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 283

 
artmedia70:
Lorsque vous affichez les valeurs de la mémoire tampon à l'écran, que faites-vous ? Vous produisez des données numériques de toute façon. Si vous voulez afficher une chaîne vide, ou "Empty Value" ou "EMPTY_VALUE", affichez-les en tant que variables de type chaîne.
C'est-à-dire :
chaîne val ;
if(buffer value==EMPTY_VALUE) {val="EMPTY_VALUE";}
Mais si(valeur du tampon!=EMPTY_VALUE) {val=DoubleToString(valeur du tampon, 8);}
et afficher la valeur de la variable val au lieu de la valeur du tampon.
S[16]="SBUY="+ DoubleToStr(adxbuy,Digits)+", SSELL="+ DoubleToStr(adxsell,Digits)+", buydiv="+ DoubleToStr(lastbuydiv,Digits)+", selldiv="+ DoubleToStr(lastselldiv,Digits);
      
Voici comment je les ai édités
 

Cette queue est responsable de la sortie de ces données :

", buydiv="+ DoubleToStr(lastbuydiv,Digits)+", selldiv="+ DoubleToStr(lastselldiv,Digits);

D'abord comme ça :

string ValBuyDiv, ValSellDiv;
if (lastbuydiv=EMPTY_VALUE) ValBuyDiv="Пустое значение";
else ValBuyDiv=DoubleToStr(lastbuydiv,Digits);
if (lastselldiv=EMPTY_VALUE) ValSellDiv="Пустое значение";
else ValSellDiv=DoubleToStr(lastselldiv,Digits);

et ensuite remplacer la queue :

S[16]="SBUY="+ DoubleToStr(adxbuy,Digits)+", SSELL="+ DoubleToStr(adxsell,Digits)+", buydiv="+ ValBuyDiv+", selldiv="+ ValSellDiv;
 
bliznec1986:
Est-ce que quelqu'un a un collecteur de tick qui sauvegarde l'historique du tick comme suit : heure d'arrivée du tick, asc, bid ? La base de code n'a qu'un collecteur de tick sans asc.
Il y en a. Je ne le posterai pas. Utilisation d'une technologie secrète contre le saut de tique :-)) Y compris sans DDE.
 

A artmedia70 et granit77.

Vous êtes sévèrement réprimandés, messieurs. Tu n'aurais pas pu me l'expliquer ? ))))

Il m'a fallu deux jours pour résoudre un problème simple. ....

C'est ce que j'ai obtenu :

int SignalDiver(int tf)
 {
   for (int i=0; i<5; i++) {
      double UPdiver = iCustom(NULL,tf,"FX5_Divergence",2,i);
      double DNdiver = iCustom(NULL,tf,"FX5_Divergence",3,i);
      if (UPdiver!=EMPTY_VALUE)return(1);
      if (DNdiver!=EMPTY_VALUE)return(-1);
    }
  return(0);
 }

Maintenant, ça marche.

Merci.

Maintenant je peux aller sur l'île avec les filles....))))

 
Sergey_Rogozin:

A artmedia70 et granit77.

Vous êtes sévèrement réprimandés, messieurs. Tu n'aurais pas pu me l'expliquer ? ))))

Il m'a fallu deux jours pour résoudre un problème simple. ....

C'est ce que j'ai obtenu :

Cela fonctionne maintenant.

Merci.

Maintenant je peux aller sur l'île avec les filles....))))

Mais cette fois, c'est pour trois! :)))))))))
 
artmedia70:
Seulement cette fois pour trois! :)))))))))
Départ de Sheremetyevo demain 09:10.
Une cabine pleine de filles consentantes pour vous.
Bière et sauna déjà en place, cognac et whisky dans la cabine.
L'avion et l'équipage sont à vous jusqu'à dimanche minuit.
Reposez-vous bien. )))
 
Sergey_Rogozin:
Départ de Sheremetyevo demain 09:10.
Une cabine pleine de filles consentantes pour vous.
Bière et sauna déjà en place, cognac et whisky dans la cabine.
L'avion et l'équipage sont à vous jusqu'à dimanche minuit.
Reposez-vous bien. )))
О ! Ce ne sont pas les mots d'un enfant, mais d'un mari ! !! On y va... :))))))))))))))
 
Pour être plus précis : au lieu d'envoyer des données sur un nouveau SL, l'EA devrait juste le stocker dans des variables (ou ailleurs), et gaspiller, gaspiller, gaspiller, et quand le prix atteint un certain niveau (prix) pour envoyer un signal à DC pour fermer l'ordre, (une sorte de trailing stop virtuel avec un stop-loss virtuel) est-ce réel ?
 
Sergey_Rogozin:
Départ de Sheremetyevo demain 09:10.
Une cabine pleine de filles consentantes pour vous.
Bière et sauna déjà en place, cognac et whisky dans la cabine.
L'avion et l'équipage sont à vous jusqu'à dimanche minuit.
Reposez-vous bien. )))

Vous vivez magnifiquement !

 

Bonjour à tous !

Je n'arrive pas à comprendre comment fermer les commandes...

L'ordre est ouvert avec succès, mais n'est pas fermé. Le programme n'ouvre qu'une seule commande. Qui a une minute et le désir, regardez le code s'il vous plaît ...

int send_orders(bool signal, int position_limit, string file_name){


int ticket_count = OrdersTotal();


if (ticket_count < position_limit){

Print("send_orders ticket_count = ", ticket_count);

if (signal == true){

Print("send_orders, signal BUY");

   order_id = OrderSend(Symbol(),OP_BUY,1.0,Ask,3,0,0,"expert comment",255,0,Green);
   if(order_id < 0)
     {
      error=GetLastError();
      Print("send_orders, error = ",ErrorDescription(error));
      return;
     }
}if (signal == false){

Print("send_orders, signal SELL");

   order_id = OrderSend(Symbol(),OP_SELL,1.0,Bid,3,0,0,"expert comment",255,0,Red);
   if(order_id < 0)
     {
      error=GetLastError();
      Print("send_orders, error = ",ErrorDescription(error));
      return;
     }
     }

}if (ticket_count == position_limit){

OrderSelect(0,SELECT_BY_POS);

order_type = OrderType();

order_id = OrderTicket();

//----

Print("send_orders,  order already open");

if ((signal == false) && order_type == OP_BUY){

Print("send_orders,  is closing position");

if(OrderSelect(0, SELECT_BY_POS)==true){

OrderClose(OrderTicket(),1,Ask,3,Red);

}

}if ((signal == true ) && order_type == OP_SELL){

Print("send_orders,  is closing position");

if(OrderSelect(order_id, SELECT_BY_POS)==true){

OrderClose(OrderTicket(),1,Bid,3,Red);

}
}
}
}

Merci d'avance !