Es gibt Fehler, so dass der Code nicht wie vom Autor beabsichtigt funktionieren wird. Sie müssen es herausfinden. Sie haben den Code, Sie haben die Karten in der Hand.
Aus dem, was Sie gezeigt haben, ersehe ich, dass entweder die Kerzen kleiner als 60 sind, oder dass das Handle eines der Indikatoren UNGÜLTIG ist, was bedeutet, dass die Parameter falsch an ihn gesendet werden. Oder es liegt ein Fehler in einem anderen Teil des Codes vor, den ich nicht sehe.
Ich konnte selbst herausfinden, wo das Problem liegt, aber die Frage bezog sich auf etwas anderes: Was kann von diesen Fehlern betroffen sein und was sollte ich im Code ändern, um sie zu beseitigen?
Mit freundlichen Grüßen, Vladimir.
Wenn ein Fehler auftritt, wird der Expert Advisor nicht an das Diagramm angehängt.
Sie brauchen nichts zu tun. Was bereits geschehen ist - im Falle eines Fehlers wird der Expert Advisor vom Chart abgekoppelt
und benachrichtigt den Benutzer.
Dieser Fehler tritt praktisch nicht auf, es sei denn, der Computer ist in einem Chaos.
==
Wenn dies jedoch immer während des Entwicklungsprozesses geschieht...
Dies bedeutet, dass der Indikator nicht korrekt aufgerufen wird - korrigieren Sie die Parameter des Indikators.
hier funktioniert es - vielleicht haben Sie den Punkt nicht richtig gesetzt
Danke für den Tipp!!! Das Problem war in der Tat, dass ich in den Einstellungen des Testers die Zeiträume für beide Indikatoren nicht von "Null" und höher einstellen konnte. Ich hätte sie mindestens auf "eins" und höher setzen sollen.
Vladimir Baskakov #: Ich habe beschlossen, die Sprache zu lernen, aber nicht viele Menschen haben damit begonnen. Und wozu?
Vladimir, es ist ganz einfach. Ich habe gelernt, was ich lernen musste. Jetzt nehme ich verschiedene EAs und mache sie für mich. Das Wichtigste ist, dass ich MQL5 jetzt nicht mehr als die chinesischen Schriftzeichen betrachte, sondern als ein normales Stück Software. Vielen Dank an alle Fachleute, die mir bei meinem Selbststudium geholfen haben!
Fortsetzung des Selbststudiums der Programmiersprache MQL5. Dann kam die Zeit, in der ich mich mit Arrays beschäftigen musste. Ich habe beschlossen, die Losgröße in Abhängigkeit von dem in den Eingabeparametern angegebenen Risiko zu berechnen. Nach der Kompilierung habe ich keine Fehler oder Warnungen, aber der Funktionscode funktioniert nicht. Können Sie mir bitte sagen, wo der Fehler liegt?
Mit freundlichen Grüßen, Vladimir.
inputdouble Risk0=1.0; //Риск (% от баланса)
.
.
.
.
inputdouble Risk9=1.0; //Риск (% от баланса)//+------------------------------------------------------------------+//| Функция Money_Management рассчитывает размер лота в зависимости |//| от риска, заданного во входных параметрах советника. |//+------------------------------------------------------------------+double Money_Management()
{
staticint Risk[];
int Number=0;
//----+ Объвляем переменную для хранения размеров массивов переменныхstaticint Size_ = 0;
//----+ Изменяем размер массивов переменныхif(Number + 1 > Size_)
{
uint size = Number + 1;
//---- Предварительно обнуляем ячейки массива
Risk[Number] = false;
}
if(Risk[0] != Risk[Number])
{
Risk[Number] = Risk[0];
}
double Lots=AccountInfoDouble(ACCOUNT_MARGIN_FREE)*Risk[Number]/100000*10;
Lots=MathMin(5,MathMax(0.1,Lots));
if(Lots<0.1)
Lots=NormalizeDouble(Lots,2);
else
{
if(Lots<1)
Lots=NormalizeDouble(Lots,1);
else
Lots=NormalizeDouble(Lots,0);
}
return(Lots);
}
//+------------------------------------------------------------------+
MrBrooklin der Programmiersprache MQL5. Dann kam die Zeit, in der ich mich mit Arrays beschäftigen musste. Ich habe beschlossen, die Losgröße in Abhängigkeit von dem in den Eingabeparametern angegebenen Risiko zu berechnen. Nach der Kompilierung habe ich keine Fehler oder Warnungen, aber der Funktionscode funktioniert nicht. Können Sie mir bitte sagen, wo der Fehler liegt?
Mit freundlichen Grüßen, Vladimir.
Ich hoffe sehr, dass Sie es nicht geschrieben haben...
Hier ist eine funktionierende Funktion
/********************************************************************\
| Calculate optimal lot size Расчет объема лота |
/********************************************************************/double contractSize(double Lot)
{
double volume = Lot > 0.0 ? Lot : AccountInfoDouble(ACCOUNT_MARGIN_FREE)/10000,
v = volume,
volumeStep = SymbolInfoDouble(_Symbol, SYMBOL_VOLUME_STEP),
minLot = SymbolInfoDouble(_Symbol, SYMBOL_VOLUME_MIN),
maxLot = SymbolInfoDouble(_Symbol, SYMBOL_VOLUME_MAX);
v = round(volume/volumeStep)*volumeStep;
return(fmin(maxLot, fmax(minLot, v)));
}/******************************************************************/
Alles, was Sie tun müssen, ist, den Risikobetrag einzugeben, so dass er nicht auf die volle freie Marge angerechnet wird...
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.
Es gibt Fehler, so dass der Code nicht wie vom Autor beabsichtigt funktionieren wird. Sie müssen es herausfinden. Sie haben den Code, Sie haben die Karten in der Hand.
Aus dem, was Sie gezeigt haben, ersehe ich, dass entweder die Kerzen kleiner als 60 sind, oder dass das Handle eines der Indikatoren UNGÜLTIG ist, was bedeutet, dass die Parameter falsch an ihn gesendet werden. Oder es liegt ein Fehler in einem anderen Teil des Codes vor, den ich nicht sehe.
Mit freundlichen Grüßen, Vladimir.
Ups, Alexey;)
Ich konnte selbst herausfinden, wo das Problem liegt, aber die Frage bezog sich auf etwas anderes: Was kann von diesen Fehlern betroffen sein und was sollte ich im Code ändern, um sie zu beseitigen?
Mit freundlichen Grüßen, Vladimir.
Wenn ein Fehler auftritt, wird der Expert Advisor nicht an das Diagramm angehängt.
Sie brauchen nichts zu tun. Was bereits geschehen ist - im Falle eines Fehlers wird der Expert Advisor vom Chart abgekoppelt
und benachrichtigt den Benutzer.
Dieser Fehler tritt praktisch nicht auf, es sei denn, der Computer ist in einem Chaos.
==
Wenn dies jedoch immer während des Entwicklungsprozesses geschieht...
Dies bedeutet, dass der Indikator nicht korrekt aufgerufen wird - korrigieren Sie die Parameter des Indikators.
Wenn der Fehler auftritt, wird der EA nicht an das Diagramm angehängt.
Sie brauchen nichts zu tun. Was bereits geschehen ist - im Falle eines Fehlers löst sich der Expert Advisor vom Chart
und benachrichtigt den Benutzer.
Dieser Fehler tritt praktisch nicht auf, es sei denn, der Computer ist in einem Chaos.
==
Wenn dies jedoch immer während des Entwicklungsprozesses geschieht...
Das bedeutet, dass der Indikator falsch aufgerufen wird - korrigieren Sie die Parameter des Indikators.
Vielen Dank, Dmitry, für deine umfassende und verständliche Antwort!
Mit freundlichen Grüßen, Vladimir.
hier funktioniert es - vielleicht haben Sie den Punkt nicht richtig gesetzt
Danke für den Tipp!!! Das Problem war in der Tat, dass ich in den Einstellungen des Testers die Zeiträume für beide Indikatoren nicht von "Null" und höher einstellen konnte. Ich hätte sie mindestens auf "eins" und höher setzen sollen.
Ich danke Ihnen allen für Ihre Teilnahme!
Mit freundlichen Grüßen, Vladimir.
P.S. Sie sollten den EA-Code "spoils" entfernen, denn diese "spoils" ärgern viele Leute. Ich habe meine bereits entfernt.
Diejenigen, die sehr lästig sind, lassen Sie sie gehen Wälder regelmäßig mit Mutterkraut oder Tinktur von Fliegenpilz.
Ich mag diese Schnürsenkel auch nicht, aber ich schaue sie mir einfach nicht an.
Ich habe beschlossen, die Sprache zu lernen, aber nicht viele Menschen haben damit begonnen. Und wozu?
Vladimir, es ist ganz einfach. Ich habe gelernt, was ich lernen musste. Jetzt nehme ich verschiedene EAs und mache sie für mich. Das Wichtigste ist, dass ich MQL5 jetzt nicht mehr als die chinesischen Schriftzeichen betrachte, sondern als ein normales Stück Software. Vielen Dank an alle Fachleute, die mir bei meinem Selbststudium geholfen haben!
Mit freundlichen Grüßen, Vladimir.
Ich habe lieber einen Spoiler, als eine Datei herunterzuladen und sie in meinen Sandkasten zu stecken. )
Guten Morgen allerseits und gute Laune!
Fortsetzung des Selbststudiums der Programmiersprache MQL5. Dann kam die Zeit, in der ich mich mit Arrays beschäftigen musste. Ich habe beschlossen, die Losgröße in Abhängigkeit von dem in den Eingabeparametern angegebenen Risiko zu berechnen. Nach der Kompilierung habe ich keine Fehler oder Warnungen, aber der Funktionscode funktioniert nicht. Können Sie mir bitte sagen, wo der Fehler liegt?
Mit freundlichen Grüßen, Vladimir.
Mit freundlichen Grüßen, Vladimir.
Ich hoffe sehr, dass Sie es nicht geschrieben haben...
Hier ist eine funktionierende Funktion
Alles, was Sie tun müssen, ist, den Risikobetrag einzugeben, so dass er nicht auf die volle freie Marge angerechnet wird...