[Archiv!] Jede Anfängerfrage, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht daran vorbei. Könnte nirgendwo ohne dich hingehen - 2. - Seite 398

 
alk:

Bitte teilen Sie mir mit, was in dem Code falsch ist. Der Roboter soll einen Verkaufsauftrag abschließen, wenn dieser nicht vorhanden ist, soll er kaufen. Es wird der Fehler 4105 angezeigt, den ich zu beheben versuche, was aber zu keinem Ergebnis führt. Vielleicht gibt es noch andere Möglichkeiten, sie zu verarbeiten?


Ersetzen Sie

for(cnt=OrdersTotal();cnt>=0;cnt--)

zu

for(cnt=OrdersTotal()-1;cnt>=0;cnt--)
 
Guten Tag, liebe Experten, bitte helfen Sie mir... Ich benötige: auf der Basis des Indikators i-Regr (im Anhang) einen Programmblock, der in der Lage ist, die Breite des Kanals in Punkten mit einer Periodizität von 1 Mal pro Minute zu bestimmen und diese Zahl auf dem Chart anzuzeigen. Vielen Dank im Voraus!
Dateien:
i-regr_1.mq4  5 kb
 
magogy:
Guten Tag, liebe Experten, bitte helfen Sie mir... Ich benötige: auf der Grundlage des Indikators i-Regr (im Anhang) einen Programmblock, der in der Lage ist, die Breite des Kanals in Punkten mit einer Periodizität von 1 Mal pro Minute zu bestimmen und diese Zahl auf dem Chart anzuzeigen. Vielen Dank im Voraus!

Ich denke, dass es besser ist, sich mit dieser Aufgabe an den Dienst
 
magogy:
Guten Tag, liebe Experten, bitte helfen Sie mir... Ich benötige: auf der Basis des Indikators i-Regr (im Anhang) einen Programmblock, der in der Lage ist, die Breite des Kanals in Punkten mit einer Periodizität von 1 Mal pro Minute zu bestimmen und diese Zahl auf dem Chart anzuzeigen. Vielen Dank im Voraus!
 datetime Time_=0; // объявить вверху, в глобальных переменных

 if(Time[0]!=Time_){Alert(NormalizeDouble(sqh[0]-sql[0],4));Time_=Time[0];} //добавить внижней части кода, перед return-ом
 
KONDOR:

Herzlichen Dank für den Tipp!

Es gibt einige Feinheiten. Die Information wird als 0,0026 angezeigt, was 26 Punkten entspricht. Ich habe die unterste Zeile geändert und sie sieht jetzt so aus:

if(Time[0]!=Time_){Alert(NormalizeDouble(sqh[0]*10000-sql[0]*10000,4));Time_=Time[0];}

Die Ausgabe wird nun als 25,6809 angezeigt.

Bitte geben Sie an, wie diese Zahl programmatisch gerundet werden kann, damit die Informationen in ganzen Punkten statt in Bruchteilen angezeigt werden.

Mit freundlichen Grüßen magogy

 
magogy:

Können Sie mir bitte sagen, wie ich diese Zahl programmgesteuert abrunden kann, damit die Informationen als ganze Punkte und nicht als Brüche angezeigt werden?

Mit freundlichen Grüßen magogy

вместо 4, поставить 0, т.е. точность выводимого значения - ноль знаков после запятой
Alert(NormalizeDouble(sqh[0]*10000-sql[0]*10000,4))
 
KONDOR:


heh... wie einfach und offensichtlich alles für einen Fachmann ist und wie beängstigend und unverständlich alles für einen Anfänger ist...

vielen Dank für Ihre Hilfe!

 

Bitte sagen Sie mir, was los ist. In dem Skript deklariere ich importierte und rufe die Funktion auf:

#import "PendingDlg.dll"
int  ShowPendingDlg(int& nbar,int& sltp);

...

int    nbar=3,sltp=10;
//--- покажем диалог
if(!ShowPendingDlg(nbar,sltp)) return(1);

Ich habe versucht, den Wert per Referenz und per Zeiger in der DLL (in C++) zu erhalten. Wenn durch Verweis funktioniert es nicht, im Falle von Zeiger erhalte ich Zeiger mit Nullwert. Der Code befindet sich in der DLL:

__declspec(dllexport) int __stdcall ShowPendingDlg(int *nbar,int *sltp) { ... }

Danke.

 
apm:

Bitte sagen Sie mir, was los ist. In dem Skript deklariere ich importierte und rufe die Funktion auf:

Ich habe versucht, den Wert per Referenz und per Zeiger in der DLL (in C++) zu erhalten. Wenn durch Verweis funktioniert es nicht, im Falle von Zeiger erhalte ich Zeiger mit Nullwert. Der Code befindet sich in der DLL:

Danke.

MQL4 by reference und by pointer funktioniert nur mit Arrays und Strings (auch Arrays).
 
Zhunko:
MQL4 by reference und pointer funktioniert nur mit Arrays und Strings (auch Arrays).
Ich danke Ihnen! Ich habe jetzt alles, ich wünsche Ihnen ein schönes Wochenende, lieber Mann.)