Nun zu meiner Hauptfrage: Welche Funktion kann ich verwenden , um das Array mit den letzten 5 Kursen zu füllen, um herauszufinden, auf welcher Seite der Kurs die Linie überschreitet? Vielen Dank im Voraus.
soroko: Das verstehe ich, aber wie kann man den Preis innerhalb der Reihe verschieben? Ich habe es mit der Funktion ArrayCopy versucht, sie übergibt 0,0 oder das gleiche Bid. Und ich bin auch besorgt über massive Code, kann ich nicht alles mit einer Funktion tun?
soroko: Nun zu meiner Hauptfrage: Welche Funktion kann ich verwenden , um das Array mit den letzten 5 Kursen zu füllen, um herauszufinden, auf welcher Seite der Kurs die Linie überschreitet? Vielen Dank im Voraus.
Sie müssen sich Grundkenntnisse in der Programmierung aneignen.
Ich kann die Parameter eines Indikators, der sich nicht im Diagramm befindet, nicht abrufen. Nachfolgend der Code, bei dem alles Unnötige entfernt wurde. Die Zeilen zum Abrufen der Indikatorparameter sind aus der Hilfe kopiert. Der Indikator selbst ist mit einem Stundendiagramm verbunden, aber ich möchte mit fünf Minuten arbeiten. GetLastError() erzeugt den Fehler 4006, aber es scheint nichts falsch zu sein...
int m_MA_M5;
intOnInit()
{
m_MA_M5 = iMA(NULL, PERIOD_M5, 12, 0, MODE_SMA, PRICE_CLOSE);
if (m_MA_M5 <=0 )
{
Print("Error create MA");
return (INIT_FAILED);
}
//---return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+//| Custom indicator iteration function |//+------------------------------------------------------------------+intOnCalculate(constint rates_total,
constint prev_calculated,
constdatetime &time[],
constdouble &open[],
constdouble &high[],
constdouble &low[],
constdouble &close[],
constlong &tick_volume[],
constlong &volume[],
constint &spread[])
{
//---if (prev_calculated == rates_total)
return (rates_total);
MqlParam parameters[];
ENUM_INDICATORindicator_type;
int params=IndicatorParameters(m_MA_M5,indicator_type,parameters);
if (params<0)
{
Print("Error geted data Last Error=", GetLastError());
}else{
//--- заголовок сообщенияstring par_info="Short name M5"+", type "
+EnumToString(ENUM_INDICATOR(indicator_type))+"\r\n";
//--- for(int p=0;p<params;p++)
{
par_info+=StringFormat("parameter %d: type=%s, long_value=%d, double_value=%G,string_value=%s\r\n",
p,
EnumToString((ENUM_DATATYPE)parameters[p].type),
parameters[p].integer_value,
parameters[p].double_value,
parameters[p].string_value
);
}
Print(par_info);
}
//--- return value of prev_calculated for next callreturn(rates_total);
}
//+------------------------------------------------------------------+
Tick und reales Volumen (falls vorhanden).
und was ist der Unterschied zwischen "tick" und "real"?
Was ist der Unterschied zwischen einem Teakholz und einem echten?
tick ist die Anzahl der Abschlüsse, real basiert auf der Größe des Abschlusses
warum zeigt dann der echte überall 0 an?
warum zeigt dann der echte überall 0 an?
keine Daten, im Devisenhandel sind die realen Volumina nicht bekannt, dies gilt für andere Börsen wie Forts
Danke, dass Sie mir die Zeit erspart haben, die ich für die Suche gebraucht hätte)
Das verstehe ich, aber wie kann man den Preis innerhalb der Reihe verschieben? Ich habe es mit der Funktion ArrayCopy versucht, sie übergibt 0,0 oder das gleiche Bid. Und ich bin auch besorgt über massive Code, kann ich nicht alles mit einer Funktion tun?
Nun zu meiner Hauptfrage: Welche Funktion kann ich verwenden , um das Array mit den letzten 5 Kursen zu füllen, um herauszufinden, auf welcher Seite der Kurs die Linie überschreitet? Vielen Dank im Voraus.
Ich kann die Parameter eines Indikators, der sich nicht im Diagramm befindet, nicht abrufen. Nachfolgend der Code, bei dem alles Unnötige entfernt wurde. Die Zeilen zum Abrufen der Indikatorparameter sind aus der Hilfe kopiert. Der Indikator selbst ist mit einem Stundendiagramm verbunden, aber ich möchte mit fünf Minuten arbeiten. GetLastError() erzeugt den Fehler 4006, aber es scheint nichts falsch zu sein...