Wählen Sie ein Symbol in den Einstellungen - Seite 3

 
Alexey Viktorov:

Füllen Sie eine Reihe von Zeichen und arbeiten Sie mit der Reihe.

Es gibt einen kostenlosen EA, der den oben genannten Code verwendet ***


ps; drubashka, du hättest den Link entfernen sollen. Von meinen Produkten auf dem Marktplatz sind nur ZWEI bezahlt. Die eine aus dem Jahr 2017 wurde 4 Mal gemietet, die andere aus dem Jahr 2014 für 10 Pfund wurde kein einziges Mal gekauft. Hier ist also keine Werbung zu erwarten.

Ich weiß nicht, warum ich diesem Thread beigetreten bin - jetzt kämpfe ich, und es funktioniert nicht. Ich suche immer noch nach einem Weg, es zum Laufen zu bringen.

Ich weiß nicht, vielleicht klappt das ja.

struct translate{
   string EURUSD;
   string GBPUSD;
   string USDCHF;
   string USDJPY;
   string USDCAD;
   string AUDUSD;
   string AUDNZD;
   string AUDCAD;
   string AUDCHF;
   string AUDJPY;
   string CHFJPY;
   string EURGBP;
   string EURAUD;
   string EURCHF;
   string EURJPY;
   string EURNZD;
   string EURCAD;
   string GBPCHF;
   string GBPJPY;
   string CADCHF;
};
translate langs;
 
Aleksandr Klapatyuk:

Vielen Dank für die Antwort, ich weiß nicht, warum ich auf diesen Thread gekommen bin - jetzt habe ich Probleme und kann es nicht zum Laufen bringen.

Ich weiß nicht, vielleicht klappt das ja.

Sie verschwenden Ihre Zeit. Es ist nicht möglich, die Struktur oder die Aufzählung programmatisch zu füllen. Und das Array kann nur für einen Mehrwährungs-EA verwendet werden. Multicurrency EA ist nicht einer, der auf ein beliebiges Symbol gesetzt werden kann, sondern einer, der mehrere Symbole handeln kann, während er sich auf einem der Charts befindet. In diesem Link können Sie ein Beispiel für einen solchen Mehrwährungs-EA sehen. Die Auswahl der Währungen kann auf eine von drei Optionen eingestellt werden:

  1. nur das Paar, mit dem der Expert Advisor gehandelt wird
  2. eine durch Kommata getrennte Liste von Währungen, die gehandelt werden
  3. alle zum Zeitpunkt des Starts des Expert Advisors geöffneten Paare werden gehandelt
Aber die Optionen werden über ein Enum ausgewählt
 
Alexey Viktorov:

Sie sollten dies nicht tun. Weder die Struktur noch die Aufzählung können programmatisch ausgefüllt werden. Und das Array kann nur für einen EA mit mehreren Währungen verwendet werden. Multicurrency EA ist nicht derjenige, der auf ein beliebiges Symbol eingestellt werden kann, sondern einer, der sich auf einem der Charts befindet und mehrere Symbole handeln kann. Unter diesem Link finden Sie ein Beispiel für einen solchen Mehrwährungs-EA. Die Auswahl der Währungen kann auf eine von drei Optionen eingestellt werden:

  1. nur das Paar, mit dem der Expert Advisor gehandelt wird
  2. eine durch Kommata getrennte Liste von Währungen, die gehandelt werden
  3. alle zum Zeitpunkt des Starts des Expert Advisors offenen Währungspaare werden gehandelt
Aber die Optionen werden über ein Enum ausgewählt

Danke! Ich habe mit etwas angefangen, das ich mir nicht leisten kann. Ich möchte lieber etwas Einfacheres lernen.

Ich habe das schon einmal gemacht - es hat funktioniert.

string         Symb[3]={"EURUSD","GBPUSD","EURJPY"};
double         prPos[3];
------------------------------------------------------------
   for(int i=0;i<3; i++)
      if(PositionSelect(Symb[i]))
        {
         prPos[i]=(PositionGetDouble(POSITION_PROFIT)/PositionGetDouble(POSITION_VOLUME)/SymbolInfoDouble(Symbol(),SYMBOL_TRADE_TICK_VALUE))/n;
        }
      else
        {
         prPos[i]=0;
        }
 
Aleksandr Klapatyuk:

Danke! Ich mache etwas, das ich nicht kann. Ich würde lieber etwas Einfacheres lernen.

So habe ich es gemacht - es hat alles funktioniert.

Dies ist die zweite Option, die ich beschrieben habe. Handeln Sie Währungen aus der Liste, die in einer durch Komma getrennten Zeile vorbereitet wurde. Aber meine Version ist ein wenig anders. Die Liste sieht wie folgt aus

"EURUSD,GBPUSD,EURJPY"

dann wird das Array aus dieser Liste gefüllt, und es wird mit dem Array gearbeitet. Darüber hinaus wird das Währungssuffix definiert und automatisch angehängt, wenndas Feld gefüllt wird. Damit soll vermieden werden, dass die Liste in verschiedenen Konten erneut eingegeben werden muss.

 
Alexey Viktorov:

Wir sprechen nicht über dieselbe Sache.

simv

syTotal = SymbolsTotal(true) scheint immer 1 zu sein, denn wenn true, zeigt SymbolTotal() nicht die Anzahl der Symbole in Market Watch an, sondern die Anzahl der ausgewählten Symbole in Market Watch und das wirft die Frage auf, wie man durch die Liste geht, bevor man das nächste Element auswählt.

 
andre:


syTotal = SymbolsTotal(true) scheint immer 1 zu sein, denn wenn true, gibt SymbolTotal() nicht die Anzahl der Symbole in Market Watch an, sondern die Anzahl der ausgewählten Symbole, und das wirft die Frage auf, wie man durch die Liste geht, bevor man das nächste Element auswählt.

Im Testgerät gibt es immer ein Symbol. Deshalb gibt es in der EA-Beschreibung eine Warnung, dass man im Tester nur auf einem Symbol oder einer Liste von Symbolen testen kann.

 
Leider muss man, um es schön zu machen, die Eingabemaske selbst zeichnen, eine Dropdown-Liste implementieren, im Allgemeinen nichts grundlegend Kompliziertes, aber unübersichtlich. Wenn die Religion und/oder der Kunde es zulassen, ist es einfacher, es auf Sharp durch Windowsform zu implementieren. Was die technische Möglichkeit betrifft, dies im Standard-Panel zu tun, sehe ich im Prinzip keine Probleme, es ist eher eine Frage des Wunsches des Erstellers. Es ist möglich, die Auswahl von Werten zu implementieren, nur für Compiler sollten wir zusätzliche Schlüsselwörter einführen, um zu schreiben: __declsymb input string value=__default(oder __pos1), im Allgemeinen müssen die Entwickler von Compiler/Terminal dies entwickeln.
 
Vladimir Simakov:
Leider müssen Sie, um es schön zu machen, das Eingabefeld selbst zeichnen, eine Dropdown-Liste implementieren, im Allgemeinen nichts grundlegend Kompliziertes, aber unklar. Wenn die Religion und/oder der Kunde es zulassen, ist es einfacher, es auf Sharp durch Windowsform zu implementieren. Was die technische Möglichkeit betrifft, dies im Standard-Panel zu tun, sehe ich im Prinzip keine Probleme, es ist eher eine Frage des Wunsches des Erstellers. Es ist möglich, die Auswahl von Werten zu implementieren, nur für Compiler sollten wir zusätzliche Schlüsselwörter einführen, um zu schreiben: __declsymb input string value=__default(oder __pos1), im Allgemeinen müssen die Entwickler von Compiler/Terminal dies entwickeln.

Nun, ja. Wenn Sie dll verwenden, können Sie auf dem Terminal Panzer spielen. Das Problem wurde jedoch ohne Berücksichtigung der Möglichkeiten von dll

 
Alexey Viktorov:

Nun, ja. Wenn Sie die DLL verwenden, können Sie auch auf dem Terminal Panzer spielen. Aber das Problem wurde aufgeworfen, ohne die Fähigkeiten der DLL zu berücksichtigen

Dann beten Sie entweder zu den Machern oder schreiben Sie Ihr eigenes Eingabefeld. Beim Start des Roboters (komplizierter mit Indikator) wird in OnTimer() ein selbstgeschriebenes Eingabefeld gestartet, Daten eingegeben, dann geht der Roboter an die Arbeit. Das geht so.
 
Vladimir Simakov:
Dann beten Sie entweder zu den Machern oder schreiben Sie Ihr eigenes Eingabefeld. Wenn der Roboter startet (komplizierter mit Indikator), wird ein selbstgeschriebenes Eingabefeld in OnTimer() gestartet, die Daten werden eingegeben, dann beginnt der Roboter zu arbeiten. Das geht so.

Zuerst muss man sich fragen: "Wer braucht es?"

Ich würde es gerne versuchen, aber es hat nicht funktioniert. Ich habe dem Expert Advisor gesagt, dass es nicht mit MQL möglich ist. Aber niemand hat ihn gefragt, wie man das mit anderen Mitteln erreichen kann. Was ist der Sinn dieses Unsinns? Es gibt hier genug Leute, die Karikaturen auf dem Terminalplan zeichnen können.

Grund der Beschwerde: