[Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Non potrei andare da nessuna parte senza di te - 2. - pagina 371
Scusa, mi sono confuso - dovresti mettere 1 lì, allora sarà corretto. Voglio dire che il prezzo Close/Close sul grafico corrisponderà al prezzo nella funzione.
khorosh: Scusa, mi sono confuso - devi mettere 1 lì, poi sarà corretto. Voglio dire che il prezzo Close/Close sul grafico corrisponderà al prezzo nella funzione.
Bene, finalmente, leggete qui. Solo nell'Expert Advisor e nelle funzioni di avvio degli script con attesa. In tutti gli altri luoghi è severamente proibito.
Il tuo codice non si adatta agli standard di MQL4. Inoltre, è stato scritto da qualche parte che il tempo di attesa nelle funzioni ininit e deinit durante una chiamata di sistema è limitato a 2,5 secondi. Poi la funzione viene terminata forzatamente.
Tutto funziona. Ecco il codice per il mini sistema in tempo reale. Fuori dalla funzione start(). Anche se ovviamente non è assolutamente principale metterlo in init().
Qui sotto c'è il codice controllato sul terminale di lavoro; l'ordine si apre e tutti gli avvisi sono scritti nella finestra del messaggio. Funzione Sleep() anche
Anche la funzione Sleep() funziona bene. Ho controllato con 30 secondi di attesa - Sleep(30000). Anche se tale attesa non è assolutamente necessaria, 50 ms sono sufficienti.
//--- 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);}
//--------------------------------------------
Ho il seguente problema, mi sono registrato ieri su MT4, ho iniziato a familiarizzare e a sperimentare su demo. Ho deciso di continuare a studiare MT4 la mattina, ma il grafico si è fermato all'ora del 6 maggio 23:57, non ho provato a riavviare il computer o reinstallare il programma, cosa fare?
Arthibald: 1. У меня такая проблема, вчера зарегистрировался на МТ 4, начал ознакамливатся и эксперементировать на демо. С утра решил продолжить изучать МТ4, но графики остановились на отметке времени 6 мая 23:57, ни помогает ни перезагрузка компа, не переутановка программы,...
2.... cosa fare?
1. Il mondo è crollato, il mercato è in crescita - guarda il giorno della settimana... :-)) TUTTE LE PERSONE NORMALI HANNO IL FINE SETTIMANA LIBERO... :-)))
1. Il mondo è crollato, il mercato è in crescita - guarda il giorno della settimana...:-)) TUTTE LE PERSONE NORMALI HANNO IL FINE SETTIMANA LIBERO... :-)))
2. riposo...:-)))
Grazie :-) Immagino di essere fuori dai guai, ma è così).
Consenti l'uso dei cookie per accedere al sito MQL5.com.
Abilita le impostazioni necessarie nel browser, altrimenti non sarà possibile accedere.
Hai effettuato l'accesso. L'autenticazione a due fattori è stata disattivata. Configurala di nuovo e scansiona un nuovo codice QR, oppure continua con l'autenticazione a due fattori disattivata.
Tutti anche((((
Scusa, mi sono confuso - devi mettere 1 lì, poi sarà corretto. Voglio dire che il prezzo Close/Close sul grafico corrisponderà al prezzo nella funzione.
URRÀ! È lavorare!!!!
Grazie mille!
Controlla!
Controlla!
Bene, finalmente, leggete qui. Solo nell'Expert Advisor e nelle funzioni di avvio degli script con attesa. In tutti gli altri luoghi è severamente proibito.
Il tuo codice non si adatta agli standard di MQL4. Inoltre, è stato scritto da qualche parte che il tempo di attesa nelle funzioni ininit e deinit durante una chiamata di sistema è limitato a 2,5 secondi. Poi la funzione viene terminata forzatamente.
Tutto funziona. Ecco il codice per il mini sistema in tempo reale. Fuori dalla funzione start(). Anche se ovviamente non è assolutamente principale metterlo in init().
Qui sotto c'è il codice controllato sul terminale di lavoro; l'ordine si apre e tutti gli avvisi sono scritti nella finestra del messaggio. Funzione Sleep() anche
Anche la funzione Sleep() funziona bene. Ho controllato con 30 secondi di attesa - Sleep(30000). Anche se tale attesa non è assolutamente necessaria, 50 ms sono sufficienti.
Domanda sugli array.
Ci sono tre array unidimensionali:
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.... cosa fare?1. У меня такая проблема, вчера зарегистрировался на МТ 4, начал ознакамливатся и эксперементировать на демо. С утра решил продолжить изучать МТ4, но графики остановились на отметке времени 6 мая 23:57, ни помогает ни перезагрузка компа, не переутановка программы,...
1. Il mondo è crollato, il mercato è in crescita - guarda il giorno della settimana... :-)) TUTTE LE PERSONE NORMALI HANNO IL FINE SETTIMANA LIBERO... :-)))
2. riposo... :-)))
1. Il mondo è crollato, il mercato è in crescita - guarda il giorno della settimana...:-)) TUTTE LE PERSONE NORMALI HANNO IL FINE SETTIMANA LIBERO... :-)))
2. riposo...:-)))