[Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas votre chemin. Je ne peux aller nulle part sans toi. - page 253

 
DDFedor >> :

Quel est le budget de MQL5 ?

Si ce n'est pas le cas, demandez-nous. Tout le monde n'aime pas lire la translittération, donc la translittération limite aussi la possibilité de vous répondre.

Merci, DDFedor, et quand je devais trouver quelque chose dans google, je faisais des appliqués des lettres du texte en russe.

 

aidez-moi à colorer l'indicateur, je veux qu'il soit vert si la valeur augmente, rouge si elle diminue.

Voici le code :

#property indicator_separate_window
#property indicator_buffers 1
#property indicator_color1 Green


int BarsCount = 10000;

//---- buffers
double buf_1[];

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
    SetIndexStyle(0,DRAW_HISTOGRAM);
    SetIndexBuffer(0, buf_1);
//    SetIndexStyle(1,DRAW_HISTOGRAM);
//    SetIndexBuffer(1, buf_2);
    //----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
int i;
//----
   int limit = BarsCount;
    if ( limit > Bars)
        limit = Bars;
        
   for ( i = limit; 0 <= i; i--) {

        buf_1[ i] = High[ i]-Low[ i];
   
        
        
        }
//----
   return(0);
  }
//+------------------------------------------------------------------+
 

Je veux qu'un ordre en attente soit placé à 15h00, s'il n'y a pas de position ouverte à ce moment-là,

J'écris ce qui suit :

si (Hour()=15 || Minute()=0)

double max_level=High[iHighest(NULL,0,MODE_HIGH,13,0)] ; //définit le prix maximum pour les 13 dernières barres
double min_level=Low[iLowest(NULL,0,MODE_LOW,13,0)] ; //définit le prix minimum pour les 13 dernières barres
int Dist_SL =60 ; // Définir SL (pt)
int Dist_TP =60 ; // fixer le TP (pt)
//--------------------Цикл установки ордера BUY STOP---------------------------------------------------------------------
while(true) //Ouvrir le cycle de commande.
{
int Min_Dist1=MarketInfo(Symbol(),MODE_STOPLEVEL) ; // Min_Dist.
double Price_B=max_level ; // Prix d'enchère

//----------------Устанавливаем ордер на покупку---------------------------------------------------------------------------
if (NormalizeDouble(Price_B,Digits)< // Si moins que ce qui est autorisé.
NormalizeDouble(Ask+Min_Dist1*Point,Digits))
{ // Uniquement pour BuyStop !
Prix_B=Ask+Min_Dist1*Point ; // il ne peut pas se rapprocher davantage
Alert("Le prix d'achat déclaré a été modifié : Prix = ", Prix_B) ;
}
double SL_B=Prix_B - Dist_SL*Point ; // Prix SL déclaré à l'achat
double TP_B=Prix_B + Dist_TP*Point ; // Le prix TP déclaré à acheter
Alert("L'ordre de transaction a été envoyé au serveur. En attente de réponse...") ;
int ticket1=OrderSend(Symbol(), OP_BUYSTOP, 0.1, Price_B, 0, SL_B, TP_B) ; //Set Buy order (ordre d'achat)
if (ticket1>0) // Cela a marché :)
{
Alert ("Buy order opened ",ticket1) ;
break ; // Sortie de la boucle
}

Je dois écrire quelque chose de mal, pouvez-vous me dire comment ouvrir une position à un moment donné ?

 

Eh bien, point par point :

1. Si le tic-tac est à zéro minute, le script démarre. Il est préférable de définir la minute zéro comme minute de départ, puis de définir un drapeau pour empêcher le script de redémarrer. Mais en principe, ce n'est pas critique.

2. Vous ne vérifiez que lorsque le niveau de prix est inférieur à ce qui est autorisé, et lorsqu'il est supérieur, vous ne le faites pas.

3. Vous utilisez la normalisation lors du contrôle du prix, mais pas lors de la substitution, il peut y avoir des erreurs.

 
Roger >> :

Eh bien, point par point :

1. Si le tic-tac est à zéro minute, le script démarre. Il est préférable de définir la minute zéro comme minute de départ, puis de définir un drapeau pour empêcher le script de redémarrer. Mais en principe, ce n'est pas critique.

2. Vous ne vérifiez que lorsque le niveau de prix est inférieur à ce qui est autorisé, et lorsqu'il est supérieur, vous ne le faites pas.

3. Vous utilisez la normalisation lors du contrôle du prix et non lors de la substitution, il peut y avoir des erreurs.

Je vous remercie de votre réponse. Je suis un débutant complet en programmation, je viens de commencer à étudier le fichier d'aide et j'ai décidé d'écrire mon EA. Je comprends que le cadre.

si (Hour()=15 || Minute()=0) n'est pas du tout correct, chaque caractère provoque une erreur lors de la compilation, veuillez me dire comment l'écrire correctement ?

 
albon >> :

Je veux qu'un ordre en attente soit placé à 15h00, s'il n'y a pas de position ouverte à ce moment-là,


Je dois écrire quelque chose de mal, pouvez-vous me dire comment ouvrir une position à un moment donné ?

Cherchez dans le forum, j'ai emprunté à KimiV, il y a une fonction qui permet de limiter l'opération par le temps.

 
albon писал(а) >>

Merci pour la réponse. Je suis un novice complet en programmation, j'ai juste commencé à étudier le fichier d'aide et j'ai immédiatement décidé d'écrire mon EA. Je comprends que le cadre

si (Hour()=15 || Minute()=0) n'est pas du tout correct, dans la compilation chaque caractère provoque une erreur, veuillez me conseiller comment l'écrire correctement ?

Changez-le en

si (Hour()==15 || Minute()==0)

PS : Si vous ne savez rien, à quoi bon, mieux vaut l'envoyer à quelqu'un d'autre.

 
dmmikl86 >> :

Aidez-moi à colorer l'indicateur, je veux que la valeur augmente en vert et diminue en rouge.

Voici le code :

Cette opération doit être effectuée avec deux tampons de couleur différente.

Si le prix augmente, alors la valeur est attribuée à un tampon ; si elle diminue, à un autre,

et le second est conservé dans le corps noir (par exemple, SetIndexEmptyValue(0,0.0) ;)

Le 0 est affecté aux deux tampons avant qu'il ne se remplisse, et après cela, vous distribuez les tampons à qui vous voulez et à qui vous ne voulez pas.

Vinin semble avoir eu un tel indicateur, cherchez dans le profil de la base de code.

 
Pouvez-vous me dire s'il est possible d'insérer une petite image dans la fenêtre principale du terminal ?
 
IlyaA >> :
Pouvez-vous me dire s'il est possible d'insérer une petite image dans la fenêtre principale du terminal ?

Pas encore en 5 qu'ils promettent (au moins par des moyens standards)