Fragen Sie! - Seite 147

 
AceFX:
Ben,

Ich kann Ihnen nicht genug für die schnelle und hilfreiche Antwort danken. Sie hatten absolut Recht und ich bin dadurch einen Schritt näher dran!

Ich habe jedoch noch eine weitere Frage: Ich versuche, einen Break-Even-Punkt auf einem Niveau unterhalb des Trailing-Stops hinzuzufügen, komme aber nicht weiter:

extern bool UseBreak_Even = True;

extern int Break_Even = 20;

...

Kann ich auch hier einen Ratschlag bekommen?

Nochmals vielen Dank und auf Wiedersehen!

-Ace

Hallo, Breakeven ist eine einfache Funktion, Sie müssen nur verstehen, was Sie brauchen, und dann werden Sie in der Lage sein, sich zu überlegen, was Sie schreiben, um es geschehen zu lassen.

1. Breakeven = Verschiebung des Stoploss zum Eröffnungskurs der Order, wenn der Stoploss unter dem Eröffnungskurs liegt (für Kauf, über dem Eröffnungskurs für Verkauf).

Um zu prüfen, ob der Stoploss unter dem Eröffnungskurs liegt, verwenden wir normalerweise Folgendes: OrderStopLoss()<OrderOpenPrice()

2. Bevor Sie zum Breakeven übergehen, müssen Sie prüfen, ob die Bedingungen erfüllt sind. Ich verwende etwas wie dieses:

if(bid>OrderOpenPrice()+breakeven*point) move

3. Bewegen. Ich verwende etwas wie dies:

ordermodify(symbol(),bla-bla-bla,,,stoploss,takeprofit,0);

bla-bla-bla = eine Reihe von Parametern, die sich bei geöffneten Aufträgen nicht ändern, wie z.B. der offene Preis (kann bei schwebenden Aufträgen geändert werden)

stoploss = Ich setze normalerweise orderopenprice() hier ein, damit die Order mit 0 Pip Gewinn geschlossen wird.

takeprofit = wenn Sie nicht wollen, dass sich der TP ändert, geben Sie einfach OrderTakeProfit() ein (Groß- und Kleinschreibung beachten!)

Ich hoffe, das hilft und ja, es überlässt Ihnen die Arbeit selbst zu tun.

Oh, und wie Sie den Auftrag finden, den Sie ändern möchten:

for(int i=0;i<=OrdersTotal();i++) {

if(!OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) continue;

if(OrderSymbol()!=Symbol()) continue;

if(OrderMagicNumber!=MagicNumber) continue;

if(your-condition-here) your-action-here;

}

Das sollte genügen Dieser Zyklus durchläuft einfach die Aufträge und findet jeden einzelnen Auftrag, der gerade geöffnet ist. Er filtert dann Aufträge mit einer anderen magischen Zahl (Sie müssen die magische Zahl zuerst definieren) und solche mit einem anderen Symbol(Währungspaar) heraus.

Hoffentlich hilft das

nck

Danke, aber der Code ist ohne die Indikatoren goldminer1 und goldminer2 nutzlos

Der neue EA ist beigefügt. Ich konnte ihn aus offensichtlichen Gründen nicht testen, also geben Sie mir bitte nicht die Schuld, wenn er nicht so funktioniert, wie er sollte. Er sollte bestehende Aufträge schließen, wenn ein neues Signal empfangen wird, aber es könnte einen Konflikt zwischen den Signalen geben, da unterschiedliche Indikatoren für Kauf und Verkauf verwendet werden.

Viel Spaß mit dem neuen EA!

Dateien:
 

Handelsgröße pro Tick oder Balken in MT4

Hallo,

Ich hoffe, dass jemand mit guten Kenntnissen der MT4-Interna meine Frage beantworten kann und dass diese Antwort für alle von Nutzen sein könnte: Ich kann nirgends finden, wie man eine Handelsgröße für eingehende Ticks oder für einen Balken erhält. Dies scheint ein grundlegendes Marktmerkmal zu sein, aber die MarketInfo-Funktion liefert es nicht. Ist dies in MT4 überhaupt möglich?

Danke

 
atkfam:
Hallo!

Ich hoffe, dass jemand mit guten Kenntnissen der MT4-Interna meine Frage beantworten kann und dass diese Antwort für alle von Nutzen sein könnte: Ich kann nirgends finden, wie man eine Handelsgröße für eingehende Ticks oder für einen Balken erhält. Dies scheint ein grundlegendes Marktmerkmal zu sein, aber die MarketInfo-Funktion liefert es nicht. Ist das in MT4 überhaupt möglich?

danke

double Volumen[]

Serien-Array, das die Tick-Volumina der einzelnen Balken des aktuellen Charts enthält.

double iVolume( string symbol, int timeframe, int shift)

Gibt den Tick-Volumenwert für den Balken des angegebenen Symbols mit Timeframe und Shift zurück. Wenn die lokale Historie leer ist (nicht geladen), gibt die Funktion 0 zurück.

Für den aktuellen Chart befinden sich die Informationen über die Tick-Volumina der Balken in dem vordefinierten Array Volume[].

Ist es das, wonach Sie suchen? Die Volumina basieren auf der Anzahl der Ticks, die während des Balkens empfangen wurden, können während des Backtests generiert werden und sind für jeden Broker unterschiedlich. Ich fürchte, sie haben keinen großen Wert.

 

Handelsgröße pro Tick oder Balken in MT4

Shinigami,

Vielen Dank für Ihre Antwort, aber ich bin auf der Suche nach der tatsächlichen Handelsgröße, die mit jedem Tick verbunden ist. Jeder Tick scheint eine Kauf-/Verkaufstransaktion zu sein, und ich würde wirklich gerne die tatsächliche Größe einer solchen Transaktion wissen. Sind es 100 Standard-Lots oder 1 Lot oder Microlot? Das macht einen Unterschied.

 

Hallo Coder und andere Händler, ich habe eine Frage, aber mehr über Logik.

Ich bin (erfolglos) versucht seit geraumer Zeit, eine einfache EA zu tun und hoffentlich werden Sie mir helfen, einen nächsten Schritt zu tun.

Ich habe einen benutzerdefinierten Indikator ( 2MA CrossoverWithPrice ) und ich würde gerne einen Kauf tätigen, wenn die blauen Pfeile erscheinen und verkaufen, wenn der rote Pfeil erscheint.

Ich habe den Indikator mit der Funktion iCustom wie folgt aufgerufen:

iCustom(NULL,0, "2MA CrossoverWithPrice",0,0,CLR_NONE);

und kompilierte den EA und es scheint alles in Ordnung zu sein, da ich eine Warnung auf dem Chart erhalte, wenn ich den Indikator anschließe (sie besagt, dass der benutzerdefinierte Indikator angeschlossen ist).

Was mich stört ist, dass ich nicht weiß, was ich als nächstes tun soll, wie ich dem EA sagen kann, dass er kaufen und verkaufen soll, weil der Indikator 2 Arten von Pfeilen erzeugt.

Kann mir jemand in irgendeiner Weise helfen? Ratschläge oder etwas bitte?

 

Handelskontext beschäftigt

Hallo, kennt jemand eine Möglichkeit, einen Abschluss oder eine Eröffnung an Ihren Broker zu senden, wenn Sie immer wieder das Signal "Trade Context Busy" erhalten?

 

Hinzufügen von MA-Stufen zu einem Indikator

Ich fürchte, ich kann bei den obigen Fragen nicht helfen, da ich wohl der neueste Möchtegern-Programmierer hier bin

Ich habe erfolgreich (endlich!) meinen ersten einfachen Indikator erstellt, der einfach 4 EMAs auf einem Chart platziert - und sie können angepasst werden WOW! Ich bin wirklich sehr zufrieden

Jetzt würde ich gerne die Möglichkeit haben, einem oder mehreren der EMAs Levels hinzuzufügen. Weiß jemand, wie man das im Code macht? Ist es auch möglich, sie als externe Variable zu haben - um die Niveaus variieren zu können - oder müsste dazu ein anderer Parameter verwendet werden?

Sobald ich dies knacken kann, werde ich Show boolesche Dinge hinzufügen, so dass ich jede EMA ausschalten kann - kleine Schritte zu einer Zeit. Die Theorie ist, finden Sie die beste passende EMA und fügen Sie Ebenen, die den Bereich (vielleicht 2 Ebenen nach oben und zwei nach unten).

Vielen Dank im Voraus,

Dave

 
willmalou:
Hallo, kennt jemand eine Möglichkeit, eine Close- oder Open-Order an Ihren Broker zu senden, wenn Sie immer wieder das Signal "Trade Context Busy" erhalten?

Sie müssen die Order in eine Schleife einfügen und die Antwort Ihres Brokers überprüfen. Wenn die Antwort -1 ist, senden Sie den Auftrag erneut. Vielleicht möchten Sie eine kleine Verzögerung einbauen, bevor Sie die Order mit der Sleep-Funktion erneut senden.

Viel Glück!

Lux

 
atomi50:
Hallo Coder und Traderkollegen, ich habe eine Frage, aber mehr zur Logik.

Ich bin (erfolglos) versucht seit geraumer Zeit, eine einfache EA zu tun und hoffentlich werden Sie mir helfen, einen nächsten Schritt zu tun.

Ich habe einen benutzerdefinierten Indikator ( 2MA CrossoverWithPrice ) und ich würde gerne einen Kauf tätigen, wenn die blauen Pfeile erscheinen und verkaufen, wenn der rote Pfeil erscheint.

Ich habe den Indikator mit der Funktion iCustom wie folgt aufgerufen:

iCustom(NULL,0, "2MA CrossoverWithPrice",0,0,CLR_NONE);

und kompilierte den EA und es scheint alles in Ordnung zu sein, da ich eine Warnung auf dem Chart erhalte, wenn ich den Indikator anschließe (sie besagt, dass der benutzerdefinierte Indikator angeschlossen ist).

Was mich stört, ist, dass ich nicht weiß, was als nächstes zu tun, wie man den EA zu kaufen und zu verkaufen, weil der Indikator 2 Arten von Pfeilen erstellt sagen.

Kann mir jemand in irgendeiner Weise helfen, einen Rat geben oder sonst etwas?

Nun, Sie sind mit der icustom falsch für einen Start. Die letzte Variable sollte der Balken sein, den Sie überprüfen möchten, normalerweise 0 oder 1, oder es könnte eine Variable sein. Ich bin nicht sicher, warum Sie eine Farbe senden?

Die vorletzte Variable ist der Puffer, den Sie zurückgeben wollen. Wenn nur die beiden Pfeile vorhanden sind, würde ich auf die Puffer 0 und 1 tippen. Sie sollten also prüfen, ob einer der beiden auf etwas anderes als 0 oder NULL gesetzt ist, je nach Indikator. Sie müssten sich den Code des Indikators ansehen, um herauszufinden, welcher Puffer mit welchem Pfeil verbunden ist, und ihn dann entsprechend verwenden.

Lesen Sie sich die icustom-Funktion noch einmal durch.

Viel Glück!

Lux

 

Plot Lower TF MA-Cross on Higher TF Chart?

Hallo,

Ich möchte wissen, wie ich eine MA-Kreuzung im unteren Zeitrahmen auf einem Chart mit höherem Zeitrahmen darstellen kann.

Ich möchte z.B. einen Pfeil auf dem H1-Chart zeichnen, wenn sich die MA5 und MA10 des M15 kreuzen.

Bitte lassen Sie es mich wissen.

Vielen Dank!

JForex.

Grund der Beschwerde: