[WARNUNG GESCHLOSSEN!] Alle Fragen von Neulingen, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Ohne dich kann ich nirgendwo hingehen. - Seite 591
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
Helfen Sie mir, ein Problem zu lösen
Ich probiere alle geschlossenen Posten aus
for (int i=0; i<OrdersHistoryTotal(); i++)// Für alle Aufträge
if(OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)==true)
dann nach magischer Zahl filtern
wenn (BestellMagischeZahl()==12)
Filter erfüllt 3 Positionen, aber ich brauche nur die letzte geschlossene Position
Sie können nicht herausfinden, wie Sie nur das letzte Exemplar übrig lassen können?
Danke
Auch das ist dringend notwendig.
Helfen Sie mir, das Problem zu lösen.
Ich wähle nach allen geschlossenen Positionen aus
for (int i=0; i<OrdersHistoryTotal(); i++)// auf alle Bestellungen des Terminals
if(OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)==true)
anschließend Filter nach magischer Zahl
wenn (BestellMagischeZahl()==12)
der Filter entspricht 3 Positionen, aber ich brauche nur die letzte geschlossene Position
Sie können nicht herausfinden, wie Sie nur das letzte Exemplar übrig lassen können?
Danke
Bitte um Hilfe! Ich möchte, dass der Auftrag sofort nach dem Schließen des alten Auftrags zum Tp- oder SL-Preis eröffnet wird.
#property copyright "Copyright © 2010, MetaQuotes Software Corp.
#property link "http://www.metaquotes.net"
#property show_confirm
extern int MaxRisk=3;
extern bool Buy=false; //zur Eröffnung eines Kaufauftrags
extern bool Sell=true; //um einen Verkaufsauftrag zu eröffnen.
extern inttern MagicNumber=7749;
extern TP=210;
extern inttern SL=420;
{
double point=MarketInfo(Symbol(),MODE_POINT);//Abfrage Point
double Free=AccountFreeMargin();
double One_Lot =MarketInfo(Symbol(),MODE_MARGINREQUIRED);
double Step =MarketInfo(Symbol(),MODE_LOTSTEP);
double Lot =MathFloor(Free*MaxRisk/100/One_Lot/Step)*Step;
int pos,total=OrdersTotal();
//----
if(Buy==true && OrdersTotal()<=1)
{
OrderSend(Symbol(),OP_BUY,Lot,Ask,3,Ask-SL*Point,Ask+TP*Point, "777"+ Symbol(), MagicNumber, 0, DarkGreen);
Kaufen=false;
}
if(Verkauf==true && OrdersTotal()<=1)
{
OrderSend(Symbol(),OP_SELL,Lot,Bid,3,Bid+SL*Point,Bid-TP*Point, "4949"+ Symbol(), MagicNumber, 0, DarkGreen);
Verkaufen=false;
}
for (pos=0; pos<Gesamt; pos++)
if(OrderSelect(pos,SELECT_BY_POS )==true)
if(BestellungenSumme()==OP_BUY)
if(PRICE_CLOSE==OrderTakeProfit()) Buy=true;
if(PRICE_CLOSE==OrderStopLoss()) Verkaufen=true;
}
}
if(OrderSelect(pos,SELECT_BY_POS )==true)
wenn (Auftragssumme()==OP_SELL)
{
if(PRICE_CLOSE==OrderStopLoss()) Buy=true;
if(PRICE_CLOSE==OrderTakeProfit()) Verkaufen=true;
}
} }
//----
zurück(0);
}
//+------------------------------------------------------------------+
Guys, hier ist eine Frage, ein EA versucht, eine Bestellung zu öffnen, aber der Preis ändert sich und zeigt einen Fehler falschen Preis, wie kann ich es zu umgehen, so dass es versucht zu kaufen, bis es kauft?
Das war früher so.
Ich habe 30 hinzugefügt, weil ich ein 5er-Zeichen habe, aber es ist nutzlos.
Auch das ist dringend notwendig.
Helfen Sie mir, das Problem zu lösen.
Ich probiere alle geschlossenen Posten aus.
Fangen Sie am Ende an, dann ist der erste, der passt, derjenige.
for (int i=OrdersHistoryTotal()-1;i>=0; i--)//
if(OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)==true)
Es gibt noch ein weiteres Ärgernis: Es gibt Abschnitte, in denen eine Position nur geschlossen und nicht umgekehrt wird, obwohl die Bedingungen für einen Stopp und die Eröffnung einer neuen Position die gleichen sind.
Diese Situationen können auftreten, weil sich die Kauf- und Verkaufsbedingungen im Expert Advisor nicht gegenseitig ausschließen. Versuchen Sie, die Werte der erforderlichen Variablen im Prüfgerät zu ermitteln, und zwar gemäß
Guys, hier ist eine Frage, ein EA versucht, eine Bestellung zu öffnen, aber der Preis ändert sich und zeigt einen Fehler falschen Preis, wie kann ich es zu umgehen, so dass es versucht zu kaufen, bis es kauft?
Das war früher so.
Ich habe 30 hinzugefügt, weil ich ein 5er-Zeichen habe, aber es ist nutzlos.
Dies muss im Detail untersucht werden. Solche Situationen können entstehen, weil sich die Eröffnungsbedingungen für Kauf und Verkauf im EA nicht gegenseitig ausschließen. Versuchen Sie, die Werte der erforderlichen Variablen im Tester nach folgendem Muster zu ermitteln
Was für Ihre Frage relevant ist, ist unterstrichen.