Erreurs, bugs, questions - page 603

 
goblin:
Cette image est-elle sur MT4 ou MT5 ?
Bien sûr, sur MT5.
 

sergeev: 

Re : c'est vide.

Les articles du MQL4 ont "Application pratique des indicateurs en grappes sur le marché FOREX - Articles du MQL4" et "Base théorique de la construction d'indicateurs en grappes pour le marché FOREX - Articles du MQL4".

J'ai téléchargé cette branche quelque part. Mais avec le changement de fer - pour trouver un problème, donc ne pas promettre n'importe quoi.

Si ma mémoire est bonne, tout ce qui est constructif se trouve dans les articles. La question est de savoir s'il est possible d'obtenir des x et des y d'un robot.

Question : est-il possible d'obtenir une poignée CCFp_2 ? Comment (bout de code) ?
 
goblin:
question : est-il possible d'obtenir une poignée CCFp_2 ?Comment (bout de code) ?

? ??

ZS déchiffre ce que ça veut dire ?

 
goblin:
question : est-il possible d'obtenir une poignée CCFp_2 ?
Il s'agit bien sûr d'un indicateur normal.
 
sergeev:
Bien sûr, c'est un indicateur ordinaire.

n'est pas tout à fait habituel : i Custom( Le nom symbolique de l'instrument dont les données seront utilisées pour calculer l'indicateur,...) et nous avons un indicateur multi-devises.

 
Urain:

? ??

ZS déchiffre ce que ça veut dire ?

pas de problème : écrire

//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
      int m_handle=iMA("GBPUSD",PERIOD_CURRENT,3,0,MODE_SMA,PRICE_MEDIAN);
   Print("m_handle  ",m_handle);
   m_handle=iMA("USDCHF",PERIOD_CURRENT,3,0,MODE_SMA,PRICE_MEDIAN);
   Print("m_handle  ",m_handle);
  }
 
goblin:

pas de problème : écrire

hndl=iCustom(_Symbol,_Period,"Имя индикатора",параметр1,параметр2,...и т.д.);
// параметры указываются только те и столько, сколько их имеется в вызываемом индикаторе

Le symbole et la période ne doivent pas nécessairement être identiques à ceux du graphique, vous pouvez utiliser d'autres horizons temporels et symboles.

Je viens d'être surpris par cette question (c'est pourquoi je ne la comprends pas), elle se trouve dans la description de iCustom()

PS Les données de l'indicateur calculé sont obtenues par la fonction CopyBuffer(), vous devez spécifier le handle et le numéro du buffer à obtenir (la description est dans le manuel).

PPS iCustom lance le flux de calcul de l'indicateur, CopyBuffer reçoit les données de l'indicateur.

 
goblin:

n'est pas tout à fait habituel : i Custom( Le nom symbolique de l'instrument dont les données seront utilisées pour calculer l'indicateur,...) et nous avons une multidevise.

Et alors ?

Vous n'êtes pas obligé d'appliquer cet indicateur à une certaine devise.

Je ne sais pas pourquoi vous vous donnez la peine - allez-y et vérifiez.

Personnellement, tout fonctionne pour moi. Je l'appelle depuis un conseiller expert et je le lance même sur un graphique.

 
#property indicator_chart_window
#property indicator_buffers 1
#property indicator_plots   1

ENUM_TIMEFRAMES arr[1]={PERIOD_M15};

int OnInit()
  {
   return(0);
  }

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(high,true);
   ArraySetAsSeries(low,true);
   ArraySetAsSeries(time,true);

   string n;

   StringConcatenate(n, "Fibo ",
//   StringConcatenate(n, "Some string ",
                    time[70], " - ",
                    time[50], " ",
                    EnumToString(arr[0]));

   Print(n);

   ObjectCreate(0,n,OBJ_FIBO,0,time[70],high[70],time[50],low[50]);

   return(rates_total);
  }

De cette façon, l'objet est dessiné comme il se doit et signé avec le nom composé donné sans aucun problème. Si vous supprimez la première StringConcatenate() et décommentez la seconde, l'objet est dessiné de manière incomplète et, lors de l'affichage de ses propriétés, le nom de la chaîne apparaît tronqué :

Une chaîne 2011.12.01 04:00:00 - 2011.12.06 12:00:00 PERIOD_M1

(devrait être : Une chaîne 2011.12.01 04:00:00 - 2011.12.06 12:00:00 PERIOD_M15),

bien que Print() produise toujours la chaîne de caractères correcte.

Qu'est-ce que l'humour ?

 
x100intraday:

(devrait être : Une chaîne 2011.12.01 04:00:00 - 2011.12.06 12:00:00 PERIOD_M15),

bien que Print() produise toujours la chaîne de caractères correcte.

La longueur du nom de l'objet est limitée.
Raison: