Jede Anfängerfrage, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Nirgendwo ohne dich - 6. - Seite 686

 

Guten Tag. Anzeige der Balkenzeit im Datenfenster des Terminals im Format "jjjjj.mm.tt" und "hh:mi" mit Hilfe eines Indikators.

Der Anzeigepuffer kann entweder die Zeit in Sekunden ab 00:00 1. Januar 1970 oder nach der Konvertierung(TimeToStr) anzeigen.

oder abgeschnittenes Datum oder Uhrzeit. Ich brauche einen Rat, danke im Voraus!

 

#property strict sollte hinzugefügt werden, dann wird das Datum auch ohne Konvertierung im Format "yyyy.mm.dd hh:mm:ss" ausgegeben.

oder TimeToString(TimeCurrent(),TIME_DATE|TIME_SECONDS)

 

Du böser Junge

Es sieht so aus, als wäre es nicht so einfach, oder verstehe ich etwas nicht?

Als Version ist der Hund im Indikatorpuffer begraben, da er vom Typ double ist.

//+------------------------------------------------------------------+
//|                                                   WinData_v1.mq4 |
//|                        Copyright 2014, MetaQuotes Software Corp. |
//|                                              https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2014, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property strict
#property indicator_chart_window
#property indicator_buffers 2

string g_DataTimeValue;

double WinDataBuffer[];
double WinNumberBarBuffer[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- indicator buffers mapping
   IndicatorDigits(0);//(8)

   SetIndexBuffer(0,WinDataBuffer);
   SetIndexStyle(0,DRAW_NONE);

   SetIndexBuffer(1,WinNumberBarBuffer);
   SetIndexStyle(1,DRAW_NONE);

   SetIndexLabel(0,"WinDataTime");
   SetIndexLabel(1,"№ Bara");

//---
   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[])
  {
//---
   for(int i=0; i<100; i++)
     {

      g_DataTimeValue=TimeToString(time[i],TIME_DATE|TIME_SECONDS);

      WinDataBuffer[i]=TimeToString(time[i],TIME_DATE|TIME_SECONDS);
      WinNumberBarBuffer[i]=i;
      // WinDataBuffer[i]=StrToDouble(g_DataTimeValue);

      Print(" WinDataBuffer[i] = ",WinDataBuffer[i],"  WinNumberBarBuffer[i] = ",WinNumberBarBuffer[i],
            "  g_DataTimeValue = ",g_DataTimeValue);

     }
//--- return value of prev_calculated for next call
   return(rates_total);
  }
//+------------------------------------------------------------------+
Принт:


2014.08.11 15:39:54.016 WinData_v1 EURUSD,M1:  WinDataBuffer[i] = 2014.08  WinNumberBarBuffer[i] = 99.0  g_DataTimeValue = 2014.08.06 11:41:00



 

Guten Tag, Genossinnen und Genossen!

Ich bin zum ersten Mal im Forum, also treten Sie mich nicht, wenn dies eine altmodische Frage ist...

Wie kann man nach einem bestimmten Intervall (z.B. jede Minute) einen Handel im Zyklus eröffnen?

Ich danke Ihnen im Voraus
 
vld:

Du böser Junge

Es sieht so aus, als wäre es nicht so einfach, oder verstehe ich etwas nicht?

Als Version ist der Hund im Indikatorpuffer begraben, da er vom Typ double ist.


Warum legen Sie die Zeichenfolge in den Indikatorpuffer?
 
Sanyo:

Guten Tag, Genossinnen und Genossen!

Ich bin zum ersten Mal im Forum, also treten Sie mich nicht, wenn dies eine altmodische Frage ist...

Wie kann man in einem Zyklus in einem bestimmten Intervall (z.B. jede Minute) Trades eröffnen?

Ich danke Ihnen im Voraus.

Durch die Überprüfung der Öffnung eines neuen Balkens der entsprechenden TF!
 
Sanyo:

Guten Tag, Genossinnen und Genossen!

Ich bin zum ersten Mal im Forum, also treten Sie mich nicht, wenn dies eine altmodische Frage ist...

Wie kann man in einem Zyklus in einem bestimmten Intervall (z.B. jede Minute) Trades eröffnen?

Ich danke Ihnen im Voraus.
Lesen Sie über OnTimer()
 

Hallo, ich habe folgende Frage:

MT4 hat großartige Möglichkeiten zur Optimierung von Experten, aber gibt es ein Tool zur Optimierung von Indikatoren? Wenn ich die Parameter eines Indikators so optimieren möchte, dass seine Messwerte maximal "korrekt" sind, ist es dann wahr, dass die einzige Möglichkeit, dies zu tun, darin besteht, einen Ekspert auf seiner Basis zu schreiben und ihn durch die Historie laufen zu lassen?

Und ich würde auch gerne wissen, ob MT-4 ein benutzerdefiniertes Kriterium für die Optimierung von Expert Advisors wie in MT5 hat?

 

Leute, ich vergaß...

Wie erhalte ich ein Array mit den aktuellen Aufträgen und durchlaufe es in einer Schleife? Und eine Schleife, um die Bestellinformationen zu erhalten. MT4, danke...

 
Vinin:

Und warum legen Sie die Zeichenfolge in den Indikatorpuffer?

Ich verstehe die Absurdität dieser Aktion, aber ich verstehe nicht, wie man den Indikator verwendet

Anzeige der Balkenzeit im Terminal-Datenfenster im Format "jjjjj.mm.tt" und "hh:mi" (als erste und zweite Zeile im Terminal-Datenfenster)

Der Indikatorpuffer gibt entweder die Zeit in Sekunden ab 00:00 1. Januar 1970 aus, indem er ihm time[i] zuweist,

oder nach Konvertierung(TimeToString) abgeschnittenes Datum oder Uhrzeit.

Und wenn es eine Möglichkeit gibt, sie mit benutzerdefinierten MQL-Tools anzuzeigen, geben Sie bitte an, wie man das macht.