Questions des débutants MQL5 MT5 MetaTrader 5 - page 169

 
sandex:

Déclarer le tableau comme étant statique, de taille 1 :

Une ligne apparaît après la compilation, qui est la même que dans cette version et la dernière. Voici le code complet :

#property copyright ""
#property link      ""
#property version   "1.00"
#property indicator_chart_window
#property indicator_buffers 2
#property indicator_plots   2
#property  indicator_type1   DRAW_LINE
#property  indicator_color1  clrMediumVioletRed
#property  indicator_style1  STYLE_SOLID
#property  indicator_label1  ""
#property  indicator_type2   DRAW_LINE
#property  indicator_color2  clrRed
#property  indicator_style2  STYLE_SOLID
#property  indicator_label2  "Sell TP"
input int Period_ = 34;         //Период
int ma1Handle;
double ma1Val[1];
double ExtMapBuffer1[];
double ExtMapBuffer2[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {   
SetIndexBuffer(0,ExtMapBuffer1,INDICATOR_DATA);
SetIndexBuffer(1,ExtMapBuffer2,INDICATOR_DATA);
ma1Handle=iMA(_Symbol,_Period,Period_,0,MODE_EMA,PRICE_CLOSE); 
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
  {
ArraySetAsSeries(ma1Val,true);
int bars=Bars(_Symbol,_Period);
for(int i=0;i<bars;i++)
    {
    CopyBuffer(ma1Handle,0,i,1,ma1Val);
    ExtMapBuffer2[i]=ma1Val[0] - ((ma1Val[0]/100)*0.3);//ЗДЕСЬ НЕ ПОЛУЧАЕТСЯ ПОЛУЧИТЬ ЛИНИЮ
    }
   return(rates_total);
  }
//+------------------------------------------------------------------+
 
Code de travail.
Dossiers :
Ind.mq5  3 kb
 

Bonjour.

J'ai décidé d'apprendre MQL5, j'ai lu des articles sur la façon de générer des EAs dans MetaEditor, tout est clair mais comment faire pour que les indicateurs qui font partie des EAs tradent selon vos règles, par exemple l'indicateur CCI fait des choses dont je n'ai pas besoin, comment faire pour qu'un ordre d'achat s'ouvre au croisement de 100 et le ferme au croisement de 100 de bas en haut, de même pour la vente. Je travaille également sur ce sujet depuis un certain temps et je ne sais pas comment m'y prendre.

 
vitan06:

Bonjour.

J'ai décidé d'apprendre MQL5, j'ai lu des articles sur la façon de générer des EAs dans MetaEditor, tout est clair mais comment faire pour que les indicateurs qui font partie des EAs tradent selon vos règles, par exemple l'indicateur CCI ne fait pas ce que je veux ; comment faire pour qu'un ordre d'achat s'ouvre au croisement de 100 et le ferme au croisement de 100 de haut en bas ; la même chose pour la vente. Je travaille également sur ce sujet depuis un certain temps et je ne sais pas comment m'y prendre.

J'ai une question distraite : comment utilisez-vous MQL4 ?
 
pas du tout
 
sandex:
Code de travail.
Merci ! Ça marche ! !!
 
vitan06:
pas du tout

puis oublier sans risque le générateur de code.

Ouvrir un exemple standard à partir de la livraison de MA ou MACD

Changez l'indicateur en CCI

et aller

 

Bonjour !

Désolé pour cette question, à mon avis, stupide :

J'ai écrit un EA sur mql5, je l'ai chargé correctement, je l'ai testé, je l'ai essayé sur une démo sur mon ordinateur portable personnel et maintenant la démo fonctionne sur le VPS.

Je l'ai désinstallé de mon ordinateur portable. J'ai modifié quelque chose sur la source du VPS.

J'ai essayé de charger de VPS à l'ordinateur portable - ne le voit pas MQL5 !!! W7 Explorer l'a placé là où il devrait être, mais pas MQL5.

Metaeditor via Open file trouve, édite et enregistre le fichier.

Lorsque j'essaie de le compiler, l'erreur cannot create interface of MQL compiler apparaît à la première ligne. Quelle est cette erreur ?

Que dois-je faire?

 

Pourriez-vous nous indiquer comment obtenir le prix actuel dans le code de l'indicateur et le comparer avec un autre indicateur pour tracer une ligne ?

J'obtiens le prix actuel dans le conseiller expert :

MqlTick latest_price;       
double iclose=latest_price.bid;
Mais comment l'obtenir dans l'indicateur ?
 
forexman77:

Pourriez-vous nous indiquer comment obtenir le prix actuel dans le code de l'indicateur et le comparer avec un autre indicateur pour tracer une ligne ?

Dans l'EA, j'obtiens le prix actuel comme suit :

Mais comment l'obtenir dans l'indicateur ?
Regardez dans le code de l'indicateur, la fonction OnCalculate().