STARIJ: Versuchen Sie, Datum, Uhrzeit, Gebot und die Ergebnisse Ihrer Berechnungen für jeden Tickin die Datei zu schreiben. Laden Sie sie dann in Excel hoch und überprüfen Sie sie. Es macht kaum Sinn, alle Dutzend Zeilen des Programms abzustimmen!
Aber sehen Sie, Sie haben return in jedem Zweig des bedingten Operators, d.h. er wird immer ausgeführt. Wir nehmen ihn also aus dem bedingten Operator heraus:
Bid[1] - ist das so?
Ich danke Ihnen. Ich werde es jetzt versuchen. Ich habe das Wesentliche deines Codes verstanden und es ist schon ein großer Erfolg für mich :) Ich habe auch meine Fehler erkannt.
STARIJ: Versuchen Sie, Datum, Uhrzeit, Gebot und die Ergebnisse Ihrer Berechnungen für jeden Tickin die Datei zu schreiben. Laden Sie sie dann in Excel hoch und überprüfen Sie sie. Es macht kaum Sinn, alle Dutzend Zeilen des Programms abzustimmen!
Aber sehen Sie, Sie haben return in jedem Zweig des bedingten Operators, d.h. er wird immer ausgeführt. Wir nehmen sie also aus dem Geltungsbereich des bedingten Operators heraus:
Bid[1] - ist das so?
Ich habe den Code in den "Konstruktor" des benutzerdefinierten Indikators eingefügt. Ich habe sie zusammengestellt. Der Compiler erzeugt 1 Warnung: Zwei OnCalculate sind definiert. Es wird die OHLC-Version verwendet (ich verstehe nicht, was das bedeutet).
Ich habe das Produkt zusammengestellt. Befestigen Sie es an der Tabelle. Das separate Fenster für das Diagramm wird geöffnet, aber es zeigt trotz der Ticks keine Informationen über das Histogramm an.
Was ist los? Bitte um Rat?
#property version"1.00"#property strict#property indicator_separate_window#property indicator_buffers2#property indicator_plots2//--- plot Label1#property indicator_label1"Label1"#property indicator_type1DRAW_HISTOGRAM#property indicator_color1clrRed#property indicator_style1STYLE_SOLID#property indicator_width11//--- plot Label2#property indicator_label2"Label2"#property indicator_type2DRAW_HISTOGRAM#property indicator_color2clrDarkTurquoise#property indicator_style2STYLE_SOLID#property indicator_width21//- local variablesint Tick, Tick2; // Для вставки программы используйте кнопку SRCdouble Bid1;
//--- indicator buffersdouble Label1Buffer[];
double Label2Buffer[];
//+------------------------------------------------------------------+//| Custom indicator initialization function |//+------------------------------------------------------------------+intOnInit()
{
//--- indicator buffers mappingSetIndexBuffer(0,Label1Buffer);
SetIndexBuffer(1,Label2Buffer);
Bid1=Bid;
//---return(INIT_SUCCEEDED);
}
void start() // Вместо start более модно писать OnTick
{
if(Bid > Bid1) Tick++;
else Tick2++;
Bid1=Bid;
}
//+------------------------------------------------------------------+//| 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[])
{
//---//--- return value of prev_calculated for next callreturn(rates_total);
}
//+------------------------------------------------------------------+
Ich habe den Code in den "Konstruktor" des benutzerdefinierten Indikators eingefügt. Er hat sie zusammengestellt. Der Compiler gab mir 1 Warnung: zwei OnCalculate sind definiert. Es wird die OHLC-Version verwendet (ich verstehe nicht, was das bedeutet).
Ich habe das Produkt zusammengestellt. Befestigen Sie es an der Tabelle. Das separate Fenster für das Diagramm wird geöffnet, aber es zeigt trotz der Ticks keine Informationen über das Histogramm an.
Was ist los? Können Sie uns beraten?
Wenn Sie den Code hier einfügen, verwenden Sie die Schaltfläche des Nachrichteneditors SRC - am oberen Rand des Nachrichtenfeldes gibt es viele nützliche Dinge in der Nachrichtenformatierung Panel.
Es ist doch nicht schwer, die Augen über den Text zu heben, den Sie gerade tippen, oder? Und es ist doch viel angenehmer für die Leute, sich den normalen Code anzuschauen, statt den Schnickschnack, oder?
Ich habe Ihren Code für Sie in Ihrem Beitrag korrekt eingefügt (SRC)
Wenn Sie den Code hier einfügen, verwenden Sie die SRC-Beitragseditor-Schaltfläche - es gibt viele nützliche Funktionen in der Beitragsformatierungsleiste oben im Beitragsfeld.
Es ist doch nicht schwer, die Augen über den Text zu heben, den Sie gerade tippen, oder? Und es ist doch viel angenehmer für die Leute, sich den normalen Code anzuschauen, anstatt den Schnickschnack, oder?
Ich habe Ihren Code in Ihrer Nachricht für Sie richtig gesetzt (SRC)
Gab 1 Warnung an den Compiler aus: zwei OnCalculate sind definiert. Es wird die OHLC-Version verwendet (ich weiß nicht, was das bedeutet).
Ich habe das Produkt zusammengestellt. Befestigen Sie es an der Tabelle. Das separate Fenster für das Diagramm wird geöffnet, aber es zeigt trotz der Ticks keine Informationen über das Histogramm an.
Was ist los? Bitte um Rat?
Die Funktion hieß früher Start, jetzt heißt sie OnTick im Expert Advisor und OnCalculate im Indikator. Der Compiler warnt: Sie haben die gleiche Funktion zweimal unter verschiedenen Namen. Verschieben Sie den Inhalt von Start nach OnCalculate und löschen Sie Start. Sie müssten auch in Ihrem Programm beschreiben, was und wie es angezeigt werden soll. Entscheiden Sie zunächst selbst, welches Bild dort zu sehen sein soll. Es ist besser, das Studium der MQL-Sprache mit dem Schreiben von Skripten zu beginnen. Ein Expert Advisor ist komplizierter, ein Indikator ist noch komplizierter
Die Funktion hieß früher Start, jetzt heißt sie OnTick im EA und OnCalculate im Indikator. Der Compiler warnt: Sie haben die gleiche Funktion zweimal unter verschiedenen Namen. Verschieben Sie den Inhalt von Start nach OnCalculate und löschen Sie Start. Sie müssten auch in Ihrem Programm beschreiben, was und wie es angezeigt werden soll. Entscheiden Sie zunächst selbst, welches Bild dort zu sehen sein soll. Es ist besser, das Studium der MQL-Sprache mit dem Schreiben von Skripten zu beginnen. Der Expert Advisor ist schwieriger, der Indikator ist noch schwieriger.
Ich kann den Inhalt von Start nicht in OnCalculate einfügen und erhalte eine Menge Fehler
Versuchen Sie, Datum, Uhrzeit, Gebot und die Ergebnisse Ihrer Berechnungen für jeden Tick in die Datei zu schreiben. Laden Sie sie dann in Excel hoch und überprüfen Sie sie. Es macht kaum Sinn, alle Dutzend Zeilen des Programms abzustimmen!
Aber sehen Sie, Sie haben return in jedem Zweig des bedingten Operators, d.h. er wird immer ausgeführt. Wir nehmen ihn also aus dem bedingten Operator heraus:
Bid[1] - ist das so?
Ich danke Ihnen. Ich werde es jetzt versuchen. Ich habe das Wesentliche deines Codes verstanden und es ist schon ein großer Erfolg für mich :) Ich habe auch meine Fehler erkannt.
Was ist die SRC-Taste?
Versuchen Sie, Datum, Uhrzeit, Gebot und die Ergebnisse Ihrer Berechnungen für jeden Tick in die Datei zu schreiben. Laden Sie sie dann in Excel hoch und überprüfen Sie sie. Es macht kaum Sinn, alle Dutzend Zeilen des Programms abzustimmen!
Aber sehen Sie, Sie haben return in jedem Zweig des bedingten Operators, d.h. er wird immer ausgeführt. Wir nehmen sie also aus dem Geltungsbereich des bedingten Operators heraus:
Bid[1] - ist das so?
Ich habe den Code in den "Konstruktor" des benutzerdefinierten Indikators eingefügt. Ich habe sie zusammengestellt. Der Compiler erzeugt 1 Warnung: Zwei OnCalculate sind definiert. Es wird die OHLC-Version verwendet (ich verstehe nicht, was das bedeutet).
Ich habe das Produkt zusammengestellt. Befestigen Sie es an der Tabelle. Das separate Fenster für das Diagramm wird geöffnet, aber es zeigt trotz der Ticks keine Informationen über das Histogramm an.
Was ist los? Bitte um Rat?
Ich habe den Code in den "Konstruktor" des benutzerdefinierten Indikators eingefügt. Er hat sie zusammengestellt. Der Compiler gab mir 1 Warnung: zwei OnCalculate sind definiert. Es wird die OHLC-Version verwendet (ich verstehe nicht, was das bedeutet).
Ich habe das Produkt zusammengestellt. Befestigen Sie es an der Tabelle. Das separate Fenster für das Diagramm wird geöffnet, aber es zeigt trotz der Ticks keine Informationen über das Histogramm an.
Was ist los? Können Sie uns beraten?
Wenn Sie den Code hier einfügen, verwenden Sie die Schaltfläche des Nachrichteneditors SRC - am oberen Rand des Nachrichtenfeldes gibt es viele nützliche Dinge in der Nachrichtenformatierung Panel.
Es ist doch nicht schwer, die Augen über den Text zu heben, den Sie gerade tippen, oder? Und es ist doch viel angenehmer für die Leute, sich den normalen Code anzuschauen, statt den Schnickschnack, oder?
Ich habe Ihren Code für Sie in Ihrem Beitrag korrekt eingefügt (SRC)
Wenn Sie den Code hier einfügen, verwenden Sie die SRC-Beitragseditor-Schaltfläche - es gibt viele nützliche Funktionen in der Beitragsformatierungsleiste oben im Beitragsfeld.
Es ist doch nicht schwer, die Augen über den Text zu heben, den Sie gerade tippen, oder? Und es ist doch viel angenehmer für die Leute, sich den normalen Code anzuschauen, anstatt den Schnickschnack, oder?
Ich habe Ihren Code in Ihrer Nachricht für Sie richtig gesetzt (SRC)
Ja, danke. Das habe ich nicht gewusst.
Gab 1 Warnung an den Compiler aus: zwei OnCalculate sind definiert. Es wird die OHLC-Version verwendet (ich weiß nicht, was das bedeutet).
Ich habe das Produkt zusammengestellt. Befestigen Sie es an der Tabelle. Das separate Fenster für das Diagramm wird geöffnet, aber es zeigt trotz der Ticks keine Informationen über das Histogramm an.
Was ist los? Bitte um Rat?
Die Funktion hieß früher Start, jetzt heißt sie OnTick im Expert Advisor und OnCalculate im Indikator. Der Compiler warnt: Sie haben die gleiche Funktion zweimal unter verschiedenen Namen. Verschieben Sie den Inhalt von Start nach OnCalculate und löschen Sie Start. Sie müssten auch in Ihrem Programm beschreiben, was und wie es angezeigt werden soll. Entscheiden Sie zunächst selbst, welches Bild dort zu sehen sein soll. Es ist besser, das Studium der MQL-Sprache mit dem Schreiben von Skripten zu beginnen. Ein Expert Advisor ist komplizierter, ein Indikator ist noch komplizierter
Die Funktion hieß früher Start, jetzt heißt sie OnTick im EA und OnCalculate im Indikator. Der Compiler warnt: Sie haben die gleiche Funktion zweimal unter verschiedenen Namen. Verschieben Sie den Inhalt von Start nach OnCalculate und löschen Sie Start. Sie müssten auch in Ihrem Programm beschreiben, was und wie es angezeigt werden soll. Entscheiden Sie zunächst selbst, welches Bild dort zu sehen sein soll. Es ist besser, das Studium der MQL-Sprache mit dem Schreiben von Skripten zu beginnen. Der Expert Advisor ist schwieriger, der Indikator ist noch schwieriger.
Ich kann den Inhalt von Start nicht in OnCalculate einfügen und erhalte eine Menge Fehler
Der Indikator zeigt nur Informationen ab dem Start an. Das Datenfenster (Ctrl-D) zeigt die Daten des Candlesticks, auf den der Cursor zeigt
:)
Und wie formulieren Sie die entstandene Situation mit Funktionsnamen?
start - veralteter Name. OnTick() ist der eigentliche Name der Tick-Handling-Funktion.
Wie auch immer, es macht keinen Unterschied, wie man es definiert, nur das Wort "trendy" hat mich zum Lächeln gebracht.
start - veralteter Name. OnTick() ist der eigentliche Name der Tick-Handling-Funktion.
Wie auch immer, es spielt keine Rolle, wie Sie es definieren, es ist nur das Wort "trendy", das Sie zum Lächeln bringt.