[Arquivo!] Qualquer pergunta de novato, de modo a não desorganizar o fórum. Profissionais, não passem por ela. Não poderia ir a lugar algum sem você - 2. - página 371
Desculpe, eu fiquei confuso - você deve colocar 1 lá, então estará correto. Quero dizer, o preço Fechado/Fechado no gráfico corresponderá ao preço na função.
khorosh: Desculpe, eu fiquei confuso - você tem que colocar 1 lá, então estará correto. Quero dizer, o preço Fechado/Fechado na tabela corresponderá ao preço na função.
Bem, finalmente! Leia sobre isso aqui. Somente no Expert Advisor e nas funções de inicialização de scripts com espera. Em todos os outros lugares, é estritamente proibido.
Seu código não se enquadra nos padrões da MQL4. Além disso, foi escrito em algum lugar que o tempo de espera nas funções ininit e deinit durante uma chamada ao sistema é limitado a 2,5 segundos. Então a função é terminada à força.
Tudo funciona. Aqui está o código para o mini sistema em tempo real. Fora da função start(). Embora, é claro, não seja absolutamente fundamental colocá-lo no init().
Abaixo está o código verificado no terminal de trabalho; a ordem se abre e todos os alertas são escritos na janela de mensagem. Função Dormir() também
Função Sleep() também funciona bem. Verifiquei com 30 segundos de tempo de espera - Sleep(30000). Embora tal espera seja absolutamente desnecessária, 50 ms é suficiente.
//--- 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);}
//--------------------------------------------
Tenho o seguinte problema, me registrei no MT4 ontem, comecei a me familiarizar e a experimentar em demonstração. Decidi continuar estudando o MT4 pela manhã, mas o gráfico parou na hora de 6 de maio 23:57, não tentei reiniciar o computador ou reinstalar o programa, o que fazer?
Arthibald: 1. У меня такая проблема, вчера зарегистрировался на МТ 4, начал ознакамливатся и эксперементировать на демо. С утра решил продолжить изучать МТ4, но графики остановились на отметке времени 6 мая 23:57, ни помогает ни перезагрузка компа, не переутановка программы,...
2 o que fazer ?
1. O mundo entrou em colapso, o mercado está em alta - olha o dia da semana... :-)) TODAS AS PESSOAS NORMAIS TÊM O FIM DE SEMANA LIVRE. :-)))
Para login e uso do site MQL5.com, você deve ativar o uso de cookies.
Ative esta opção no seu navegador, caso contrário você não poderá fazer login.
Você entrou na conta. A autenticação de dois fatores foi desativada. Configure-a novamente e escaneie um novo código QR ou continue com a autenticação de dois fatores desativada.
Todos até((((
Desculpe, eu fiquei confuso - você tem que colocar 1 lá, então estará correto. Quero dizer, o preço Fechado/Fechado na tabela corresponderá ao preço na função.
HOORAY! Está funcionando!!!!
Muito obrigado!
Confira!
Confira!
Bem, finalmente! Leia sobre isso aqui. Somente no Expert Advisor e nas funções de inicialização de scripts com espera. Em todos os outros lugares, é estritamente proibido.
Seu código não se enquadra nos padrões da MQL4. Além disso, foi escrito em algum lugar que o tempo de espera nas funções ininit e deinit durante uma chamada ao sistema é limitado a 2,5 segundos. Então a função é terminada à força.
Tudo funciona. Aqui está o código para o mini sistema em tempo real. Fora da função start(). Embora, é claro, não seja absolutamente fundamental colocá-lo no init().
Abaixo está o código verificado no terminal de trabalho; a ordem se abre e todos os alertas são escritos na janela de mensagem. Função Dormir() também
Função Sleep() também funciona bem. Verifiquei com 30 segundos de tempo de espera - Sleep(30000). Embora tal espera seja absolutamente desnecessária, 50 ms é suficiente.
Pergunta sobre arrays.
Existem três matrizes unidimensionais:
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:
21. У меня такая проблема, вчера зарегистрировался на МТ 4, начал ознакамливатся и эксперементировать на демо. С утра решил продолжить изучать МТ4, но графики остановились на отметке времени 6 мая 23:57, ни помогает ни перезагрузка компа, не переутановка программы,...
o que fazer ?
1. O mundo entrou em colapso, o mercado está em alta - olha o dia da semana... :-)) TODAS AS PESSOAS NORMAIS TÊM O FIM DE SEMANA LIVRE. :-)))
2. descanso... :-)))
1. O mundo entrou em colapso, o mercado está em alta - olha o dia da semana...:-)) TODAS AS PESSOAS NORMAIS TÊM O FIM DE SEMANA LIVRE. :-)))
2. descanso...:-)))