FAQ: Im Falle des von mir gezeigten Eintrags behalten die Eingangsvariablen, wenn sie in der Funktion geändert werden, ihre geänderten Werte am Ausgang der Funktion bei.
Hallo Programmierer, gibt es ein Skript, das die ausstehenden Aufträge in einem Fenster nicht nach der Eröffnungszeit, sondern nach dem Instrumentennamen anzeigt und sie gruppiert?
Wenn Sie mit 10 Währungspaaren arbeiten, können Sie die benötigte Order nicht finden. Hat sie jemand?
Wie hoch ist der maximale Einsatz bei Devisengeschäften über MetaTrader 4? Auf meinem Demokonto setze ich bis zu 50 Abschläge. 51 funktioniert nicht mehr. Kann ich diese Zahl auf eine höhere ändern? Ich habe in den Einstellungen des Programms gesucht, aber nichts gefunden. Wenn ich mehr als 50 eingebe, werden die Schaltflächen Verkaufen und Kaufen deaktiviert.
Wenn diese Parameter nicht geändert werden können, geben Sie bitte an, wie man mehrere Aufträge hintereinander eröffnen kann, ohne dass der Preis vom geplanten Einstiegspunkt wegspringt.
Um einen neuen Auftrag zu öffnen, gibt es die Tastenkombination F9, aber danach muss man überall klicken und das kann einige Zeit dauern.
Gibt es eine Funktion in MT4, um alle Aufträge auf einmal zu schließen? Oder eine Tastenkombination, um sie alle auf einmal zu schließen?
Ich versuche , die Höchststände (keine Tiefststände) für den folgenden Tag zu finden (für einen 1-Stunden-Rahmen)... einen Indikator zu erstellen.
zeigt nichts...
int start() { int counted_bars = IndicatorCounted(); int lowest=0; int highest=0; //---- int limit; //---- последний посчитанный бар будет пересчитан if((counted_bars > 0)) counted_bars--; limit = Bars - counted_bars; //---- основной цикл
Ich versuche, die Höchststände (keine Tiefststände) für den folgenden Tag zu finden (für einen 1-Stunden-Rahmen)... einen Indikator zu erstellen.
zeigt nichts...
int start() { int counted_bars = IndicatorCounted(); int lowest=0; int highest=0; //---- int limit; //---- последний посчитанный бар будет пересчитан if((counted_bars > 0)) counted_bars--; limit = Bars - counted_bars; //---- основной цикл
int i=0, k=OrdersHistoryTotal(); for (i=k-1; i<=k; i++) { if (OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)!=false) { if (OrderType()==OP_SELL) { if(OrderProfit()< 0) {start=1;}
}
}
}
}
Der Wert der Startvariable muss gespeichert und bei Bedarf auf Null abgeglichen werden. Aber hier stellt sich heraus, dass wenn OrderProfit()<0 , dann Start=1, und wenn OrderProfit()> 0 , dann automatisch Start=0.
Habe ich die Logik des Compilers richtig verstanden?
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Erlauben Sie die Verwendung von Cookies, um sich auf der Website MQL5.com anzumelden.
Bitte aktivieren Sie die notwendige Einstellung in Ihrem Browser, da Sie sich sonst nicht einloggen können.
Sie sind angemeldet. Die Zwei-Faktor-Authentifizierung wurde deaktiviert. Richten Sie sie erneut ein und scannen Sie einen neuen QR-Code oder fahren Sie mit deaktivierter Zwei-Faktor-Authentifizierung fort.
Im Falle des von mir gezeigten Eintrags behalten die Eingangsvariablen, wenn sie in der Funktion geändert werden, ihre geänderten Werte am Ausgang der Funktion bei.
Hallo Programmierer, gibt es ein Skript, das die ausstehenden Aufträge in einem Fenster nicht nach der Eröffnungszeit, sondern nach dem Instrumentennamen anzeigt und sie gruppiert?
Wenn Sie mit 10 Währungspaaren arbeiten, können Sie die benötigte Order nicht finden. Hat sie jemand?
Siehe OrderSymbol() in der MetaEditor-Hilfe
Danke, damit Sie es selbst ändern können.
Wenn es niemand verbietet und die Möglichkeit besteht, dann kann man es tun.
Wie hoch ist der maximale Einsatz bei Devisengeschäften über MetaTrader 4? Auf meinem Demokonto setze ich bis zu 50 Abschläge. 51 funktioniert nicht mehr. Kann ich diese Zahl auf eine höhere ändern? Ich habe in den Einstellungen des Programms gesucht, aber nichts gefunden. Wenn ich mehr als 50 eingebe, werden die Schaltflächen Verkaufen und Kaufen deaktiviert.
Wenn diese Parameter nicht geändert werden können, geben Sie bitte an, wie man mehrere Aufträge hintereinander eröffnen kann, ohne dass der Preis vom geplanten Einstiegspunkt wegspringt.
Um einen neuen Auftrag zu öffnen, gibt es die Tastenkombination F9, aber danach muss man überall klicken und das kann einige Zeit dauern.
Gibt es eine Funktion in MT4, um alle Aufträge auf einmal zu schließen? Oder eine Tastenkombination, um sie alle auf einmal zu schließen?
Ich versuche , die Höchststände (keine Tiefststände) für den folgenden Tag zu finden (für einen 1-Stunden-Rahmen)... einen Indikator zu erstellen.
zeigt nichts...
int start()
{
int counted_bars = IndicatorCounted();
int lowest=0;
int highest=0;
//----
int limit;
//---- последний посчитанный бар будет пересчитан
if((counted_bars > 0))
counted_bars--;
limit = Bars - counted_bars;
//---- основной цикл
if ((Hour()> 0 && Hour()<=1 && Minute()>0 && Minute()<=1 ) ){
for(int i = 1; i < limit; i++)
{
//+++++++++++++++++++++++
for(int k = 1; k < 24; k++)
{if (iClose(NULL,0,k) >highest)
{highest=iClose(NULL,0,k);
}
}
ExtMapBuffer1[i] = highest ;
//+++++++++++++++++
for(int l = 1; l < 24; l++)
{if (lowest ==0) {lowest=iClose(NULL,0,l);}
if (iClose(NULL,0,l)< lowest) {lowest=iClose(NULL,0,l);} }
ExtMapBuffer2[i] = lowest;
//------------------
}
//----
return(0);
}
}
Können Sie mir sagen, wo ich es finden kann? Es ist alles auf Englisch.
Ich versuche, die Höchststände (keine Tiefststände) für den folgenden Tag zu finden (für einen 1-Stunden-Rahmen)... einen Indikator zu erstellen.
zeigt nichts...
int start()
{
int counted_bars = IndicatorCounted();
int lowest=0;
int highest=0;
//----
int limit;
//---- последний посчитанный бар будет пересчитан
if((counted_bars > 0))
counted_bars--;
limit = Bars - counted_bars;
//---- основной цикл
if ((Hour()> 0 && Hour()<=1 && Minute()>0 && Minute()<=1 ) ){
for(int i = 1; i < limit; i++)
{
//+++++++++++++++++++++++
for(int k = 1; k < 24; k++)
{if (iClose(NULL,0,k) >highest)
{highest=iClose(NULL,0,k);
}
}
ExtMapBuffer1[i] = highest ;
//+++++++++++++++++
for(int l = 1; l < 24; l++)
{if (lowest ==0) {lowest=iClose(NULL,0,l);}
if (iClose(NULL,0,l)< lowest) {lowest=iClose(NULL,0,l);} }
ExtMapBuffer2[i] = lowest;
//------------------
}
//----
return(0);
}
}
Ich kann die Logik des Compilers nicht verstehen. Ich habe eine Funktion. Ich deklariere eine externe Variable.
int start;
weiter den Funktionskörper
double B()
{
int i=0, k=OrdersHistoryTotal();
for (i=k-1; i<=k; i++) {
if (OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)!=false) {
if (OrderType()==OP_SELL) {
if(OrderProfit()< 0) {start=1;}
}
}
}
}
Der Wert der Startvariable muss gespeichert und bei Bedarf auf Null abgeglichen werden. Aber hier stellt sich heraus, dass wenn OrderProfit()<0 , dann Start=1, und wenn OrderProfit()> 0 , dann automatisch Start=0.
Habe ich die Logik des Compilers richtig verstanden?