[ARCHIV] Alle Fragen von Anfängern, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Nirgendwo ohne dich - 3. - Seite 116
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
Leute, könnt ihr mir sagen, warum es einen Fehler über nicht in der Lage, einen Indikator in einem EA zu öffnen sein könnte?
Diese Bedingung ist erfüllt:
-Liste der Parameter (falls erforderlich). Die übermittelten Parameter müssen mit der Reihenfolge der Deklaration und dem Typ der externen (externen) Variablen des benutzerdefinierten Indikators übereinstimmen.
Sie sollten den Namen des Indikators überprüfen. Es könnte sein
Ich müsste den Namen des Indikators überprüfen. Ich weiß nicht, was das sein könnte.
Ich habe den Namen überprüft. Das ist in Ordnung. Ich finde es heraus...
P.S. Ich habe ein fünfstelliges DC-Terminal eingerichtet, alles dorthin verschoben, alles noch einmal überprüft, viele Code-Änderungen vorgenommen, es tritt kein solcher Fehler mehr auf.
1. Eröffnen Sie einen Auftrag, weisen Sie der Variablen PriceBuy den Wert des Eröffnungskurses zu und geben Sie eine entsprechende Meldung aus.
2. Eröffnen Sie einen neuen Auftrag mit denselben Bedingungen, wenn TakeProfit erreicht ist.
Hier ist der Programmcode:
extern double PriceBuy = 0;
extern bool Buy = true;
extern bool number = false;
int start()
{
if(Buy)
{
int ticket=OrderSend(Symbol(),OP_BUY,0.01,Ask,3,Bid-100*Point,Bid+100*Point);
if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)
PriceBuy=OrderOpenPrice();
Alert("Buy Price = ",PriceBuy);
Buy = false;
number = true;}
if (Bid+100*Point<=PriceBuy && number)
{PriceBuy = 0;
number = false;
Buy=true;}
return;
}
Vielen Dank im Voraus
O MQL-Programmiergurus, helfen Sie einem Neuling bei der Lösung eines Problems. Das Programm funktioniert nicht richtig, es tut nicht das, was es tun soll. Können Sie mir bitte sagen, wo mein Fehler liegt? Das Programm muss:
1. Öffnen Sie einen Auftrag, weisen Sie der Variablen PriceBuy den Wert des offenen Preises zu und geben Sie eine entsprechende Meldung aus.
Um einen neuen Auftrag mit den gleichen Bedingungen zu eröffnen , wenn TakeProfit erreicht ist.
Hier ist der Programmcode:
extern double PriceBuy = 0;
extern bool Kaufen = true;
extern bool number = false;
int start()
{
if(Kaufen)
{
int ticket=OrderSend(Symbol(),OP_BUY,0.01,Ask,3,Ask-100*Point,Ask+100*Point);
if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES))
PriceBuy=OrderOpenPrice();
Alert("Buy Price = ",PriceBuy);
Kaufen = false;
number = true;}
if(Gebot+100*Punkt<=PreisKaufen && Zahl)
{PreisKaufen = 0;
Zahl = false;
Buy=true;}
Rückkehr;
}
Vielen Dank im Voraus
Gebot>=PreisKaufen+100*Punkt
Ich möchte die Funktion CreateNamedPipe() von kernel32.dll verbinden. Ich muss Flaggen vom Typ Dword vorschreiben.
Ich mache es auf diese Weise:
#define ACCESS_SYSTEM_SECURITY 0x01000000L
Natürlich schwört der Compiler auf das L am Ende. Würden Sie mir sagen, was ich tun soll?
Ich muss den Namen des Indikators überprüfen. Das mag sein.
Ja, wirklich, Victor, mein Fehler war, dass ich versucht habe, es automatisch anzusprechen... :-))) zum Indikator über
... Ich habe die "kurzen" und "normalen" Namen nicht gefunden, wenn ich die Indikatorwerte über iCustom() anspreche, d.h. wenn sie nicht übereinstimmen, sollte der Indikator nur mit seinem "normalen" Namen angesprochen werden.
Ich danke Ihnen.
Hallo.
Bitte helfen Sie mir, einen Fehler zu finden.
Der Code ist so konzipiert, dass alle Positionen geschlossen werden, wenn der Kurs die im Diagramm eingezeichnete Linie überschreitet. Meistens ist das der Fall. Aber regelmäßig gibt es 2 Pannen: 1. Der Kurs überschreitet die Linie, aber die Positionen werden nicht geschlossen. 2. Die Linie schneidet das aktuelle Kursniveau (in einem Winkel), fällt aber nicht mit ihm zusammen (wirkt sich nicht auf die aktuelle Kerze aus), während alle Positionen geschlossen sind (was nicht passieren sollte).
Ich danke Ihnen im Voraus.
Bitte helfen Sie mir, den Fehler zu finden.
Ich ziehe die Frage zurück, ich habe es herausgefunden.
Ich möchte die Funktion CreateNamedPipe() von kernel32.dll verbinden. Ich muss Flaggen vom Typ Dword vorschreiben.
Ich mache es auf diese Weise:
#define ACCESS_SYSTEM_SECURITY 0x01000000L
Natürlich schwört der Compiler auf das L am Ende. Was schlagen Sie vor?
Entfernen Sie die Ziffer. Es können nur 8 Bits sein. MQL4 funktioniert nicht mit großen.
Sie müssen eine zusätzliche Null entfernen. Versuchen Sie es so: 0x1000000L
So funktioniert das nicht. Compiler gibt Fehler '0x1000000L' - ungültige Zahl
So funktioniert das nicht. Der Compiler erzeugt den Fehler '0x1000000L' - ungültige Zahl
Nachts überhaupt nicht denken... :-)) Im 16-Bit-System gibt es keine solche Zahl. Er ist ein Bezeichner eines konstanten Typs.
L sollte entfernt werden:0x01000000