Warum erhalten Sie einen neuen Balken fürSeriesInfoInteger? Soweit ich mich erinnere, handelt es sich um eine sehr langsame asynchrone Funktion (vielleicht hat sich etwas geändert - ich habe es nicht überprüft). In der Regel sind alle Inkonsistenzen und Langsamkeit eine Folge der Verwendung asynchroner Funktionen. Vermeiden Sie sie nach Möglichkeit. Versuchen Sie, sie auf andere Weise zu nutzen. Zum Beispiel über iTime oder iBars. Und vergessen Sie nicht, dass OnChartEvent selbst asynchron ist und nicht mehr als 64 Mal pro Sekunde aufgerufen werden kann, d.h. höchstens einmal pro 15,625 Millisekunden.
neuer Balken über SERIES_LASTBAR_DATE
Und vergessen Sie nicht, dass OnChartEvent selbst asynchron ist und nicht mehr als 64 Mal pro Sekunde aufgerufen werden kann, d.h. höchstens einmal pro 15,625 Millisekunden.
wie man in China sagt, egal wie lila, Hauptsache es ist profitabel
Was ist das? Ich habe bereits eine Antwort gegeben und wiederhole sie - wenn Sie nicht wissen, wie man Indikatoren schreibt, behaupten Sie nicht, dass sie nicht richtig funktionieren oder dass der Ansatz mit Indikatoren im Allgemeinen schlecht, falsch oder irrational ist.
if(id>=CHARTEVENT_CUSTOM) // Цикл событий по символам
{
static CNewBar M1;
constint number=id-CHARTEVENT_CUSTOM; //приведем в нормальный вид номер символа 0-7//--- проверим новый ли барif(M1.NewBar(number,PERIOD_M1))
//+------------------------------------------------------------------+//| Class Новый бар |//+------------------------------------------------------------------+class CNewBar
{
protected:
datetime oldTime[TRADE_SYMBOLS];
public:
bool NewBar(int number,ENUM_TIMEFRAMES timeframe)
{
//--- создаем переменную newtime(тип время), присваиваем в нее из функции SeriesInfoInteger дату открытия последнего бараdatetime newTime=datetime(SeriesInfoInteger(Symbols[number],timeframe,SERIES_LASTBAR_DATE));
if(newTime!=oldTime[number] && newTime) // проверка на появление нового бара (новое время не равно старому и в newtime есть значение(true))
{
oldTime[number]=newTime; //обновим время прошлого бараreturn(true); // вернем функции NewBar true, появился новый бар//if(MQLInfoInteger(MQL_DEBUG))// Print("Новый бар",newTime,"старый бар",oldTime); // в режиме отладки, будет выводится сообщение о значениях времен баров
}
//--- иначе,return(false); // нового бара еще нет
};
//---- конструктор класса// CNewBar() {oldTime=NULL;}; // вызывается при создании Объекта, проинициализация тут не нужна, что-бы сразу прошел новый бар
};
if(id>=CHARTEVENT_CUSTOM) // Цикл событий по символам
Was ist das? Was hat das mit einem normalen Indikator zu tun? Du denkst dir etwas aus, anstatt die Artikel zu lesen und zu lernen, wie man es richtig macht. Deshalb ist es so naiv - die Indikatoren "funktionieren nicht richtig". Alle sind so kreativ, dass es einem den Atem verschlägt.
Warum erhalten Sie einen neuen Balken fürSeriesInfoInteger?
Soweit ich mich erinnere, handelt es sich um eine sehr langsame asynchrone Funktion (vielleicht hat sich etwas geändert - ich habe es nicht überprüft).
In der Regel sind alle Inkonsistenzen und Langsamkeit eine Folge der Verwendung asynchroner Funktionen. Vermeiden Sie sie nach Möglichkeit.
Versuchen Sie, sie auf andere Weise zu nutzen. Zum Beispiel über iTime oder iBars.
Und vergessen Sie nicht, dass OnChartEvent selbst asynchron ist und nicht mehr als 64 Mal pro Sekunde aufgerufen werden kann, d.h. höchstens einmal pro 15,625 Millisekunden.
neuer Balken über SERIES_LASTBAR_DATE
Und vergessen Sie nicht, dass OnChartEvent selbst asynchron ist und nicht mehr als 64 Mal pro Sekunde aufgerufen werden kann, d.h. höchstens einmal pro 15,625 Millisekunden.
wie man in China sagt, egal wie lila, Hauptsache es ist profitabel
wie naiv...
Dimitri, kann ich eine Referenz bekommen?
neuer Balken über SERIES_LASTBAR_DATE
SERIES_LASTBAR_DATE ist nur die in SeriesInfoInteger verwendete ID.
Dimitri, kann ich eine Empfehlung bekommen?
Was ist das? Ich habe bereits eine Antwort gegeben und wiederhole sie - wenn Sie nicht wissen, wie man Indikatoren schreibt, behaupten Sie nicht, dass sie nicht richtig funktionieren oder dass der Ansatz mit Indikatoren im Allgemeinen schlecht, falsch oder irrational ist.
SERIES_LASTBAR_DATE ist nur der in SeriesInfoInteger verwendete Bezeichner.
Dieser NewBar bedeutet, dass es nicht mehr als einen Versuch gibt.
es ist nicht klar, was gemeint ist mit
Wie Sie sehen können, wird die Zeichennummer korrekt an die neue Balkenklasse übergeben und dort korrekt behandeltWas ist das? Was hat das mit einem normalen Indikator zu tun? Du denkst dir etwas aus, anstatt die Artikel zu lesen und zu lernen, wie man es richtig macht. Deshalb ist es so naiv - die Indikatoren "funktionieren nicht richtig". Alle sind so kreativ, dass es einem den Atem verschlägt.
es ist nicht klar, was gemeint ist mit
Und das werden Sie auch nicht. NewBar ist eine Diagnose.