Guter Artikel, danke für den Austausch! All das war sehr nützlich!
Wie auch immer, ich habe Ihre isNewBar-Funktion genommen und es wirft die folgende Meldung beim Kompilieren:"möglicher Datenverlust aufgrund der Typkonvertierung".
Also habe ich die Var-Typen von datetime auf long geändert:
Jetzt kompiliert sie ohne Probleme und scheint gut zu funktionieren. Ich danke Ihnen!
Bei der ersten Möglichkeit, eine neue Spaltenzeile anzufordern, verstehe ich nicht, wie die Anzahl der neuen Spalten direkt der Zahl 1 zugeordnet werden kann;
//--- Prüfung auf neue Spaltenzeilen.if(m_lastbar_time<newbar_time)
{
m_new_bars=1; // Anzahl der neuen Spaltenzeilen
m_lastbar_time=newbar_time; // Erinnern Sie sich an die letzte Taktzeitreturn(true);
}
//--- //--- Suche nach neuen Spaltenzeilen.if(m_lastbar_time<newbar_time)
{
m_new_bars=1; // Anzahl der neuen Spaltenzeilen
m_lastbar_time=newbar_time; // Erinnern Sie sich an die letzte Taktzeitreturn(true);
}
//---
Nach den Regeln der Objektmodellierung ist es eine falsche Bezeichnung, es CIsNewBar zu nennen.
Wenn Auto eine Klasse ist, kann ich ein Auto-Objekt erstellen/besitzen. Wenn meine Klasse jedoch "ÉUmCarroNovo" ist, können wir ein "ÉUmCarroNovo" haben oder besitzen.
Der Autor hätte es CNewBarChecker nennen sollen. Jemand könnte einen New Car Checker erfinden und ihn erstellen (unsere Klasse wäre NewCarChecker.
Es gibt so viele Code-Variationen in dem Artikel, aber am Ende ist es immer noch nicht klar, welche Funktion ist richtiger, auf MT4 zu verwenden, um zumindest ein wenig die Korrespondenz von dem, was der Tester zeichnet mit dem Handel zu erhöhen. Geben Sie mir einen Tipp!
Pavel Komarovsky: Es gibt so viele Code-Variationen in dem Artikel, aber am Ende ist es immer noch nicht klar, welche Funktion ist richtiger, auf MT4 zu verwenden, um zumindest ein wenig die Korrespondenz von dem, was der Tester zeichnet mit dem Handel zu erhöhen. Geben Sie mir einen Tipp!
datetime counted_bar = 0;
intOnInit()
{
counted_bar = 0; // wenn der letzte Takt beim Neustart analysiert werden soll
...
voidOnTick()
{
// Wenn ein neuer Balken vorhanden istif ( iTime( _Symbol, _Period, 0 ) > counted_bar )
{
counted_bar = iTime( _Symbol, _Period, 0 );
// Indikatoren analysieren
...
}
Andrey, vielen Dank. Sagen Sie mir, warum iTime jetzt verwendet wird. Früher, so erinnere ich mich, basierten die meisten Funktionen und Beispiele auf iBars.
Andrey, vielen Dank. Sagen Sie mir, warum iTime jetzt verwendet wird. Früher, so erinnere ich mich, basierten die meisten Funktionen und Beispiele auf iBars.
FunktioniertiTime genauer?
Ich habe nie iBars für diesen Zweck verwendet, ich weiß es nicht.
Ich frage mich, warum dieses Beispiel die Zeitreihendaten nicht erhalten kann? Copy... immer -1 und Bars() immer 0. D.h. kein Zugriff auf Daten aus der Klasse
Dieser Artikel ist so gut, dass er sogar in MQL5-Programmierkursen verwendet wird, einschließlich Kommentaren, Zusammenarbeit und Fehlerbehebungen. Herzlichen Glückwunsch an Sie alle.
Guter Artikel, danke für den Austausch! All das war sehr nützlich!
Wie auch immer, ich habe Ihre isNewBar-Funktion genommen und es wirft die folgende Meldung beim Kompilieren:"möglicher Datenverlust aufgrund der Typkonvertierung".
Also habe ich die Var-Typen von datetime auf long geändert:
Jetzt kompiliert sie ohne Probleme und scheint gut zu funktionieren. Ich danke Ihnen!
Es ist wahrscheinlich klarer, es so zu ändern:
Bei der ersten Möglichkeit, eine neue Spaltenzeile anzufordern, verstehe ich nicht, wie die Anzahl der neuen Spalten direkt der Zahl 1 zugeordnet werden kann;
Nach den Regeln der Objektmodellierung ist es eine falsche Bezeichnung, es CIsNewBar zu nennen.
Wenn Auto eine Klasse ist, kann ich ein Auto-Objekt erstellen/besitzen. Wenn meine Klasse jedoch "ÉUmCarroNovo" ist, können wir ein "ÉUmCarroNovo" haben oder besitzen.
Der Autor hätte es CNewBarChecker nennen sollen. Jemand könnte einen New Car Checker erfinden und ihn erstellen (unsere Klasse wäre NewCarChecker.
Es gibt so viele Code-Variationen in dem Artikel, aber am Ende ist es immer noch nicht klar, welche Funktion ist richtiger, auf MT4 zu verwenden, um zumindest ein wenig die Korrespondenz von dem, was der Tester zeichnet mit dem Handel zu erhöhen. Geben Sie mir einen Tipp!
Andrey, vielen Dank. Sagen Sie mir, warum iTime jetzt verwendet wird. Früher, so erinnere ich mich, basierten die meisten Funktionen und Beispiele auf iBars.
FunktioniertiTime genauer?
Andrey, vielen Dank. Sagen Sie mir, warum iTime jetzt verwendet wird. Früher, so erinnere ich mich, basierten die meisten Funktionen und Beispiele auf iBars.
FunktioniertiTime genauer?
Dieser Artikel ist so gut, dass er sogar in MQL5-Programmierkursen verwendet wird, einschließlich Kommentaren, Zusammenarbeit und Fehlerbehebungen. Herzlichen Glückwunsch an Sie alle.