[WARNUNG GESCHLOSSEN!] Alle Fragen von Neulingen, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Ohne dich kann ich nirgendwo hingehen. - Seite 901

 

Hinweis, denn ich bin verwirrt.

Ich habe den Preis für den letzten offenen Auftrag gefunden.

Ich möchte, dass der letzte offene Auftrag um geschlossen wird:

if((Ask - цена последнего открытого ордера) >= 30 * Point)  OrderClose;
 

Guten Morgen!

Können Sie mir bitte sagen, ob es möglich ist, alle schwebenden Aufträge in der speziellen Funktion deinit() zu schließen (um alle schwebenden Aufträge im Falle eines Internetausfalls zu schließen)? Mein EA schließt nur einen Teil von ihnen ab. Vielleicht hat er es nicht rechtzeitig geschafft (ich habe es mit bis zu 7 ausstehenden Aufträgen versucht)? Oder liegt ein Fehler vor und alle Aufträge sollten unabhängig von ihrer Anzahl geschlossen werden? Bei den verbleibenden ausstehenden Aufträgen gibt der Expert Advisor einfach kein "Ja" für die Abschlussbedingung ein, obwohl es sich -

if (OrderSelect(i-1,SELECT_BY_POS)==true)

- erfüllt ist und eintreten sollte... Bei allen verbleibenden Aufträgen wird auf "Nein" umgeschaltet und sie werden daher nicht abgeschlossen. Wir können sie unterschiedlich abschließen, d. h. drei von fünf Aufträgen oder 4 von 7 Aufträgen oder 1 von 7 Aufträgen. Was könnte falsch sein?

 
sanyooooook:
Ermitteln der Taktzeit über ObjectGet und der Taktnummer über iBarShift

Danke, aber könnten Sie auch erklären, wie man die Anzahl der Sekunden korrekt in datetime umwandelt?
 
volshebnik:

Guten Morgen!

Können Sie bitte mitteilen, ob es möglich ist, alle ausstehenden Aufträge in der speziellen Funktion deinit() zu schließen (um alle ausstehenden Aufträge im Falle eines Internetausfalls zu schließen)? Mein EA schließt nur einen Teil von ihnen ab. Vielleicht hat er es nicht rechtzeitig geschafft (ich habe es mit bis zu 7 ausstehenden Aufträgen versucht)? Oder liegt ein Fehler vor und alle Aufträge sollten unabhängig von ihrer Anzahl geschlossen werden? Wenn es andere ausstehende Orders gibt, gibt der Expert Advisor die Schließungsbedingung "Ja" einfach nicht ein, obwohl diese Bedingung

if (OrderSelect(i-1,SELECT_BY_POS)==true)

- und es sollte sie eingeben ... Bei allen verbleibenden Aufträgen wird auf "Nein" umgeschaltet und sie werden daher nicht abgeschlossen. Sie schließt unterschiedlich ab - drei von fünf, oder 4 von 7, oder 1 von 7. Was könnte falsch sein?


Es gibt keine Wunder. Aber der Zyklus, den ich machen würde, sieht folgendermaßen aus:

for (int i=OrdersTotal()-1;i>=0;i--)

Dann wäre es anders.

 

Hallo.

Wie schreibe ich eine Bedingung, um einen Handel mit den ersten Ticks eines neuen Balkens zu eröffnen und ihn mit den letzten Ticks des Balkens zu schließen?

wenn (????)

 
Hallo! Eine Anfrage eines Dummkopfs an sachkundige Leute! Ich möchte eine Meldung für den Metro-Indikator erstellen. Brauchen Sie ein Signal, wenn der Wert der langsamen Linie, aber nicht bei der Schließung der Bar, und zu Beginn der Änderung des Wertes! Wem das nicht schwer fällt, der möge bitte eine solche Funktion schreiben oder mitschreiben! Vielen Dank im Voraus!
 
Vinin:


Es gibt keine Wunder. Aber ich würde so eine Schleife machen:

for (int i=OrdersTotal()-1;i>=0;i--)

Dann wäre es anders.

Vinin: Ich danke Ihnen vielmals! Alles schließt sich nun, wenn der EA ausgeschaltet oder das Terminal geschlossen wird, aber.... Wenn ich das Internet ausschalte und das Terminal nicht ausschalte, und es nach mehr als einer Minute wieder einschalte - schließt sich der Berater nicht bzw. bestellt auch nicht. Gibt es eine Möglichkeit, den EA automatisch zu schließen, wenn die Internetverbindung unterbrochen wird?
 
volshebnik:
Vinin: Ich danke Ihnen vielmals! Alles schließt sich jetzt, wenn EA ausgeschaltet oder das Terminal geschlossen wird, aber.... Wenn ich das Internet ausschalte und das Terminal nicht ausschalte, und es nach mehr als einer Minute wieder einschalte - schließt sich der EA nicht und die Aufträge auch nicht. Gibt es eine Möglichkeit, den EA automatisch zu schließen, wenn die Internetverbindung unterbrochen wird?


Es gibt keine Wunder. Um eine Position zu schließen, benötigen Sie eine Verbindung (Sie müssen über Internet verfügen), eine primäre oder eine Backup-Verbindung.

Ich würde empfehlen, nur VPS zu verwenden.

 

Guten Tag, wenn Sie helfen können,

//+------------------------------------------------------------------+
//| Dimon's Borders .mq4 |
//| Copyright © 2010, MetaQuotes Software Corp.
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2010, MetaQuotes Software Corp.
#property link "http://www.metaquotes.net"

//+------------------------------------------------------------------+
//| Experten-Initialisierungsfunktion |
//+------------------------------------------------------------------+
extern int BandsPeriod=20,i=1 ;extern int BandsShift=0;
extern double BandsDeviations=2.0;
extern double Lots=0.1,TakeProfit=50,stoploss=10;
int init()
{
//----

//----
zurück(0);
}
//+------------------------------------------------------------------+
//| Experten-Deinitialisierungsfunktion |
//+------------------------------------------------------------------+
int deinit()
{
//----

//----
zurück(0);
}
//+------------------------------------------------------------------+
//| Expertenstartfunktion |
//+------------------------------------------------------------------+
int start()
{double Average,Verhnyayaghranytsa,Nyzhnyayaghranytsa,newres,sum,deviation;

Average=iMA(NULL,0,BandsPeriod,BandsShift,MODE_SMA,PRICE_CLOSE,i);
//----
newres=Close[i]-Average;
sum=newres*newres;


Abweichung=BänderAbweichungen*MathSqrt(Summe/BänderZeitraum);
Verhnyayaghranytsa=Durchschnitt+Abweichung;
Nyzhnyayaghranytsa=Durchschnittsabweichung;
//----
if (Verhnyayaghranytsa<Close[i])
{ Comment(" Boje! ",Verhnyayaghranytsa );
OrderSend(Symbol(),OP_BUY,Lots,Ask,3,Bid-stoploss*Point,Ask+TakeProfit*Point, "macd sample",16384,0,Green);

}


if (Nyzhnyayaghranytsa>Close[i])
{ Kommentar(" Verkaufen! ",Nyzhnyayaghranytsa );

OrderSend(Symbol(),OP_SELL,Lots,Bid,3,Ask+stoploss*Point,Bid-TakeProfit*Point, "macd sample",16384,0,Red);
}
zurück(0);
}
//+------------------------------------------------------------------+

Indikator lächelt, schreibt Verkaufen oder Boje, aber kein Handel als solches, vielleicht habe ich OrderSend falsch verschrieben, oder ich weiß es nicht.Wenn Sie können, helfen Sie!!!

 
Hier.
Grund der Beschwerde: