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

 

Artyom Trishkin:

Es sieht so aus, als hätte ich mich überarbeitet...

Sieht aus wie... ))))))

Wenn Sie einen EA gemäß den Anweisungen in der Hilfe und den Tutorials aller Art erstellen, wird genau die betreffende Vorlage erstellt. So habe ich es verstanden. Dann werden einige Stellen in dieser Vorlage korrigiert. Mir persönlich gefällt es nicht, dass OnDeinit() vor OnTick() steht und ich verschiebe es an das Ende des Codes. Ich mag auch nicht einige nicht wesentliche .... Wie auch immer, ich habe meine eigenen kleinen Käfer im Kopf...

 
Andrey Sokolov:

Es ist offensichtlich, dass ich auch an der Vorlage selbst interessiert bin.

vor etwa 5 Jahren, genau war eine Vorlage in den Ordner metaeditora, vor Regeln für mich, jetzt grub alle in den Ordner Terminal - nicht gefunden haben, aber es sollte irgendwo sein, gab es eine einfache Textdatei

ZS:

meine alten Terminals gefunden, nicht in der Distribution - bereits eingesetzt

Früher gab es Expertenvorlagen/Indikatoren/Skripte/Bibliotheken, alles war auf dem Weg:

....\experts\templates

und die Dateien befanden sich dort:

Einschließen.mqt

Bibliothek.mqt

Experte.mqt

Indikator.mqt

Skript.mqt


Ich habe versucht, den Vorlagenordner in den Ordner des installierten MT4 zu kopieren... ohne Erfolg (((

Dateien:
templates.zip  7 kb
 
Igor Makanu:

Vor etwa 5 Jahren gab es eine Vorlage im Meta-Editor-Ordner, ich habe sie für mich selbst bearbeitet, jetzt habe ich den Terminal-Ordner durchsucht und konnte sie nicht finden, aber sie muss irgendwo sein, es war nur eine einfache Textdatei

ZS:

meine alten Terminals gefunden, nicht in der Distribution - bereits eingesetzt

Früher gab es Expertenvorlagen/Indikatoren/Skripte/Bibliotheken, alles war auf dem Weg:

....\experts\templates

und die Dateien befanden sich dort:

Einschließen.mqt

Bibliothek.mqt

Experte.mqt

Indikator.mqt

Skript.mqt


Ich habe versucht, den Vorlagenordner in den Ordner des installierten MT4 zu kopieren... ohne Erfolg (((

Es ist schon lange her, dass die MCs solche Vorlagen aufgegeben haben.

 
Igor Makanu:

Vor etwa 5 Jahren gab es eine Vorlage im Meta-Editor-Ordner, ich habe sie für mich selbst bearbeitet, jetzt habe ich den Terminal-Ordner durchsucht und konnte sie nicht finden, aber sie muss irgendwo sein, es war nur eine einfache Textdatei

ZS:

meine alten Terminals gefunden, nicht in der Distribution - bereits eingesetzt

Früher gab es Expertenvorlagen/Indikatoren/Skripte/Bibliotheken, alles war auf dem Weg:

....\experts\templates

und die Dateien befanden sich dort:

Einschließen.mqt

Bibliothek.mqt

Experte.mqt

Indikator.mqt

Skript.mqt


Ich habe versucht, den Ordner templates in den Ordner des installierten MT4 zu kopieren... Leider nichts (((

Leider wieder "ach, nichts" - auch nicht im MT4!

Ich verstehe nicht, was hier los ist!

Igor!

Sie müssen "reflashen"!

Sonst wäre es nicht gut! Im Forum sagen sie ganz andere Dinge über dich!!!

 
Igor Makanu:

Es ist nicht wichtig, was die Leute über Sie sagen, sondern was die Leute über Sie sagen. (С)

Wenn Sie die Gedanken intelligenter Menschen (im Gegensatz zu Ihnen selbst) zitieren, sollten Sie einen Verweis anbringen!!!

Nach den Regeln für Veröffentlichungen muss das so sein. Um die Dummen von den Klugen zu unterscheiden.

https://socratify.net/quotes/iuristy-bostona/171580

Obwohl Mussolini das Gleiche sagte.

Не важно, что о тебе говорят, главное, что о тебе говорят
  • socratify.net
Если хочешь узнать человека, не слушай, что о нём говорят другие, послушай, что он говорит о других. Не важно, что тебе скажут другие о начале твоего пути. Важно, что они скажут после того когда ты добьешься своей цели. Вы знаете, что такое обаяние? Умение почувствовать, как тебе говорят «да», хотя ты ни о чем не спрашивал. Настоящий друг — это...
 
neverness:

Wenn Sie die Gedanken intelligenter Menschen (im Gegensatz zu Ihnen) zitieren, sollten Sie einen Hinweis darauf geben!!!

Das ist nach den Regeln des Verlagswesens so vorgesehen. Um die Dummen von den Klugen zu unterscheiden.

Sind wir jetzt beim Vornamen? OK

Sie haben das falsche Forum gewählt, um Ihrer Galle Luft zu machen, wie Sie es gewünscht haben: "Es ist lustig, einen Mann zu beobachten, der dich beleidigen will. Wie ein Affe, der Kacke wirft. Du stehst hinter dem Glas und er hat alle seine Pfoten im Spiel" (Internet)

 
Igor Makanu:

SELECT_BY_POS ist die Auswahl eines Auftrags "nach Warteschlange" in der Auftragsliste und in Ihrem Entwurf:

Sie versuchen, einen Auftrag auszuwählen, der in der Auftragswarteschlange steht ... und Sie verwenden hier die Ticketnummer, und Sie haben nur eine Bestellung und die Ticketnummer 10023444... Na und? Hier brauchen Sie eine Zahl von 1 bis 2,3 ... also, wie viele Aufträge Sie auf dem Markt haben, ... korrigiert die Zahl von 0,1,2 ... - Die Nummerierung beginnt bei 0 im Array und läuft bis zuOrdersTotal()-1

SELECT_BY_TICKET sollte funktionieren, aber nur bis zu dem Moment, in dem Sie die Ticketnummer haben, d.h. die Order, die Sie auf dem Markt haben, und darüber haben Sie eine Prüfung für das Senden der Order, und wenn die Order nicht gesendet wird, ist das Ticket = -1 !

Und alles in allem ist Ihr Entwurf für die Arbeit mit Aufträgen nicht korrekt. Wenn Sie sich entschieden haben, MQL zu studieren, finden Sie hier fertige Beispiele für die Arbeit mit Aufträgenhttps://www.mql5.com/ru/forum/131859

Vielen Dank für die Hilfe! Die Sache ist die, dass die Bestellung geöffnet wurde. Ich habe es überprüft. Das Ticket wurde zugewiesen. Aber als ich dann versuchte, sie auszuwählen, erhielt ich die Meldung -1. Im Gegensatz zu dem von Ihnen angeführten Beispiel wähle ich nicht ein Symbol usw. Ich habe 1 Auftrag mit einem bekannten Lot, einer Transaktion, ohne Stop Loss/Take Profit usw. In diesem Entwurf (der Einfachheit halber gewählt) erhalte ich einen Fehler 4051, wenn ich den Parameter SELECT_BY_TICKET verwende. Ich verstehe, dass die Verwendung von SELECT_BY_POS in diesem Fall nicht korrekt ist. Dies war ein Experiment, um besser zu verstehen, wie der Strategietester funktioniert. Dieses Experiment hat gezeigt, dass der Strategietester die vom Server zugewiesenen Tickets nicht zuordnet, wenn er den Server nicht erreichen kann, sondern lediglich Ordnungsnummern zuweist. Dennoch bleibt die Frage, warum der Fehler 4051 auftritt. Außerdem habe ich versucht, 0 in OrderSelect in Kombination mit SELECT_BY_POS als ersten Parameter einzugeben. Die Antwort ist dieselbe: 4051.
 
ski1973:
Vielen Dank für die Hilfe! Die Sache ist die, dass die Bestellung geöffnet wurde. Ich habe es überprüft. Ein Ticket wurde zugewiesen. Beim Versuch, sie auszuwählen, erhielt ich jedoch die Meldung -1. Im Gegensatz zu dem von Ihnen genannten Beispiel wähle ich kein Symbol usw. Ich habe 1 Auftrag mit einem bekannten Lot, einer Transaktion, ohne Stop Loss/Take Profit usw. In diesem Entwurf (der Einfachheit halber gewählt) erhalte ich einen Fehler 4051, wenn ich den Parameter SELECT_BY_TICKET verwende. Ich verstehe, dass die Verwendung von SELECT_BY_POS in diesem Fall nicht korrekt ist. Dies war ein Experiment, um besser zu verstehen, wie der Strategietester funktioniert. Dieses Experiment hat gezeigt, dass der Strategietester die vom Server zugewiesenen Tickets nicht zuordnet, wenn er den Server nicht erreichen kann, sondern lediglich Ordnungsnummern zuweist. Dennoch bleibt die Frage offen, warum der Fehler 4051 auftritt. Außerdem habe ich versucht, 0 in OrderSelect in Kombination mit SELECT_BY_POS als ersten Parameter einzugeben. Die Antwort ist dieselbe: 4051.

Wenn ich mich nicht irre, generiert der Strategietester Tickets einfach über die Auftragsliste: 1,2,3...

Leider müssen Sie selbst nach dem Fehler 4051 suchen und alle Variablen, die Sie an OrderSelect übergeben, neu drucken.

Oder Sie haben bereits einen geschlossenen Auftrag ausgewählt, und die Schlusszeit des geschlossenen Auftrags ist >0,

Trotzdem würde ich empfehlen, mit bereits existierenden (funktionierenden) Codes zu lernen, das war für mich einfacher!

 
ski1973:
Vielen Dank für Ihre Hilfe! Die Sache ist die, dass die Bestellung geöffnet wurde. Ich habe es überprüft. Das Ticket wurde zugewiesen. Aber als ich dann versuchte, sie auszuwählen, erhielt ich die Meldung -1. Im Gegensatz zu dem von Ihnen genannten Beispiel wähle ich kein Symbol usw. Ich habe 1 Auftrag mit einem bekannten Lot, einer Transaktion, ohne Stop Loss/Take Profit usw. In diesem Entwurf (der Einfachheit halber gewählt) erhalte ich einen Fehler 4051, wenn ich den Parameter SELECT_BY_TICKET verwende. Ich verstehe, dass die Verwendung von SELECT_BY_POS in diesem Fall nicht korrekt ist. Dies war ein Experiment, um besser zu verstehen, wie der Strategietester funktioniert. Dieses Experiment hat gezeigt, dass der Strategietester die vom Server zugewiesenen Tickets nicht zuweist, wenn er den Server nicht erreichen kann, sondern lediglich Ordnungsnummern zuweist. Dennoch bleibt die Frage, warum der Fehler 4051 auftritt. Außerdem habe ich versucht, 0 in OrderSelect in Kombination mit SELECT_BY_POS als ersten Parameter einzugeben. Die Antwort ist dieselbe: 4051.

Sie haben ein Problem in Ihrem Code.

double Lots=0.01;
int slippage=30;


void OnTick()
{
int numer=-10;//На каждом новом тике из за этого присвоения процедура Subr2 будет возвращать ошибку!!!
if(OrdersTotal()==0)numer=Subr1();
if(OrdersTotal()>0)Subr2(numer);
return;
}

int Subr1()
{
int result=-1;
int_result=OrderSend(_symbol,OP_BUY,Lots,slippage,0,0);
if(int_res<0){PrintFormat("OrderSend error = ",GetError());}
return int_result;
}
void Subr2(int order)
{
if(!OrderSelect(order,SELECT_BY_TICKET,MODE_TRADES)){PrintFormat("OrderSelect error %d",GetLastError());return;} else PrintFormat("Ok, OrderTicket = ",OrderTicket());
}
 
Hallo, irgendwelche Informationen darüber, ob mql4 in Zukunft unterstützt wird, wenn es scheint, dass der Verkauf von mt4 eingestellt wurde?