Es stellt sich heraus, dass es verschiedene Funktionen mit demselben Namen gibt, und Siekönnen nicht die Möglichkeit schaffen, eine unterschiedliche Anzahl von Parametern zu übergeben?
Es kann, aber es ist weniger als die Parameter, das Beispiel Schaltfläche hat viele Parameter, aber
//+------------------------------------------------------------------+ //| Создает кнопку | //+------------------------------------------------------------------+ bool ButtonCreate(constlong chart_ID=0, // ID графика conststring name="Button", // имя кнопки constint sub_window=0, // номер подокна constint x=0, // координата по оси X constint y=0, // координата по оси Y constint width=50, // ширина кнопки constint height=18, // высота кнопки constENUM_BASE_CORNER corner=CORNER_LEFT_UPPER, // угол графика для привязки conststring text="Button", // текст conststring font="Arial", // шрифт constint font_size=10, // размер шрифта constcolor clr=clrBlack, // цвет текста constcolor back_clr=C'236,233,216', // цвет фона constcolor border_clr=clrNONE, // цвет границы constbool state=false, // нажата/отжата constbool back=false, // на заднем плане constbool selection=false, // выделить для перемещений constbool hidden=true, // скрыт в списке объектов constlong z_order=0) // приоритет на нажатие мышью
Es wird auch mit einem Minimum an Parametern gezeichnet
Wenn ich ein Array im Protokoll ausdrucke, werden fast alle doppelten Werte mit der angegebenen 1 Dezimalstelle gedruckt, und einige 3-4 Werte (von hundert) mit 15 Stellen.
Bitte helfen Sie mir, ich kann die Fehlerursache nicht herausfinden
Gewünscht war eine gleichmäßige Welle, aber aus irgendeinem Grund geht die "0" zweimal
weil die Bedingungen verwirrend sind. Bei einer Iteration der Schleife sollte das "up"-Flag nur in einem Zustand sein, und Sie können "true" haben und in der gleichen Iteration der Schleife "false" werden
Ich würde es im Allgemeinen so schreiben:
int y = 0, shift = 1;
constint max_value = 100;
constint min_value = 0;
for(int i = rates_total - 1; i >= 0; i--)
{
Label1Buffer[i] = y;
y += shift;
if(y >= max_value || y <= min_value) shift *= -1;
}
weil die Bedingungen verwirrend sind. Bei einer Iteration der Schleife sollte das "up"-Flag nur in einem Zustand sein, aber Sie können "true" haben und in derselben Iteration der Schleife "false" werden
Ich danke Ihnen.
Es stellt sich heraus, dass es verschiedene Funktionen mit demselben Namen gibt, und Siekönnen nicht die Möglichkeit schaffen, eine unterschiedliche Anzahl von Parametern zu übergeben?
Es wird auch mit einem Minimum an Parametern gezeichnet
Grüße. Können Sie mir bitte sagen, ob und wie dies möglich ist?
Ist es möglich, Ihre Funktionen so zu schreiben, dass Sie eine unterschiedliche Anzahl von Parametern an geschriebene Funktionen übergeben können?
Wie zum Beispiel in dieser Funktion können Sie 4 oder 5 Parameter übergeben.
Das Ergebnis ist
Bitte helfen Sie mir, ich kann die Fehlerursache nicht herausfinden
Ich wollte eine gleichmäßige Welle, aber aus irgendeinem Grund geht "0" zweimal
Warum funktioniertNormalizeDouble manchmal nicht?
Wenn ich ein Array im Protokoll ausdrucke, werden fast alle doppelten Werte mit der angegebenen 1 Dezimalstelle gedruckt, und einige 3-4 Werte (von hundert) mit 15 Stellen.
...
2021.11.15 04:01:07.821Sov2EURUSD,M1: 9.9
2021.11.15 04:01:07.724 Sov2 EURUSD,M1: 9.800000000000001
2021.11.15 04:01:07.675 Sov2 EURUSD,M1: 9.9
2021.11.15 04:01:07.626 Sov2 EURUSD,M1: 9.6
2021.11.15 04:01:07.577 Sov2 EURUSD,M1: 9.1
...
Bitte helfen Sie mir, ich kann die Fehlerursache nicht herausfinden
Gewünscht war eine gleichmäßige Welle, aber aus irgendeinem Grund geht die "0" zweimal
weil die Bedingungen verwirrend sind. Bei einer Iteration der Schleife sollte das "up"-Flag nur in einem Zustand sein, und Sie können "true" haben und in der gleichen Iteration der Schleife "false" werden
Ich würde es im Allgemeinen so schreiben:
weil die Bedingungen verwirrend sind. Bei einer Iteration der Schleife sollte das "up"-Flag nur in einem Zustand sein, aber Sie können "true" haben und in derselben Iteration der Schleife "false" werden
Ich würde es im Allgemeinen so schreiben:
Können Sie mir sagen, wie man es richtig macht?
nicht alle Elemente eingeben, die ich addieren möchte, sondern nur 5 Elemente angeben
Wenn Sie sie in *.mq4 umbenennen, ist alles in Ordnung.
Wenn Sie es auf diese Weise kompilieren, erhalten Sie Fehler.
Ich habe keine Fehler
Ich habe keine Fehler.
Wie auch immer, es ist nicht kritisch. Vielen Dank für Ihre Hilfe.