[WARNUNG GESCHLOSSEN!] Alle Fragen von Neulingen, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Ohne dich kann ich nirgendwo hingehen. - Seite 64
Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Können Sie bitte beraten, wie man einen EA eine Bestellung für mehrere Symbole auf einmal öffnen zu machen? >> Vielen Dank im Voraus!
Dies ist nicht möglich, da der EA nur für ein Symbol eine Order eröffnen kann, und Sie dann auf den Abschluss warten müssen (und dieser ist nicht immer erfolgreich und nicht immer schnell), um den Handelsfluss für andere Orders freizugeben.
Meine Herren, bitte beraten Sie einen Neuankömmling! Ich lud das Tutorial MQl4BookRussian.chm (Autor Sergey Kovalev), das Problem ist, dass das Drucken von diesem Format ist sehr unordentlich. Probyby hat diesen Text in das doc-Format kopiert, die Bilder verschwinden. Wissen Sie, ob das Lehrbuch in einem Format erhältlich ist, das sich zum Ausdrucken eignet (zum Lesen am Bildschirm, die Augen werden müde)?
Testen Sie die Online-Version des Lehrbuchs direkt auf der Website https://book.mql4.com/ru/. Und Sie können es ohne Probleme in ein Dokument übertragen.
Dies ist nicht möglich, da ein EA nur einen Auftrag für ein Symbol eröffnen kann. Danach müssen Sie warten, bis der Handelsvorgang abgeschlossen ist (und das ist nicht immer erfolgreich und nicht immer schnell) und der Handelsfluss für andere Aufträge verfügbar wird.
Mit dem Handelsfluss verstehe ich alles, aber wie kann man nacheinander auf 3 Instrumenten mit minimalen Intervallen Eröffnungsgeschäfte machen (laut dem Algorithmus des Beraters sollte die Eröffnung in einer bestimmten Sekunde auf drei Währungen gleichzeitig beginnen)? Wenn es Ihnen nichts ausmacht, könnten Sie einen Codeschnipsel als Beispiel veröffentlichen? Ich wäre Ihnen sehr dankbar!
int start()
{
if (OrdersTotal() == 0
&& TimeDayOfWeek(TimeCurrent()) == 5
&& TimeHour(TimeCurrent()) == 12
&& TimeMinute(TimeCurrent()) == 30
&& TimeSeconds(TimeCurrent()) >= 00)
{
Alert("Тра ляля");
OrderSend(Symbol(),OP_SELL,Lots,Bid,3,0,0,"sell",999999,0,Red);
}
Wenn dies der gesamte Code ist, lässt er sich nicht einmal kompilieren. Wenn Sie eine Zahl anstelle von Lot einsetzen, funktioniert der EA einwandfrei.
Ich verstehe alles mit dem Handelsfluss, aber wie zu machen Geschäfte öffnen nacheinander auf 3 Symbole mit minimalen Abständen (nach dem EA-Algorithmus, die Eröffnung sollte in einer bestimmten Sekunde auf drei Währungen auf einmal starten)? Wenn es Ihnen nichts ausmacht, könnten Sie einen Codeschnipsel als Beispiel veröffentlichen? Ich werde Ihnen sehr dankbar sein!
Ich vermute, Sie brauchen nur 3 Aufträge für verschiedene Instrumente zu öffnen? Warum nicht eine Flaggenvariable erstellen, zum Beispiel
In globalen Variablen erstellen
int flag=0;
string Symb;
///////////////
weiter
int start()
{
if (условие открытия)
{flag=1;}
if (flag==1)
{
Symb="EURUSD";
OrderSend(Symb,...)///Открываем, переносим флаг во 2 состояние для открытия след ордера и
flag=2; ///выходим тк больше мы ни чего не можем сделать
return(0);
}
if (flag==2)
{
Symb="AUDUSD";
OrderSend(Symb,...)
flag=3;
return(0);
}
if (flag==3)
{
Symb="USDJPY";
OrderSend(Symb,...)
flag=0;//Возвращаем флаг в начальное состояние..
return(0);
}
return(0);}
Es wäre auch schön, eine offene Prüfung hinzuzufügen und die Fahne erst zu bewegen, wenn die Prüfung erfolgreich war.
Wenn dies der gesamte Code ist, lässt er sich nicht einmal kompilieren. Wenn Sie eine Zahl anstelle von Lot einsetzen, funktioniert der EA einwandfrei.
Überprüfen Sie den Datentyp von Lot. Es sollte das Doppelte sein.
Also, nur ein kurzer Blick. Ich habe die Begriffe nicht verstanden, aber bei der zweiten Variante gibt es keine Kreuzung.
Und noch etwas: Die Funktion OrderSend gibt ein int-Ticket zurück, so dass es korrekt ist, den Erfolg auf diese Weise zu überprüfen:
In Ihrem Fall müssen Sie prüfen, ob die Angaben falsch sind:
______
Ja, ich weiß nicht, wie es anderen geht, aber für mich klingt das Wort "Experten" wie eine Verhöhnung. Vielleicht ist das der Grund, warum Sie so lange keine Antwort erhalten haben. ;)
Hallo!!!!!!!!!!!!!!
Ja, was auch immer Sie........ sagen, nennen Sie es nicht so..... Experten ist eine Abkürzung für Spezialisten (Menschen mit Wissen, sozusagen Lehrer).
Es ist mir egal...... Ich meinte nur positiv und freundlich ........
Aber keine Sorge........
Ganz am Anfang dieses Threads habe ich nach den MA gefragt. Die Antworten waren sehr clever. Jetzt bin ich wieder dabei.
Eine Idee kam auf.....
Ich habe beschlossen, die Handelsbedingungen ein wenig zu ändern. Aber es funktionierte nicht(((((((( Ich wollte open_1 und open_0 (Eröffnungskurs am ersten Takt und
Open price on a zero bar) Als ich es überprüfte, gab es Fehler, ich musste zur ursprünglichen Version zurückkehren (die ich oben angegeben habe).
Wie mir erklärt wurde, ist open[1] ein Aufruf von array cell mit dem Namen open und dem Index [1]. All dies ist gut...... aber brauchen nur einen offenen Preis auf 1(2,0) bar
Tipps für den Dummy.....)))))))).....
Wie kann man nachverfolgen, dass der schwebende Auftrag ausgelöst wurde (z. B. beim Kauf)? Ist es besser, ihn anhand seiner ID in der Historie zu suchen, oder gibt es eine kürzere Option?
Versuchen Sie dies
OrderSelect(1, SELECT_BY_POS)
if(OrderOpenTime()!=0)
{
///необходимая операция
}
Dies ist jedoch nur möglich, wenn Sie nur 1 Auftrag haben!