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

 
Pouvez-vous me dire comment prescrire dans ObjectSetText() les valeurs de l'indicateur, par exemple RSI, je l'ai fait avec des flèches et elles sont dessinées comme nécessaire à un certain moment, alors au lieu des flèches je veux afficher un texte avec les valeurs de l'indicateur à un certain moment ObjectSetText(Name, RSIBuffer[i],10, "Times New Roman", Green), mais je veux afficher le mot Text au lieu de la valeur. Merci !
 
Vinin: OrderType()==6



Victor, merci pour cette réponse succincte :-P (il m'a fallu plusieurs jours pour la recevoir...:-P) - j'aurais dû utiliser immédiatement la recherche sur cette demande. J'ai lu qu'il ne s'agit pas d'une transaction effectuée à partir du terminal du client, donc elle n'est pas documentée ... - ici.

Pour ceux qui s'intéressent à un problème similaire (ajustements (ajouts) aux volumes des positions lors du dépôt/retrait de fonds sur un compte de trading), les gens ont mis en place une bibliothèque entière dans la base de code ici.

Le conseiller expert disponible gratuitement est ici.

P.S. Informations sur la valeur acceptée des échanges f-fi

 OrderType()== 6

0 Achat
1 Vendre
2 Ordre BUY LIMIT en attente
3 Ordre SELL LIMIT en attente
4 Ordre BUY STOP en attente
5 Ordre SELL STOP en attente
6 Informations complémentaires - dépôt, retrait, bonus

 
delf:

Bonjour.

Pouvez-vous me dire ce que signifie "type==4" ?

et type==5

dans l'extrait suivant :

double ma=iMA(Symbole(),PERIOD_D1,21,0,MODE_SMA,PRICE_CLOSE,0) ;

for(int k=1 ; k<=OrdersTotal() ; k++)
bool select=OrderSelect(k-1,SELECT_BY_POS) ;

if(select)
{
int type=OrderType() ;
int ticket=OrderTicket() ;

si (Bid<ma && type==4)
OrdreDelete(ticket) ;
si (Bid>ma && type==5)
OrdreDelete(ticket) ;
}

Je comprends les conditions de suppression des commandes, par ma est clair, mais ensemble comment ?

Merci.

J'allais y répondre moi-même, mais Roman l'avait déjà écrit (voir le message ci-dessus), et c'était sur un sujet différent, mais la réponse était juste.
 
sergeev:
rien...
J'aurais tué sans attendre une minute.
Uh-huh... :) Je suis têtu...
 
Vinin:

Vous ne regardez pas le code avant de mettre quelque chose quelque part...

... et un expérimentateur curieux... :)

... Pendre l'auteur du code par les tomates... :)

 
Vinin:


Essayez de cette façon, il n'y a pas de paramètres

Bien que l'indicateur effectue un recalcul complet à chaque tick.


Essayez de cette façon, il n'y a pas de paramètres
Up_Line iCustom(  NULL, 0, "ExTrendv2", 0,1);
Down_Line iCustom(NULL, 0, "ExTrendv2", 1,1);

Bien que l'indicateur effectue un recalcul complet à chaque tick.

Victor, bonne journée.

J'ai essayé de le faire et je l'ai imprimé. L'indicateur affiche quelques nombres à dix chiffres.

 
Stells:

Essayez de cette façon, il n'y a pas de paramètres, je pense.

Bien que l'indicateur effectue un recalcul complet à chaque tick.

Victor, bonjour.

J'ai essayé de le faire, je l'ai imprimé. L'indicateur affiche quelques nombres à dix chiffres.

J'ose dire (je ne mettrai plus l'indicateur sur le graphique, et je ne veux pas le finaliser), il sort la constante EMPTY_VALUE - une valeur vide. Mais à certains moments, lorsque des données apparaissent dans le tampon, il imprime les valeurs normales. Faites un contrôle, par exemple :

if (Up_Line!=EMPTY_VALUE) {код обработки значения нулевого буфера}
 
Les gens, aidez-moi à comprendre ce code :
int start()
  {
//----Переменные
double Lots = 1.0;
int Magic = 099;
double Money = AccountBalance();
double MA1_1, MA1_2, MA2_1, MA2_2, MA3;
// Определение MA
MA1_1 = iMA(NULL, 0, MA_Period_1, 0, MODE_SMA, PRICE_CLOSE, 1);
MA1_2 = iMA(NULL, 0, MA_Period_1, 0, MODE_SMA, PRICE_CLOSE, 3);
MA2_1 = iMA(NULL, 0, MA_Period_2, 0, MODE_SMA, PRICE_CLOSE, 1);
MA2_2 = iMA(NULL, 0, MA_Period_2, 0, MODE_SMA, PRICE_CLOSE, 3);
MA3 = iMA(NULL, 0, MA_Period_1, 0, MODE_SMA, PRICE_CLOSE, 2); 

//----Пересечение MA вверх. Сигнал Buy
if (MA2_2>MA1_2 && MA2_1<MA1_1)
{
   if (OrdersTotal()<= 1)
   return;
      if (Low[2]<MA3)
      return;
         double SL = 0.0;
         double TP = 0.0;
         double B_Price = 0.0;
         SL = Low[1]-1*Point;
         TP = (High[1]-Low[1]) * 10 + High[1];
         B_Price = High[1] + 3* Point;
         OrderSend (Symbol(), OP_BUYSTOP, Lots, B_Price, 0, SL, TP, "My order", Magic);
}
           
//----
   return(0);
  }
Pourquoi cet EA ne place pas un ordre en attente lorsque la MA est franchie.
 
vovan-gogan:
Aidez-moi avec le code : Pourquoi cet EA ne met pas de délai lorsque la MA est franchie.

et quel bloc l'EA atteint-il ? faites Print / Alert à différents endroits du code.

Y a-t-il des erreurs ?

 
Je ne sais pas dans quel bloc aller. Je ne sais pas encore comment utiliser Alert correctement. Aucune erreur
Raison: