Fragen von Neueinsteigern zu MQL4 und MQL5, Hilfe und Diskussion über Algorithmen und Codes - Seite 221

 
ax00071: Das Protokoll zeigt einen Versuch, buy2 zu schließen, unbekanntes Ticket für orderclose-Funktion. Code aus dem Gedächtnis, da ich bei der Arbeit bin

Ah. Ich schreibe aus dem Gedächtnis, da ich auch bei der Arbeit bin. Versuchen Sie: und Ticket mit dem im Bericht über den Abschluss der Bestellung vergleichen. Im Testgerät scheint es 0, 1, 2, 3, .... zu sein.

RefreshRates(); // Это обязательно ДО OrderSelect() и лучше в таком виде: while (! RefreshRates()) ;
for(int i=OrdersTotal()-1; i>=0; i--)
  if (! OrderSelect(i,SELECT_BY_POS)) continue;
  Ticket=OrderTicket(); 
  Lot   =OrderLots();

  // Сообщение о попытке следует выдавать ДО ее осуществления, т.к. попытка может что-то изменить
  Alert ("Попытка закрыть Buy Ticket=",Ticket, "  Lot=",Lot);  // Кажется Alert в тестере бестолкова, попробуйте Print
  Ans=OrderClose(Ticket,Lot,OrderClosePrice() ... );
}

 
novikov433:

Ich möchte lernen, wie man einen EA erstellt. Vielleicht ändert sich der Markt und ich muss mehr bezahlen, um zum Beispiel den Algorithmus ein wenig zu ändern?

Ich weiß nicht, ob ich wirklich einen TS in irgendeinem Eulenkonstruktor erstellen kann, aber ich würde lieber die grundlegenden Funktionen verstehen, wie z. B. einen Stopp an einem bestimmten Ort zu setzen oder einen Auftrag für den Handel an bestimmten Tagen zu erteilen.

Ich habe keine Ahnung, was man mit 1,2,3 usw. auch im Konstruktor machen soll, und warum es wichtig ist, alles in dieser Reihenfolge mit Pfeilen zu verbinden. Wer liefert mql 4 Training von A bis Z und nicht wie Internet-Krieger, die Kurse erstellen, die nichts im Detail erklären, warum es so passiert, in Worten, du wirst nichts Neues selbst machen, du wirst nur ihren Code kopieren müssen .... Ich meine, sie wissen, welche Order wofür verantwortlich ist, und sie haben nicht einfach auf zufällige ..... gezeigt. Nun, lassen Sie die Profis Pyramiding, Dynamic Lot, Smart Stop machen; meine Aufgabe ist eine andere - die erforderlichen Filter herunterzuladen und das Wesen der Trendbildung zu verstehen. Vielen Dank für Ihre Hilfe!

Sie brauchen nur die verfügbaren Unterlagen und müssen in der Lage sein, das Gelesene zu lesen und zu verstehen. Wenn Sie den Text beim ersten Mal nicht verstanden haben, lesen Sie ihn mehrmals und am besten in einem langsameren Tempo, damit Ihr Gehirn Zeit hat, den Sinn des Gelesenen zu erkennen.

Und danach hat die Phantasie freie Hand.

Ich möchte einen Auftrag zu folgenden Bedingungen eröffnen Öffnen Sie den Abschnitt "Handelsfunktionen" in der Dokumentation und suchen Sie die Funktion, die den Auftrag öffnet, und schreiben Sie sie entsprechend der Syntax...

Oh, ja... müssen Sie die Bedingung erfüllen... ...öffnen Sie den Abschnitt "Operatoren", lesen Sie"Bedingte if-else-Anweisung" und schreiben Sie die erforderliche Bedingung.

Danach lesen Sie die Dokumentation von Anfang bis Ende, um herauszufinden, was in der Sprache enthalten ist und was Sie bekommen können.

Торговые функции - Справочник MQL4
Торговые функции - Справочник MQL4
  • docs.mql4.com
Торговые функции - Справочник MQL4
 
mich wieder :)
Ich habe eine Funktion geschrieben, die es erlaubt, nicht mehr als n Aufträge an einem Tag zu öffnen.
Jetzt entleert die Funktion das Depot, d.h. die Aufträge werden bei jedem Tick geöffnet.

Wo habe ich wieder Mist gebaut?)

int OrderMax = 3; // maximale Anzahl von Aufträgen, die an einem Tag eröffnet werden können.
void OpenOrders()
{
for (int i = 1; i <= 5; i++)
{
if (DayOfWeek() == i)
{
int count_max = 0;
if (Anzahl_max <= OrderMax)
{
for(int cn = OrdersTotal()-1; cn>=0; cn--)
{
if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES) && OrderType() == OP_BUY)
count_max++;
}
}
}
}
}
 
Leute, ist es möglich, mit einem EA Aufträge für andere Paare zu eröffnen? Zum Beispiel steht ein EA nur auf EURAUD und unter der Bedingung, dass ein Handel mit den Paaren EURAUD und GBPUSD eröffnet wird. Was sollte die Bedingung sein, wenn möglich?
 
ivan-baaton:
Ich wieder:)
Ich habe eine Funktion geschrieben, die es erlaubt, nicht mehr als n Aufträge an einem Tag zu eröffnen.
Jetzt verliert diese Funktion das Depot, d.h. es werden bei jedem Tick Aufträge eröffnet.

Wo habe ich wieder Mist gebaut?)

int OrderMax = 3; // maximale Anzahl von Aufträgen, die an einem Tag eröffnet werden können.
void OpenOrders()
{
for (int i = 1; i <= 5; i++)
{
if (DayOfWeek() == i)
{
int count_max = 0;
if (Anzahl_max <= OrderMax)
{
for(int cn = OrdersTotal()-1; cn>=0; cn--)
{
if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES) && OrderType() == OP_BUY)
count_max++;
}
}
}
}
}

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 sinnvoller, die heute eröffneten Aufträge zu zählen und eine entsprechende Bedingung in die Bedingung aufzunehmen.

                     if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES) && OrderType() == OP_BUY)
                     count_max++; 
Es fehlt die Definition des Eröffnungsdatums des Auftrags.
 

Rustam Bikbulatov:
Ребята, можно ли с помощью одного советника открывать ордера на других парах? Например Советник только стоит на паре EURAUD и при условии открытии открывается сделка на парах EURAUD и GBPUSD. Какое должно быть условие если будет возможность?

Sie kann.

Nur im Testgerät funktioniert es nicht.

int  OrderSend(
   string   symbol,              // символ
   int      cmd,                 // торговая операция
   double   volume,              // количество лотов
   double   price,               // цена
   int      slippage,            // проскальзывание
   double   stoploss,            // stop loss
   double   takeprofit,          // take profit
   string   comment=NULL,        // комментарий
   int      magic=0,             // идентификатор
   datetime expiration=0,        // срок истечения ордера
   color    arrow_color=clrNONE  // цвет
   );
 
Alexey Viktorov:
Das tut sie.

Nur im Testgerät funktioniert es nicht.


Wie listet man sie auf, Komma oder &&?
 
Rustam Bikbulatov:

Wie listet man sie auf? Komma oder &&?

Was istdas? Eine Liste von Zeichen oder was?

Jeder OrderSend hat sein eigenes einzelnes Zeichen. Keine Kommas oder anderes Zeug...

 
Alexey Viktorov:

Was istdas? Eine Liste von Zeichen oder was?

Jeder OrderSend hat sein eigenes einzelnes Zeichen. Keine Kommas oder anderes Zeug...


Listenpaare
 
LRA:

Ah. Ich schreibe aus dem Gedächtnis, da ich auch bei der Arbeit bin. Versuchen Sie es: und vergleichen Sie das Ticket mit dem, was der Auftrag im Bericht enthält. Im Testgerät scheint es 0, 1, 2, 3, .... zu sein.

Danke für die Vorwarnung )) 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. Um 22:00 Uhr begann der Expert Advisor also, Aufträge zu senden, um einen bereits geschlossenen Auftrag zu schließen ...
Grund der Beschwerde: