Bitte um Hilfe. Ich kann nicht verstehen, die for() Schleife, die ganze Zeit nach der Aktualisierung, weil der Offset(iMA(NULL,PERIOD_M1,1,1,MODE_SMA,PRICE_OPEN,i)) Der Indikator wird neu gezeichnet!
//+------------------------------------------------------------------+//| help.mq4 |//| Copyright 2014, MetaQuotes Software Corp. |//| http://www.mql5.com |//+------------------------------------------------------------------+#property copyright"2005-2014, MetaQuotes Software Corp."#property link"http://www.mql4.com"#property strict#include <MovingAverages.mqh>
//--- indicator settings#property indicator_separate_window#property indicator_buffers2#property indicator_color1 clrSilver#property indicator_color2 clrRed#property indicator_width1 2//--- indicator parametersinputint SignalSMA=8; // Signal SMA Period//--- indicator buffersdouble ExtBuffer[];
double ExtSignalBuffer[];
//+------------------------------------------------------------------+//| Custom indicator initialization function |//+------------------------------------------------------------------+intOnInit(void)
{
IndicatorDigits(Digits+1);
//--- drawing settingsSetIndexStyle(0,DRAW_HISTOGRAM);
SetIndexStyle(1,DRAW_LINE);
//--- indicator buffers mappingSetIndexBuffer(0,ExtBuffer);
SetIndexBuffer(1,ExtSignalBuffer);
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+//| Moving Averages Convergence/Divergence |//+------------------------------------------------------------------+intOnCalculate(constint rates_total,
constint prev_calculated,
constdatetime &time[],
constdouble &open[],
constdouble &high[],
constdouble &low[],
constdouble &close[],
constlong &tick_volume[],
constlong &volume[],
constint &spread[])
{
int i,limit;
//--- last counted bar will be recounted
limit=rates_total-prev_calculated;
if(prev_calculated>0)
limit++;
//--- counted in the 1-st bufferfor(i=0;i<limit;i++)
ExtBuffer[i]=(
iMA(NULL,PERIOD_CURRENT,1,0,MODE_SMA,PRICE_HIGH,i)
+iMA(NULL,PERIOD_M1,1,1,MODE_SMA,PRICE_OPEN,i)
);
//--- signal line counted in the 2-nd buffer
SimpleMAOnBuffer(rates_total,prev_calculated,0,SignalSMA,ExtBuffer,ExtSignalBuffer);
//--- donereturn(rates_total);
}
//+------------------------------------------------------------------+
Meiner Meinung nach ist dieser Ansatz überhaupt nicht logisch. Warum sollte man den Wochentag festlegen? Welchen Unterschied macht es, welcher Tag es ist, wenn die Bedingung lauten sollte: "Heute nicht mehr als xxx Aufträge eröffnen"?
Es erscheint mir logischer, die heute eröffneten Aufträge zu zählen und die entsprechende Bedingung anzugeben.
es gibt kein Datum der Auftragseröffnung.
Wenn Sie es wissen, schreiben Sie bitte, wie man es macht) Ich verstehe nicht, wie man sicherstellen kann, dass an einem bestimmten Tag nicht mehr als die n-te Anzahl von Aufträgen während des gesamten Tages geöffnet wird.
Bitte um Hilfe. Ich kann nicht verstehen, die for() Schleife, die ganze Zeit nach der Aktualisierung, weil der Offset(iMA(NULL,PERIOD_M1,1,1,MODE_SMA,PRICE_OPEN,i)) Der Indikator wird neu gezeichnet!
Ich danke Ihnen im Voraus.
Die MAs haben unterschiedliche TFs. Sie müssen den höheren Zeitrahmen irgendwie in die M1-TF einpassen, d.h. die MAs zweimal mit unterschiedlicher Anzahl von Ticks zählen. In diesem Fall wird ein und derselbe Wert der älteren Periode zu verschiedenen Werten der jüngeren Periode addiert.
Wenn Sie i durchgehen, erhalten Sie z. B. 10 Kerzen der Periode D1 und 10 M1. Logischerweise ist etwas falsch....
Und noch etwas: Wenn der Blinker auf M1 eingestellt ist, funktioniert er höchstwahrscheinlich ohne Nachbrisungen.
Die MAs haben unterschiedliche TFs. Sie müssen den höheren Zeitrahmen sozusagen in die M1-TF einpassen, d.h. die MAs zweimal mit unterschiedlicher Anzahl von Ticks zählen.
Wenn Sie durch i gehen, nehmen Sie jetzt zum Beispiel 10 Kerzen der Periode D1 und 10 M1. Logischerweise ist etwas falsch....
Ja, du hast recht, aber mein Verstand reicht noch nicht aus, um zu verstehen, wie man M1 richtig zählt.
cripple: Ja, du hast recht, aber mein Verstand reicht immer noch nicht aus, um herauszufinden, wie ich M1 dazu bringe, richtig zu zählen.
Außerdem muss ich M1 mit einem höheren Zeitrahmen synchronisieren, denn 1 Bar von M5 entspricht nicht unbedingt 5 Kerzen von M1, es können auch 4 oder 1 sein.
cripple: Ja, du hast Recht, aber mein Verstand reicht noch nicht aus, um zu verstehen, wie man M1 richtig zählt.
Versuchen Sie
intBars(
string symbol_name, // имя символаENUM_TIMEFRAMES timeframe, // периодdatetimestart_time, // с какой датыdatetime stop_time // по какую дату
);
Zeit des i-ten Taktes und setzt die resultierende Taktnummer anstelle von i ein.
LRA: Lieber novikov433!!! Ich bringe Ihnen das Programmieren bei oder schreibe Ihnen einen kostenlosen Expert Advisor oder beides!!! Im Gegenzug bringen Sie mir bei, wie verlustbringende Aufträge in verlustfreie Aufträge umgewandelt werden. Sie können ein einfaches Beispiel verwenden. Ich gebe meiner Frau einen Auftrag (Auftrag): Kaufe einen Eimer Kartoffeln früh morgens auf dem Markt, und um 10 Uhr (Fundamentalanalyse) steigt der Preis - verkaufe. Aber manchmal kommt eine LKW-Ladung Kartoffeln um 10:30 Uhr an (Nachrichten). Und der Preis (in den Nachrichten) fällt sofort und hält bis zum Ende des Tages oder sogar die ganze Woche über an. Ich setze einen Stop-Loss - wenn der Kurs um 10 Rubel fällt, verkaufe ich so schnell wie möglich (zum Marktpreis). Wie man die Reihenfolge ändert, um Verluste zu vermeiden. Wenn diese Variante interessant ist, schicken Sie uns Ihre E-Mail.
Das Problem ist, dass der Markt leicht auf die gewünschte Seite gegangen ist und dann wieder zurückging, so dass Sie das Geschäft zum Break-Even schließen und für einen Reverse öffnen müssen. ich wurde süchtig danach, sobald ich anfing. wieder einmal wurde ich davon überzeugt, dass es Blödsinn ist, mit Händen zu handeln. wie kann ich verstehen, warum ich so viele Komponenten in meinen Code schreiben muss?
ax00071: Vielen Dank für Ihre Aufmerksamkeit )) Ich bin ein Trottel ... ... beim Abschluss hatte ich die Bedingung, das Geschäft am Freitag um 22:00 Uhr abzuschließen, ohne zusätzliche Bedingungen zur Überprüfung der Geschäftsart. Das Geschäft selbst wurde ein paar Stunden früher abgeschlossen. Nun, als 22:00 Uhr kam, begann der Expert Advisor Aufträge zu senden, um einen Auftrag zu schließen, der bereits geschlossen war ... .
Sie sollten sich kaum als Pflanze bezeichnen. Wenn Sie es geschafft haben, einen solchen Fehler zu finden, zu verstehen und zu korrigieren, nähern Sie sich dem Niveau eines Programmierers!
Bitte um Hilfe. Ich kann nicht verstehen, die for() Schleife, die ganze Zeit nach der Aktualisierung, weil der Offset(iMA(NULL,PERIOD_M1,1,1,MODE_SMA,PRICE_OPEN,i)) Der Indikator wird neu gezeichnet!
Vielen Dank im Voraus.
Meiner Meinung nach ist dieser Ansatz überhaupt nicht logisch. Warum sollte man den Wochentag festlegen? Welchen Unterschied macht es, welcher Tag es ist, wenn die Bedingung lauten sollte: "Heute nicht mehr als xxx Aufträge eröffnen"?
Es erscheint mir logischer, die heute eröffneten Aufträge zu zählen und die entsprechende Bedingung anzugeben.
es gibt kein Datum der Auftragseröffnung.Wenn Sie es wissen, schreiben Sie bitte, wie man es macht)
Ich verstehe nicht, wie man sicherstellen kann, dass an einem bestimmten Tag nicht mehr als die n-te Anzahl von Aufträgen während des gesamten Tages geöffnet wird.
Bitte um Hilfe. Ich kann nicht verstehen, die for() Schleife, die ganze Zeit nach der Aktualisierung, weil der Offset(iMA(NULL,PERIOD_M1,1,1,MODE_SMA,PRICE_OPEN,i)) Der Indikator wird neu gezeichnet!
Ich danke Ihnen im Voraus.
Die MAs haben unterschiedliche TFs. Sie müssen den höheren Zeitrahmen irgendwie in die M1-TF einpassen, d.h. die MAs zweimal mit unterschiedlicher Anzahl von Ticks zählen. In diesem Fall wird ein und derselbe Wert der älteren Periode zu verschiedenen Werten der jüngeren Periode addiert.
Wenn Sie i durchgehen, erhalten Sie z. B. 10 Kerzen der Periode D1 und 10 M1. Logischerweise ist etwas falsch....
Und noch etwas: Wenn der Blinker auf M1 eingestellt ist, funktioniert er höchstwahrscheinlich ohne Nachbrisungen.
Die MAs haben unterschiedliche TFs. Sie müssen den höheren Zeitrahmen sozusagen in die M1-TF einpassen, d.h. die MAs zweimal mit unterschiedlicher Anzahl von Ticks zählen.
Wenn Sie durch i gehen, nehmen Sie jetzt zum Beispiel 10 Kerzen der Periode D1 und 10 M1. Logischerweise ist etwas falsch....
Ja, du hast recht, aber mein Verstand reicht immer noch nicht aus, um herauszufinden, wie ich M1 dazu bringe, richtig zu zählen.
Außerdem muss ich M1 mit einem höheren Zeitrahmen synchronisieren, denn 1 Bar von M5 entspricht nicht unbedingt 5 Kerzen von M1, es können auch 4 oder 1 sein.
Ja, du hast Recht, aber mein Verstand reicht noch nicht aus, um zu verstehen, wie man M1 richtig zählt.
Versuchen Sie
Zeit des i-ten Taktes und setzt die resultierende Taktnummer anstelle von i ein.
Lieber novikov433!!! Ich bringe Ihnen das Programmieren bei oder schreibe Ihnen einen kostenlosen Expert Advisor oder beides!!! Im Gegenzug bringen Sie mir bei, wie verlustbringende Aufträge in verlustfreie Aufträge umgewandelt werden. Sie können ein einfaches Beispiel verwenden. Ich gebe meiner Frau einen Auftrag (Auftrag): Kaufe einen Eimer Kartoffeln früh morgens auf dem Markt, und um 10 Uhr (Fundamentalanalyse) steigt der Preis - verkaufe. Aber manchmal kommt eine LKW-Ladung Kartoffeln um 10:30 Uhr an (Nachrichten). Und der Preis (in den Nachrichten) fällt sofort und hält bis zum Ende des Tages oder sogar die ganze Woche über an. Ich setze einen Stop-Loss - wenn der Kurs um 10 Rubel fällt, verkaufe ich so schnell wie möglich (zum Marktpreis). Wie man die Reihenfolge ändert, um Verluste zu vermeiden. Wenn diese Variante interessant ist, schicken Sie uns Ihre E-Mail.
Versuchen Sie
den Zeitpunkt des i-ten Taktes und setzt die daraus resultierende Taktnummer anstelle von i ein.
Haben Sie schon einmal an so etwas gedacht?
Vielen Dank für Ihre Aufmerksamkeit )) Ich bin ein Trottel ... ... beim Abschluss hatte ich die Bedingung, das Geschäft am Freitag um 22:00 Uhr abzuschließen, ohne zusätzliche Bedingungen zur Überprüfung der Geschäftsart. Das Geschäft selbst wurde ein paar Stunden früher abgeschlossen. Nun, als 22:00 Uhr kam, begann der Expert Advisor Aufträge zu senden, um einen Auftrag zu schließen, der bereits geschlossen war ... .