Fehler, Irrtümer, Fragen - Seite 289

 
nur Protokolle - die Neubewertung hat keinen Einfluss auf die Leistung des Expert Advisors
usw.

Hier ist der Code in der EA (versuchte viele Funktionen, um die Gleichheit der Indikatorlinie 0 zu bestimmen)

Ich habe die einfachste Variante gewählt.

if (Sp3Buffer[20]!=0 && Sp3Buffer[21]!=0 && Sp3Buffer[22]!=0 && Sp3Buffer[23]!=0 && Sp3Buffer[24]!=0)

hier haben wir die Werte der Indikatorzeile aus dem Protokoll des Testers über print

[20]=34.40035703438407[21]=35.93782852396674[22]=35.97127995180715[23]=30.49164953708304[24]=32.90441573888087

gibt es keine Null, aber wenn man sich den Indikator ansieht - eine klare Null - und in den Werten von

des Indikators ist ebenfalls Null.

Was zum Teufel?

 

Dies ist der Unsinn, der im Protokoll erscheint, nachdem der Aktualisierungsbefehl für das Diagramm ausgeführt wurde:

2011.02.03 02:24:51 HistoryBase '#IBM' 1 ungültige Balken entfernt
2011.02.03 02:24:50 HistoryBase '#IBM' 1 ungültige Balken entfernt
2011.02.03 02:24:49 HistoryBase '#IBM' 1 ungültige Balken entfernt
2011.02.03 02:24:48 HistoryBase '#IBM' 1 ungültige Balken entfernt
2011.02.03 02:24:47 HistoryBase '#IBM' 1 ungültige Balken entfernt
2011.02.03 02:24:46 HistoryBase '#IBM' 1 ungültige Balken entfernt

usw. im Sekundentakt.

TF-Wache

 
alexluek:
nur Protokolle - die Neubewertung hat keinen Einfluss auf die Leistung des Expert Advisors
usw.

Hier ist der Code in der EA (versuchte viele Funktionen, um die Gleichheit der Indikatorlinie 0 zu bestimmen)

Ich habe die einfachste Variante gewählt.

hier haben wir die Werte der Indikatorzeile aus dem Protokoll des Testers über print

gibt es keine Null, aber wenn man sich den Indikator ansieht - eine klare Null - und in den Werten von

des Indikators ist ebenfalls Null.

Was zum Teufel?

Haben Sie vergessen, die Anordnung umzukehren?
 
sergey1294:
Haben Sie vergessen, die Anordnung umzukehren?
Die umgekehrte Reihenfolge der Indexierung ist sowohl im Indikator als auch im Expert Advisor eingestellt, aber ich weiß nicht, was falsch ist. Dankeschön
 

Interessant ist, dass ein und derselbe Expert Advisor auf verschiedenen Computern dem Diagramm an verschiedenen Stellen Vorlagen hinzufügt:

auf 1 Computer von MetaTrader 5\Profiles\Templates

auf 2 Computer von MetaTrader 5\MQL5\Dateien

Hinzufügen einer Zeile inChartApplyTemplate(handle_Chart, "Sova15_30.tpl")

Was ist los, wer kann mir helfen, es herauszufinden?

 
Können Sie mir sagen, wie ich den Zeitpunkt der letzten Positionsänderung ermitteln kann?
 
beginner:

Können Sie mir sagen, wie ich den Zeitpunkt der letzten Positionsänderung ermitteln kann?
https://www.mql5.com/ru/articles/138 findet dort meinePosition.Zeit()
Как использовать торговые классы Стандартной библиотеки при написании советника
Как использовать торговые классы Стандартной библиотеки при написании советника
  • 2010.11.10
  • Samuel
  • www.mql5.com
В статье рассказывается о том, как использовать основной функционал торговых классов Стандартной библиотеки при написании советников, в которых применяется открытие, закрытие и модификация позиции, проверка свободной маржи перед размещением торговых ордеров, размещение и удаление отложенных ордеров. Показано, как использовать торговые классы для получения свойств ордеров и сделок.
 
beginner:

Können Sie mir sagen, wie ich den Zeitpunkt der letzten Positionsänderung ermitteln kann?

Ermitteln Sie, welcher Handel mit dem Symbol zuletzt getätigt wurde.

Sie können es entweder in OnTrade() oder in der Historie abfangen.

Trolle:
https://www.mql5.com/ru/articles/138 findet dort meinePosition.Zeit()

Auf diese Weise wird der Zeitpunkt der Positionseröffnung zurückgegeben, wenn ich mich richtig erinnere (d. h. soweit ich weiß, wird der Zeitpunkt des ersten Handels, der die Position eröffnet hat, zurückgegeben).

Was den erwähnten Artikel betrifft, so könnten myhistory und mydeal nützlich sein(vielleicht passt auch etwas anderes).

 
Interesting:

Ermitteln Sie, welcher Handel mit dem Symbol der letzte war.

Sie können es entweder in OnTrade() oder in der Historie abfangen.

Auf diese Weise wird der Zeitpunkt der Positionseröffnung zurückgegeben, wenn ich mich richtig erinnere (d.h., soweit ich es verstehe, wird der Zeitpunkt des ersten Handels, der die Position eröffnet hat, zurückgegeben).
Ja, das ist das Problem, d.h. wir müssen den letzten Handel für das gewünschte Instrument finden und seine Zeit erhalten, können Sie es einfacher machen?
 
beginner:
Ja, das ist das Problem, d.h. es ist notwendig, das letzte Geschäft für das gewünschte Symbol zu finden und seine Zeit zu erhalten, aber auf eine einfachere Weise?

Interessieren Sie sich für eine bestimmte Stelle (Symbol und Id sind bekannt) oder allgemein für alle Stellen?

Wenn Sie nur die Geschichte durchsehen und die Angebote analysieren (mit mydeal), dann ungefähr so:

1. Wir erhalten die Gesamtzahl der Geschäfte für den Zeitraum, gehen sie durch und wählen nur diejenigen für das Symbol und/oder diejenigen aus, die an der Bildung der Position beteiligt waren.

if (HistorySelect(0,TimeCurrent()))
ulong d_ticket; // deal ticket
{
// Получить общее количество сделок в истории
int tot_deals = HistoryDealsTotal();

  for(int j=0; j<tot_deals; j++)
  {
  d_ticket = HistoryDealGetTicket(j);

    if(d_ticket>0)  
    {
    mydeal.Ticket(d_ticket)

      if(mydeal.Symbol()==SymbolTitle)
      {
      //формируем список сделок и анализируем его (если я правильно понял последняя сделка наша)
      }

    }   

  }

}

2. es ist besser, Geschäfte nicht nach Symbolen, sondern nach der ID einer bestimmten Position auszuwählen (das ist einfacher und zuverlässiger).

Aber ich bin sicher, dass es korrektere und einfachere Lösungen gibt.

Grund der Beschwerde: