Wie programmiert man? - Seite 273

 

takeprofit nicht ausgeführt

Dafür gibt es zwei mögliche Gründe.

Erstens könnte der Take-Profit zu nahe am Eröffnungskurs liegen, so dass der Broker ihn nicht akzeptiert.

Überprüfen Sie den Handel, um festzustellen, ob der Takeprofit einen Wert hat.

Zweitens werden Verkaufsgeschäfte zum Briefkurs abgeschlossen, so dass der Briefkurs das Take-Profit-Niveau erreichen muss.

Wie hoch ist der Spread bei Ihrem Broker für dieses Paar und zu diesem Zeitpunkt?

Das würde dazu führen, dass der tatsächliche Ausstieg bei Bid - Spread liegt.

Robert

 
LuisAY:

Ich würde gerne wissen, wie man diese in hellblau eingekreist zu lesen,

Gibt es ein Codebeispiel, das mich in die richtige Richtung weist?

Vielen Dank im Voraus.

Der Name des Indikators ist kein Kommentar.

Da der Name sichtbar ist, können Sie Folgendes verwenden

double MaxValue, MinValue;

int WindowNum = WindowFind("Volume"); // gibt -1 zurück, wenn nicht gefunden

if (WindowNum >= 0)

{

MaxValue = WindowPriceMax(WindowNum);

MinValue = WindowPriceMin(WindowNum);

}

Ich hoffe, das hilft.

Übrigens, wenn Sie den MT4-Editor öffnen, gibt es ein Fenster namens Navigator, in dem die Funktionen in MT4 mit Beschreibungen und Beispielen für ihre Verwendung aufgelistet sind.

Robert Hill

Professioneller MT4-Programmierer

 

[langtitle=de]takeprofit not executed[/langtitle]

MrPip:
Es gibt zwei mögliche Gründe.

Zunächst kann es sein, dass die Gewinnmitnahme zu nahe am Eröffnungskurs liegt, so dass der Broker sie nicht akzeptiert.

Überprüfen Sie den Handel, um festzustellen, ob der Takeprofit einen Wert hat.

Zweitens werden Verkaufstransaktionen zum Ask-Kurs abgeschlossen, so dass der Ask-Kurs das Take-Profit-Niveau erreichen muss.

Wie hoch ist der Spread bei Ihrem Broker für dieses Paar und zu diesem Zeitpunkt?

Das würde dazu führen, dass der tatsächliche Ausstieg bei Bid - Spread liegt.

Robert

[lang=de]Vielen Dank für Ihre schnelle Antwort.

Ich habe einen ECN Broker (FXOpen) (5digits). Ich denke, Sie haben Recht, was den Spread betrifft. Aber es ist ein konstanter Wert von 102 (=(Ask - Bid)*(1/Punkt)) und ändert sich nicht ständig, wenn ich den Strategietester laufen lasse. Warum eigentlich? Auf Live-Systemen ändert sich der Spread fast ständig. Und warum bekomme ich keinen OrderSend Error 130?

Vielen Dank für Ihre Hilfe.[/lang]

 
MrPip:
Der Name des Indikators ist kein Kommentar.

Da der Name sichtbar ist, können Sie verwenden

double MaxValue, MinValue;

int WindowNum = WindowFind("Volume"); // gibt -1 zurück, wenn nicht gefunden

if (WindowNum >= 0)

{

MaxValue = WindowPriceMax(WindowNum);

MinValue = WindowPriceMin(WindowNum);

}

Ich hoffe, das hilft.

Übrigens, wenn Sie den MT4-Editor öffnen, gibt es ein Fenster namens Navigator, in dem die Funktionen in MT4 mit Beschreibungen und Beispielen für ihre Verwendung aufgelistet sind.

Robert Hill

Professioneller MT4-Programmierer

Das ist genau das, wonach ich gesucht habe. Ich hatte nur gehofft, dass die technischen Schreiber der Hilfedatei den gesunden Menschenverstand haben, den Sie in diesem Beispiel zeigen.

Die andere Frage, die ich habe, ist: der Kommentar oder die Notiz, der/die als Name im benutzerdefinierten Indikator dient, heißt "IndicatorShortName" und enthält einen Wert, nun möchte ich diesen Wert lesen. Ich könnte einen Weg finden, indem ich eine Variable mache, die auch diesen Wert enthält, wenn ich sie deklariere, aber mir ist klar, dass es eine Möglichkeit geben muss, den Wert von "IndicatorShortName" zu verwenden.

Danke

 

Haha, ich habe es gefunden - die Codierung, die ich gemacht habe (aber ich benutze sie heute nicht mehr)

es sollte keinen SUGGESTION ENTRY geben, bis eine Konsolidierung beobachtet wird (also ist es irgendwie schlau -- einfache Logik, die aber benutzt wird)

formulieren Sie Ihre Fragen neu -- nicht klar

tiny.cc/imtran

====

dies ist ein Versuch, um zu zeigen, dass ich etwas programmieren kann

Ich habe 1 Monat an diesem Indikator gearbeitet (ich habe ihn selbst entwickelt)

Er verwendet den weißen Kommentartext

um mir zu sagen, auf welchem Preisniveau ich eine Limit-Order platzieren soll

lassen Sie diese 3 Links, wenn Sie gerne lesen, öffnen Sie die METAEDITOR IDE und lernen mq4 Codierung -- sollte einige bessere Indikator-Beispiel verwenden -- es ist wie

Farbe und Dicke definieren

Zeichnen Sie einige Dinge auf dem Chart

die Anzahl der Kerzen zählen

eine arithemtische (also schwere) Formel ausführen

mehr Berechnungen und ifthenelse durchführen

die meisten MQ4-Indikatoren sind in diesem Format, also achten Sie darauf, >> etwas auf dem Chart zu zeichnen

---- es könnte ein bisschen implizit sein, oder autorun für einige endgültige Zeichnung, aber mq4 sind wie diese Art ---

http://tiny.cc/linsay3

http://tiny.cc/linsay2

http://tiny.cc/linsay1

Ich gebe meine DEVELOPMENT STUFF nicht so einfach her

- das mag für den Handel nicht hilfreich sein (aber ich habe viel über MQ4 gelernt, der Compiler ist nicht so hart)

es gibt ein Mitglied namens WID - ich bin mir nicht sicher, wie gut er programmiert, aber wenn er gut ist und sich an die Vertraulichkeitsvereinbarung hält, würde ich ihm den ganzen Indikator geben (eine gute Sache, um herumzuspielen)

===

Eigentlich habe ich hier einen Punkt

COMMENT -- keine andere MQ4-Funktion ist einfacher als diese

sehr ähnlich zu PRINT ("oooh, forex bluffer, good time to enter at price" ; perfectpriceVariable);

d.h. sie kann als TEXT-Advisor, Trigger, Anzeige eines beliebigen Variablenwertes usw. verwendet werden.

Fügen Sie es einfach zu Ihrem Lieblingsindikator hinzu, dann können Sie es erscheinen und verschwinden lassen und Ihnen den TRIGGER geben

-Vergleich mit vor ein paar Stunden etc === alle diese Codes sind CHILDPLAY

Wie auch immer, wenn Sie Ihren Lieblingsindikator haben, müssen Sie diesen Indikator zuerst von innen nach außen verstehen

z.B. welches SIGN du suchst, wie sich die Variable verändert

BEVOR Sie eine Kommentarzeile hinzufügen können (.... ....) [ Ich habe ein Beispiel hier im ScreenCap]

Ich wünschte nur, dass mehr Leute gerne programmieren, anstatt zu jammern - indem sie folgendes schreiben

==== nehmen wir an, dass "IndicatorShortName" wirklich eine Variable in MQ4 ist

Sie könnten es irgendwo als Kommentar einfügen ("\n", "diese Variable hat in diesem Kerzenbalken ungefähr den Wert ", IndicatorShortName);

Allerdings muss man "IndicatorShortName" im gesamten MQ4-Indikator suchen, um herauszufinden, was das ist! Ist es eine Variable oder taucht es wirklich im Indikator auf oder ist es ein externer Aufruf -- externe Aufrufe können schwierig sein, die Leute schreiben so etwas, damit es wie OOP aussieht

 
coollex:
[lang=de]Vielen Dank für Ihre schnelle Antwort.

Ich habe einen ECN Broker (FXOpen) (5digits). Ich denke, Sie haben Recht, was den Spread betrifft. Aber es ist ein konstanter Wert von 102 (=(Ask - Bid)*(1/Punkt)) und ändert sich nicht ständig, während ich den Strategietester ausführe. Warum eigentlich? Auf Live-Systemen ändert sich der Spread fast ständig. Warum bekomme ich außerdem keinen OrderSend Error 130?

Vielen Dank für Ihre Hilfe[/lang]

Das bedeutet nur, dass Grund 1 nicht das Problem ist.

Bei Grund 2 liegt der TP bei 1,44743 und der Spread bei 102 Punkten. Das bedeutet, dass der Bid bei 1,44641 liegen müsste, wenn der Ask den TP erreicht, um den Handel zu beenden. Aus Ihrem Chartbild geht hervor, dass dies nicht der Fall war.

Denken Sie daran, dass die Balken auf dem Chart vom Bid aus erstellt werden.

Robert

 

iCustom, Indikator und EA zum Öffnen von Aufträgen

Hallo zusammen,

ich bin neu in der mql-programmierung.

ich habe eine Funktion in indi, die die Stärke aller Währungen bestimmt. was ich tun möchte, ist die Eröffnung von Aufträgen für profitable Paare. dafür habe ich eine "for"-Schleife, die die maximale Stärke der Währung bestimmt und dann eine weitere "for"-Schleife, die die schwächste Währung bestimmt.

Ich weiß nicht, was ich in indi tun soll, das später in EA verwendet werden kann, um Aufträge für profitable Paare zu öffnen.

Bitte prüfen Sie den Funktionscode unter....

allcurr = alle Währungen

cpow = Währungsmacht

void pro (int allcurr, double cpow)

{

for (allcurr=0; allcurr<CurrencyCount; allcurr++)

{

if (cpow > 150 || cpow >160)

{

for (allcurr=0; allcurr<CurrencyCount; allcurr++)

{

if (cpow > 40 || cpow > 0)

{

I AM STUCK HERE

} // end for weak if

} // end for weak

} // end for max if

} // end for max

} // end void pro
 

iCustom, Indikator und EA zum Öffnen von Aufträgen

Hallo zusammen,

ich bin neu in der mql-programmierung.

ich habe eine Funktion in indi, die die Stärke aller Währungen bestimmt. was ich tun möchte, ist, Aufträge für profitable Paare zu öffnen. dafür habe ich eine "for"-Schleife, die die maximale Stärke der Währung bestimmt und dann eine weitere "for"-Schleife, die die schwächste Währung bestimmt.

Ich weiß nicht, was ich in indi tun soll, das später in EA verwendet werden kann, um Aufträge für rentable Paare zu öffnen.

Bitte prüfen Sie den Funktionscode unter....

allcurr = alle Währungen

cpow = Stärke einer Währung

void pro (int allcurr, double cpow)

{

for (allcurr=0; allcurr<CurrencyRepeat; allcurr++)

{

if (cpow > 150 || cpow >160)

{

for (allcurr=0; allcurr<CurrencyRepeat; allcurr++)

{

if (cpow > 40 || cpow > 0)

{

I AM STUCK HERE

} // end for weak if

} // end for weak

} // end for max if

} // end for max

} // end void pro
 

OrderComment ändern?

Hallo,

Gibt es eine Möglichkeit, den OrderComment zu ändern, nachdem die Order erstellt wurde?

Ich habe einen EA, der schwebende Aufträge in Schlüsselpunkten erstellt, die wahrscheinlich erreicht werden, aber manchmal müssen diese Aufträge aufgrund unerwünschter schneller Bewegungen auf den Charts storniert/gelöscht werden, daher ist es nicht möglich, die Ticketnummer zu verwenden, um jeden Auftrag zu identifizieren, da jeder Schlüsselpunktauftrag mehrmals geöffnet und storniert/gelöscht werden kann, Stattdessen verwendet der EA einen eindeutigen OrderComment, um jede Order zu identifizieren, aber hin und wieder fällt der Computer, auf dem der EA läuft, aus oder die Internetverbindung bricht zusammen, und das bringt die Identifizierung der Key Point-Order durcheinander, und deshalb wäre es sinnvoll, den OrderComment zu ändern, um Fehler zu vermeiden, die durch das Chaos entstehen, das entsteht, wenn der EA neu startet, ohne die vorherige Ausführung zu beenden.

Sehr verwirrend, nicht wahr?

P.S. Die magische Zahl wird verwendet, um die vom EA erstellten Aufträge zu identifizieren, daher kann ich diese Zahl nicht verwenden, um jeden Auftrag einzeln zu identifizieren.

Wenn mir jemand sagen könnte, ob es eine Möglichkeit gibt, die OrderComments zu ändern, wäre ich sehr dankbar,

Ich danke Ihnen im Voraus.

 

Ich weiß nicht, ob ich Sie gut verstanden, aber in dem Moment, wenn Sie"Stack" etwas mit Puffer von Indikator tun - Sie müssen denken, was Wert Sie in diesem Puffer / Puffer haben wollen.

zweitens, schauen Sie in dieses Stück Code:

if (cpow > 150 || cpow >160)

if (cpow > 40 || cpow > 0)

[/CODE]

this same effect will be when You change it for:

[CODE]

if (cpow > 150)

if (cpow > 0)

edit: Ich weiß nicht, welchen Effekt Sie wollen, aber versuchen Sie, Arrays zu verwenden - wahrscheinlich wird benötigt werden.

Viele Grüße

Polnischer Computerstudent mit großer Erfahrung in MQL kann für Sie programmieren.

Angebot per Mail: gaa1(at)poczta(dot)fm

Billig, gut, schnell && und professionell.