[Archiv!] Jede Anfängerfrage, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht daran vorbei. Könnte nirgendwo ohne dich hingehen - 2. - Seite 371
Entschuldigung, ich bin durcheinander gekommen - Sie sollten dort eine 1 eintragen, dann ist es richtig. Ich meine, dass der Schlusskurs auf dem Diagramm mit dem Kurs in der Funktion übereinstimmen wird.
khorosh: Entschuldigung, ich bin durcheinander gekommen - Sie müssen dort eine 1 eintragen, dann ist es richtig. Ich meine, dass der Schlusskurs auf dem Diagramm mit dem Kurs in der Funktion übereinstimmen wird.
Na endlich! Lesen Sie hier darüber. Nur im Expert Advisor und in den Skript-Startfunktionen mit Warten. An allen anderen Orten ist sie streng verboten.
Ihr Code entspricht nicht den Standards von MQL4. Außerdem wurde irgendwo geschrieben, dass die Wartezeit in den Funktionen ininit und deinit während eines Systemaufrufs auf 2,5 Sekunden begrenzt ist. Dann wird die Funktion zwangsweise abgebrochen.
Alles funktioniert. Hier ist der Code für das Echtzeit-Mini-System. Außerhalb der Funktion start(). Obwohl es natürlich absolut nicht prinzipiell ist, es in init() einzubauen.
Im Folgenden wird der Code auf dem Arbeitsterminal überprüft; der Auftrag wird geöffnet und alle Meldungen werden in das Nachrichtenfenster geschrieben. Funktion Sleep() auch
Die Funktion Sleep() funktioniert auch gut, ich habe sie mit 30 Sekunden Wartezeit getestet - Sleep(30000). Obwohl eine solche Wartezeit absolut unnötig ist, sind 50 ms ausreichend.
//--- input parametersexternint int10 = 10; // вызов процедуры каждые 10 сек.externint int30 = 30; // вызов процедуры каждые 30 сек.externint int60 = 60; // вызов процедуры каждые 60 сек. int orders; // кол-во открытых ордеровint init()
{
bool end = 1; // для завершения работы установить в falsebool f_int10 = 1; // флаг разрешающий прерывание int10bool f_int30 = 1; // флаг разрешающий прерывание int30bool f_int60 = 1; // флаг разрешающий прерывание int60int St_Time_10; // стартовое время отсчета 10 сек;int St_Time_30; // стартовое время отсчета 30 сек;int St_Time_60; // стартовое время отсчета 60 сек;
St_Time_10 = TimeLocal();
St_Time_30 = TimeLocal();
St_Time_60 = TimeLocal();
//-----------------------------основной цикл программы--------------------------------while(end)
{
Sleep (50);
if ((TimeLocal()==(St_Time_10 + int10))&&f_int10) {St_Time_10 = TimeLocal(); Call_int10();}
if ((TimeLocal()==(St_Time_30 + int30))&&f_int30) {St_Time_30 = TimeLocal(); Call_int30();}
if ((TimeLocal()==(St_Time_60 + int60))&&f_int60) {St_Time_60 = TimeLocal(); Call_int60();}
RefreshRates();
}
return(0);
}
//-----------------------------конец основного цикла----------------------------------//--------------------процедура вызываемая по прерыванию int10------------------------void Call_int10()
{
Alert ("Прерывание = 10 сек. Котировка >>>>", Close[0]);
}
//------------------------------------------------------------------------------------//--------------------процедура вызываемая по прерыванию int30------------------------void Call_int30()
{
Alert ("Прерывание === 30 сек. В резерве.");
}
//------------------------------------------------------------------------------------//--------------------процедура вызываемая по прерыванию int60------------------------void Call_int60()
{
Alert ("Прерывание ===== 60 сек");
if (orders!=0) return;
if (OrdersTotal( ) == 0) {
OrderSelect(1, SELECT_BY_POS, MODE_TRADES);
int ticket = OrderSend(Symbol(), OP_BUY, 0.01, Ask, 3, 0, 0, "from init()",123,Blue);
if (ticket<0)
{
Alert("OrderOpen BUY failed, with error #",GetLastError()); return;
}
Alert (" Открытие ордера BUY из init() прошло успешно");
orders++;
}
}
//------------------------------------------------------------------------------------//---------------------------эти функции не используются------------------------------int start() {return(0);}
//--------------------------------------------int deinit() {return(0);}
//--------------------------------------------
Ich habe folgendes Problem, ich habe mich gestern auf MT4 registriert, ich habe angefangen, mich einzuarbeiten und auf Demo zu experimentieren. Ich beschloss, weiter zu studieren MT4 am Morgen, aber das Diagramm gestoppt zum Zeitpunkt der 6. Mai 23:57, ich habe nicht versucht, den Computer neu zu starten oder das Programm neu installieren, was zu tun ist?
Arthibald: 1. У меня такая проблема, вчера зарегистрировался на МТ 4, начал ознакамливатся и эксперементировать на демо. С утра решил продолжить изучать МТ4, но графики остановились на отметке времени 6 мая 23:57, ни помогает ни перезагрузка компа, не переутановка программы,...
2.... was ist zu tun?
1. Die Welt ist zusammengebrochen, der Markt ist im Aufwind - schauen Sie auf den Wochentag... :-)) ALLE NORMALEN MENSCHEN HABEN AM WOCHENENDE FREI... :-)))
1. Die Welt ist zusammengebrochen, der Markt ist im Aufwind - schauen Sie auf den Wochentag...:-)) ALLE NORMALEN MENSCHEN HABEN AM WOCHENENDE FREI... :-)))
2. ausruhen...:-)))
Danke :-) Ich schätze, ich bin aus dem Schneider, aber so ist es nun mal :-).
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.
Alle eben((((
Entschuldigung, ich bin durcheinander gekommen - Sie müssen dort eine 1 eintragen, dann ist es richtig. Ich meine, dass der Schlusskurs auf dem Diagramm mit dem Kurs in der Funktion übereinstimmen wird.
HOORAY! Es funktioniert!!!!
Herzlichen Dank!
Probieren Sie es aus!
Probieren Sie es aus!
Na endlich! Lesen Sie hier darüber. Nur im Expert Advisor und in den Skript-Startfunktionen mit Warten. An allen anderen Orten ist sie streng verboten.
Ihr Code entspricht nicht den Standards von MQL4. Außerdem wurde irgendwo geschrieben, dass die Wartezeit in den Funktionen ininit und deinit während eines Systemaufrufs auf 2,5 Sekunden begrenzt ist. Dann wird die Funktion zwangsweise abgebrochen.
Alles funktioniert. Hier ist der Code für das Echtzeit-Mini-System. Außerhalb der Funktion start(). Obwohl es natürlich absolut nicht prinzipiell ist, es in init() einzubauen.
Im Folgenden wird der Code auf dem Arbeitsterminal überprüft; der Auftrag wird geöffnet und alle Meldungen werden in das Nachrichtenfenster geschrieben. Funktion Sleep() auch
Die Funktion Sleep() funktioniert auch gut, ich habe sie mit 30 Sekunden Wartezeit getestet - Sleep(30000). Obwohl eine solche Wartezeit absolut unnötig ist, sind 50 ms ausreichend.
Frage zu Arrays.
Es gibt drei eindimensionale Arrays:
1. закрытие бара
Close[i]={Close_1,Close_2,...,Close_i};
2. открытие бара
Open[i]={Open_1,Open_2,...,Open_i};
3. его индекс
Index[i]={1, 2, ..., i};
Задача: необходимо организовать двумерный массив mas[i,2], отвечающий условиям
mas[i,0]= |Close_i-Open_i|;
mas[i,1]=i;
Как это правильно сделать?
Arthibald:
2.... was ist zu tun?1. У меня такая проблема, вчера зарегистрировался на МТ 4, начал ознакамливатся и эксперементировать на демо. С утра решил продолжить изучать МТ4, но графики остановились на отметке времени 6 мая 23:57, ни помогает ни перезагрузка компа, не переутановка программы,...
1. Die Welt ist zusammengebrochen, der Markt ist im Aufwind - schauen Sie auf den Wochentag... :-)) ALLE NORMALEN MENSCHEN HABEN AM WOCHENENDE FREI... :-)))
2. ausruhen... :-)))
1. Die Welt ist zusammengebrochen, der Markt ist im Aufwind - schauen Sie auf den Wochentag...:-)) ALLE NORMALEN MENSCHEN HABEN AM WOCHENENDE FREI... :-)))
2. ausruhen...:-)))