Fehler, Irrtümer, Fragen - Seite 2124

 
Einschlägige

Forum zum Thema Handel, automatisierte Handelssysteme und Testen von Handelsstrategien

Wanzen, Wanzen, Fragen

fxsaber, 2018.02.07 15:48

Um die Frage zusammenzufassen. Was ist der Sinn von CAccountInfo, COrderInfo, CSymbolInfo, CPositionInfo und CTerminalInfo?

Ich habe mir ihren Quellcode angesehen. Was bringt es, sie zu benutzen?


CDealInfo und CHistoryOrderInfo - auch diese werden mit logischen Fehlern geschrieben. Was ist der Zweck ihrer Verwendung?


Nun, wir haben CTrade. Damit ist alles klar; es kann nützlich sein, wo und so weiter. Aber was ist mit den Info-Klassen?

Forum zum Thema Handel, automatisierte Handelssysteme und Strategietests

Wanzen, Wanzen, Fragen

fxsaber, 2018.02.07 15:53

Fast alle Methoden in Info-Klassen sollten statisch sein. Was ist der Grund dafür, dass dies nicht der Fall ist?
 
Das ist ein cooler Trick!
2018.02.08 10:59:53.209 Network '8491779': no connection to MetaQuotes-Demo
2018.02.08 10:59:53.329 Network '8491779': authorization on MetaQuotes-Demo failed (Invalid account)
2018.02.08 10:59:53.904 Network current demo account '8491779' was deleted on trade server, new demo will be allocated
2018.02.08 10:59:53.904 Network demo account '8782677' was allocated on MetaQuotes-Demo


Nur ich hatte ein Netting-Konto und erstellte Hedge. Können Sie das Konto mit denselben Einstellungen neu erstellen?

 
Kommentare, die für dieses Thema nicht relevant sind, wurden nach "Off-topic" verschoben.
 
fxsaber:
Das ist ein cooler Trick!


Nur ich hatte ein Netting-Konto und erstellte Hedge. Können Sie das Konto mit denselben Einstellungen neu erstellen?

Sie werden Ihre Nachricht hier nicht sehen - Sie müssen an den Service Desk schreiben. Ich weiß nicht, ob sie wiederhergestellt werden kann.

 
Rashid Umarov:

Ihre Nachricht wird hier nicht angezeigt - Sie müssen an den Service Desk schreiben. Ich weiß nicht, ob sie wiederhergestellt werden kann.

Ich habe eine obszöne Anzahl von Bewerbungen in der SR. Ich habe eine weitere erstellt, die aber nicht kritisch ist.

 

Der Fehler 4109 verschwindet nicht mit der Zeit

Experten-Testcode

//Test1.mq5
void OnInit() { if ( f() != ERR_SUCCESS ) EventSetTimer( 10 ); }
void OnTimer()
{
        int   last_error = f();
        if (  last_error == ERR_SUCCESS ) EventKillTimer();
static int count = 1;
        Print( "Повтор (", count++, ")… результат: ", last_error );
}
int f( long value=-1 ) { return ChartGetInteger(0,CHART_FIRST_VISIBLE_BAR,0,value) ? ERR_SUCCESS : GetLastError(); }

Beim Starten des Terminals wird in einigen Fällen folgendes Ergebnis zurückgegeben (*): Der Fehler 4109 verschwindet überhaupt nicht

2018.02.09 00:25:24.200 Test1 (ETHUSD,W1) Wiederholung (1)... Ergebnis: 0
2018.02.09 00:25:24.204 Test1 (EURUSD,D1) Wiederholung (1)... Ergebnis: 0
2018.02.09 00:25:24.204 Test1 (BTCUSD,M15) Wiederholung (1)... Ergebnis: 4109
2018.02.09 00:25:24.204 Test1 (BTCUSD,H1) Wiederholung (1)... Ergebnis: 4109
2018.02.09 00:25:24.205 Test1 (ZECUSD,D1) Wiederholung (1)... Ergebnis: 0
2018.02.09 00:25:24.205 Test1 (BTCUSD,M15) Wiederholung (1)... Ergebnis: 0
2018.02.09 00:25:24.343 Test1 (BTCUSD,D1) Wiederholung (1)... Ergebnis: 4109
2018.02.09 00:25:24.439 Test1 (BTCUSD,W1) Wiederholung (1)... Ergebnis: 4109
2018.02.09 00:25:34.195 Test1 (BTCUSD,H1) Wiederholung (2)... Ergebnis: 4109
2018.02.09 00:25:34.195 Test1 (BTCUSD,M15) Wiederholung (2)... Ergebnis: 4109
2018.02.09 00:25:34.348 Test1 (BTCUSD,D1) Wiederholung (2)... Ergebnis: 4109
2018.02.09 00:25:34.444 Test1 (BTCUSD,W1) Wiederholung (2)... Ergebnis: 4109
2018.02.09 00:25:44.203 Test1 (BTCUSD,M15) Wiederholung (3)... Ergebnis: 4109
2018.02.09 00:25:44.204 Test1 (BTCUSD,H1) Wiederholung (3)... Ergebnis: 4109
2018.02.09 00:25:44.367 Test1 (BTCUSD,D1) Wiederholung (3)... Ergebnis: 4109
2018.02.09 00:25:44.452 Test1 (BTCUSD,W1) Repeat (3)... Ergebnis: 4109
2018.02.09 00:25:54.214 Test1 (BTCUSD,M15) Wiederholung (4)... Ergebnis: 4109
2018.02.09 00:25:54.214 Test1 (BTCUSD,H1) Wiederholung (4)... Ergebnis: 4109
2018.02.09 00:25:54.381 Test1 (BTCUSD,D1) Wiederholung (4)... Ergebnis: 4109
2018.02.09 00:25:54.467 Test1 (BTCUSD,W1) Repeat (4)... Ergebnis: 4109
2018.02.09 00:26:04.221 Test1 (BTCUSD,M15) Wiederholung (5)... Ergebnis: 4109
2018.02.09 00:26:04.221 Test1 (BTCUSD,H1) Wiederholung (5)... Ergebnis: 4109
2018.02.09 00:26:04.395 Test1 (BTCUSD,D1) Wiederholung (5)... Ergebnis: 4109
2018.02.09 00:26:04.459 Test1 (BTCUSD,W1) Wiederholung (5)... Ergebnis: 4109
2018.02.09 00:26:14.247 Test1 (BTCUSD,M15) Wiederholung (6)... Ergebnis: 4109
2018.02.09 00:26:14.247 Test1 (BTCUSD,H1) Wiederholung (6)... Ergebnis: 4109
2018.02.09 00:26:14.402 Test1 (BTCUSD,D1) Wiederholung (6)... Ergebnis: 4109
2018.02.09 00:26:14.464 Test1 (BTCUSD,W1) Repeat (6)... Ergebnis: 4109
2018.02.09 00:26:24.265 Test1 (BTCUSD,M15) Wiederholung (7)... Ergebnis: 4109
2018.02.09 00:26:24.267 Test1 (BTCUSD,H1) Repeat (7)... Ergebnis: 4109
2018.02.09 00:26:24.399 Test1 (BTCUSD,D1) Wiederholung (7)... Ergebnis: 4109
2018.02.09 00:26:24.468 Test1 (BTCUSD,W1) Wiederholung (7)... Ergebnis: 4109 usw. bis unendlich

Aber in vielen Fällen ist das Ergebnis recht gut (**): Der Fehler verschwindet bei der 2. Iteration

2018.02.09 00:29:45.470 Test1 (BTCUSD,D1) Wiederholung (1)... Ergebnis: 0
2018.02.09 00:30:14.215 Test1 (BTCUSD,M15) Wiederholung (1)... Ergebnis: 4109
2018.02.09 00:30:14.215 Test1 (BTCUSD,D1) Wiederholung (1)... Ergebnis: 0
2018.02.09 00:30:24.209 Test1 (BTCUSD,M15) Wiederholung (2)... Ergebnis: 0

Aber es verschwand nur in einem einfachen Testbeispiel, in einem echten EA, auch wenn Sie eine Verzögerung mit EventSetTimer( 100 ) wird es nichts ändern. Der Fehler kann verschwinden, wenn Sie die entsprechende Registerkarte des problematischen Diagramms auswählen und darauf klicken (warum wirkt sich das aus???). Wenn Sie z. B. BTCUSD,W1 auswählen und darauf klicken, wird bei der nächsten Iteration ein erfolgreiches Ergebnis angezeigt:

Test1 (BTCUSD,W1) Wiederholen Sie (8)... Ergebnis: 0

Das Testprofil sah wie folgt aus:


Max. Balken im Fenster 100000.

Um ein Ergebnis (*) zu erhalten, reicht es in der Regel aus, ein paar neue Charts mit angeschlossenem Expert Advisor zu einem Profil hinzuzufügen und das Terminal neu zu starten

Запуск платформы - Для продвинутых пользователей - MetaTrader 5
Запуск платформы - Для продвинутых пользователей - MetaTrader 5
  • www.metatrader5.com
По завершении установки в меню "Пуск" создается группа программ торговой платформы, а на рабочем столе дополнительно помещается ярлык программы. Используйте их для запуска. Нельзя запускать одновременно две копии платформы из одной директории. Чтобы одновременно запустить несколько копий, установите соответствующее количество программ в разные...
 

Hallo zusammen!

Hat sich jemand gefragt: wie man eine Liste der externen Variablen innerhalb der EA zu bekommen? so dass sie nicht wiederholt in das Array aufzählen? d.h., wenn Sie es auf einem Diagramm zu installieren, die EA liest sich und schaut auf seine externen Einstellungen.

nur durch eine Vorlage?

 

Gebäude 1755 MT5

Bei Verwendung der Schriftart ROBOTO und der Größe 9 wird die Hälfte des Textes nicht gezeichnet.


bei Größe 8 - überhaupt kein Problem.


Arial ist weniger, aber die Schrift ist furchtbar.

 

Doppelte Transaktionen bei Verwendung einer UPU eines Drittanbieters

Problem der Sitzung. Wenn das vorherige Terminal nicht geschlossen wurde und ein neues geöffnet wird, funktioniert das alte Terminal und das neue Terminal funktioniert. wird dupliziert. :-)

@fxsaber irgendwo hast du geschrieben, wie man das nachverfolgen kann. kann es nicht finden

 
Vladislav Andruschenko:

Hallo zusammen!

Hat sich jemand gefragt: wie man eine Liste der externen Variablen innerhalb der EA zu erhalten? so dass sie nicht wiederholt in das Array aufzählen? d.h., wenn Sie es auf einem Diagramm zu installieren, die EA liest sich und schaut auf seine externen Einstellungen.

Nur über die Vorlage?

Ja, unter Verwendung der Vorlage.

#include <fxsaber\Expert.mqh> // https://www.mql5.com/ru/code/19003

input string Input1 = "Hello World!";
input int Input2 = 123;

string GetExpertData( const ulong Chart = 0 ) 
{ 
  string Str = NULL; 

  MqlParam Parameters[]; 
  string Names[]; 

  if (EXPERT::Parameters(Chart, Parameters, Names)) 
  { 
    Str += "\n" + ChartSymbol(Chart) + " " + EnumToString(ChartPeriod(Chart)) + " " + Parameters[0].string_value + "\n"; 

    const int Amount = ArraySize(Names); 

    for (int i = 0; i < Amount; i++) 
      Str += (string)i + ": "+ Names[i] + " = " + Parameters[i + 1].string_value + "\n"; 
  } 

  return(Str); 
}

void OnInit()
{
  Print(GetExpertData());
}


Das Ergebnis ist

0: Input1 = Hello World!
1: Input2 = 123


oder wie folgt

#include <fxsaber\Expert.mqh> // https://www.mql5.com/ru/code/19003

input string Input1 = "Hello World!";
input int Input2 = 123;

void OnInit()
{
  MqlParam Parameters[];
  string Names[];   
  
  if (EXPERT::Parameters(0, Parameters, Names))
    ArrayPrint(Parameters);
}


Ergebnis

    [type] [integer_value] [double_value]      [string_value]
[0]    ...               0        0.00000 "Experts\Test2.ex5"
[1]    ...               0        0.00000 "Hello World!"     
[2]    ...             123      123.00000 "123"