Wie programmiert man? - Seite 88

 
flourishing:
Wie kann ich erreichen, dass comment(1 / 2) 0,5 anzeigt? Vielen Dank!

Bitte versuchen Sie dies:

Comment(DoubleToStr(1/2, 1));

Das zweite Argument der Funktion DoubleToStr() ist die Anzahl der Stellen nach dem Dezimalpunkt.

 
ak97052d:
hallo

wie man dies codiert:

Ich brauche, um einige Informationen aus dem letzten geschlossenen Handel zu extrahieren,

und danach einige Informationen aus diesem letzten Handel verwenden

z.B.:

wenn letzter Handel Gewinn >0 'lasttradeprofit = 1'

und wenn letzter Handel <=0 'lasttradeprofit = 0'

lasttradeprofit = 1 // wenn letzter Handel >0

lasttradeprofit = 0 // wenn letzter Abschluss <=0

danke

Es ist einfach, die Historie zu scannen und OrderCloseTime() zu überprüfen:

datetime LastCloseTime;

bool LastTradeIsProfit;

for(int i = 0; i > OrderHistoryTotal(), i ++)

{

OrderSelect(i, SELECT_BY_POS, MODE_HISTORY);

if(OrderMagicNumber() != Magic) continue;

if(OrderCloseTime() > LastCloseTime)

{

LastCloseTime = OrderCloseTime();

LastTradeIsProfit = (OrderProfit() > 0);

}

}
 
ak97052d:
Hallo, versuchen Sie dies!

Vielen Dank für die Bearbeitung Experte

können Sie diese ea mit meiner Idee ändern

von meiner Idee nach dem Öffnen zwei Aufträge erklären wir diese Informationen

1- alle Aufträge haben feste Stop-Loss gleich 10pip

2- wenn der erste Auftrag in den Gewinn geht, öffnen wir 2* diesen Auftrag, aber tp=erster Auftrag tp-fix sl

3- traling sl zum zweiten Auftrag Eröffnung Ort

Beispiel:

eur/usd

der erste Kurs ist: 1,5200

1-eröffnen von zwei Aufträgen ( buy@ 1.5200 0.1 lot size sl=10 tp 50 & sell@1.5200 0.1 lot size sl=10 tp=50)

Der Preis steigt auf 15210

2 - zu diesem Zeitpunkt (mein Verkaufsauftrag wird geschlossen und ich eröffne einen zweiten Kaufauftrag in der Größe von 0,2 Lots bei sl=10 tp=40 und einen ersten Auftrag, der auf 1,5210 fällt)

Der Preis steigt auf 1,5220

3-zu diesem Zeitpunkt (Eröffnung der Kauforder 0.4 lot size by sl=10 tp=30 und zwei vorhergehende Orders sl traling auf 1.5220)

4-.....

5....

Wenn der Preis auf 1,5250 steigt, werden alle Aufträge um 560$ geschlossen

aber zu diesem Zeitpunkt unsere Aufträge sl wir nur Verlust 60$

diese Methode hat ein sehr hohes Risiko

 
ak97052d:
Hallo, versuchen Sie das!

Entschuldigen Sie bitte, dass der Experte sl diese Formel verwenden muss, um ein positives Ergebnis zu erzielen, wenn derfix sl ein schlechtes Ergebnis hat

Auftrag sl = ((MaxTrades*MinGS)+SL) - (n*MinGS)

Beispiel für diese Info

extern int MinGS=5;

extern int TP=20;

extern int SL=10;

extern double lot=0.10;

extern int MaxTrades=7;

extern int RegularSpread=2;

extern double Multiplier=2;

extern double LotInc=0;

extern double MarginLevelAlert=1000;

wir haben

Sl erster Ordnung= ((7*5)+10)-(0*5)=40

sl zweiter Ordnung= ((7*5)+10)-(1*5)=35

und andere sl sind

35

30

25

20

15

 
 

Wolfe's Frage

wolfe:
Weiß jemand, wie man einen Indikator in einem EA so programmieren kann, dass er automatisch an das Diagramm angehängt wird, an das der EA angehängt ist, wenn man ihn aufruft? Auf diese Weise wäre es visuell in genau der gleichen Zeit wie das, was von Ihrem EA gelesen wird. Danke!

Die vorherige Antwort war unvollständig.

Wenn der Indikator standardmäßig in MT4 enthalten ist, wird er an der normalen Stelle angezeigt. Wenn er von iCustom aufgerufen wird, wird er auch angezeigt, wenn er richtig codiert ist.

Bei den folgenden EAs werden die Indikatoren sogar im Chart-Fenster angezeigt. Studieren Sie sie, um zu erfahren wie:

bouncingPipEA_mpowerV42.mq4

bouncingPipEA_BigBear_v23.mq4

Großer Bär

 

Spread in Pending Order

Hallo Leute,

ich habe einen EA erstellt, der die täglichen Höchst- und Tiefststände zwischen einigen Perioden berechnet und dann Pending Orders mit Kauf-/Verkaufsstopps platziert, die in 12 Stunden ablaufen werden.

Ich habe es in GBP-JPY-Paar (8 Pips Spread in meinem Broker)

int ticket, SL, TP; //SL= StopLoss , TP= TakeProfit

int Spacing = 10; // Spacing Pips

double vAsk = HighestPrice+Spacing*Point; // raise/lower 10 pips for OP Buystop/Sellstop , HighestPrice= some highest price

ticket=OrderSend(Symbol(),OP_BUYSTOP,Lots,vAsk,0,vAsk-SL*Point,vAsk+TP*Point,"Pending Order BUY STOP",20070125,CurTime() + 12 * 3600,Green);

Das Ergebnis: Die Pending Order Buy Stop wurde ausgeführt, obwohl der Preis sie nicht berührt hat. Ich habe den OP Buy Stop nachverfolgt, der zum Preis von 204,08 platziert wurde, aber er wurde ausgeführt, als der Preis bei 204,00 lag. Es scheint, dass der Spread-Faktor eine Rolle spielt.

Mein Freund hat mir gesagt, dass manuelle Pending Order Buystop/Sellstop ohne Spread-Faktor ausgeführt wird, aber warum ist das bei der Platzierung der Order durch EA anders?

Gibt es also irgendwelche Fehler in meinem Code?

Vielen Dank im Voraus.

 
mastoto:
Hallo Leute,

Ich habe eine EA, die täglich hi-low zwischen einigen Zeitraum berechnet, und dann Platz schwebende Aufträge buystop/sellstop, die in 12 Stunden ablaufen wird.

Ich lasse es in GBP-JPY-Paar (8 Pips Spread in meinem Broker)

int ticket, SL, TP; //SL= StopLoss , TP= TakeProfit

int Spacing = 10; // Spacing Pips

double vAsk = HighestPrice+Spacing*Point; // raise/lower 10 pips for OP Buystop/Sellstop , HighestPrice= some highest price

ticket=OrderSend(Symbol(),OP_BUYSTOP,Lots,vAsk,0,vAsk-SL*Point,vAsk+TP*Point,"Pending Order BUY STOP",20070125,CurTime() + 12 * 3600,Green);

Das Ergebnis: Die Pending Order Buy Stop wurde ausgeführt, obwohl der Preis sie nicht berührt hat. Ich habe den OP Buy Stop nachverfolgt, der zum Preis von 204,08 platziert wurde, aber er wurde ausgeführt, als der Preis bei 204,00 lag. Es scheint, dass der Spread-Faktor eine Rolle spielt.

Mein Freund hat mir gesagt, dass manuelle Pending Order Buystop/Sellstop ohne Spread-Faktor ausgeführt wird, aber warum ist das bei der Platzierung der Order durch EA anders?

Gibt es also irgendwelche Fehler in meinem Code?

Vielen Dank im Voraus.

Wenn Ihr "HighestPrice" ein BID-Preis ist, wie es bei allen Charts der Fall ist, müssen Sie wahrscheinlich den Spread hinzufügen. Jede BUY-Order wird durch einen ASK-Preis ausgelöst.

 

Wie erhalte ich die Informationen auf dem Hauptdiagramm?

Ich habe einen Indikator heruntergeladen, der einen grünen/roten Pfeil anzeigt, wenn das Kauf-/Verkaufssignal kommt.

Nun möchte ich meinen eigenen EA auf Basis dieses Indikators programmieren.

aber ich habe nur die ex4-Datei dieses Indikators (kein Quellcode)

Ich möchte, dass mein EA den Indikatorpfeil auf dem Mainchart liest und die Kauf-/Verkaufsorder sendet (grüner Pfeil==>Kauf, roter Pfeil==>Verkauf)

Gibt es irgendeinen Ansatz, um Informationen über den Indikatorpfeil auf dem Hauptdiagramm zu erhalten?

Danke

 
shanyang:
Ich habe einen Indikator heruntergeladen, der einen grünen/roten Pfeil anzeigt, wenn das Kauf-/Verkaufssignal kommt.

Jetzt möchte ich meinen eigenen EA auf der Grundlage dieses Indikators programmieren.

aber ich habe nur die ex4-Datei dieses Indikators (kein Quellcode)

Ich möchte, dass mein EA den Indikatorpfeil auf dem Hauptchart liest und den Kauf/Verkaufsauftrag sendet (grüner Pfeil==>Kauf, roter Pfeil==>Verkauf)

Gibt es irgendeinen Ansatz, um Informationen über den Indikatorpfeil auf dem Hauptchart zu erhalten?

danke

Der EA muss die Indikatorsignale mit der Funktion iCustom(); auf- bzw. abrufen. Sie benötigen dazu nicht den Quellcode.

FerruFx