Saudações colegas programadores. Preciso da vossa ajuda. O Expert Advisor abre apenas um negócio no primeiro dia de negociação de um mês. Pode ser o primeiro ou o segundo ou o terceiro ou mesmo o quarto dia. A minha condição é assim: if(Day == 1 ||| Day == 2 ||| Day == 3 || Day == 4 ){comércio é aberto} Quero perguntar se existe alguma função na MQL5 que "diga à EA que hoje é o primeiro dia de negociação do mês"?
Saudações colegas programadores. Preciso da vossa ajuda. O meu Expert Advisor abre apenas um negócio no primeiro dia de negociação de um mês, e pode ser o primeiro ou o segundo, o terceiro ou mesmo o quarto dia. A minha condição é assim: if(Day == 1 ||| Day == 2 ||| Day == 3 || Day == 4 ){comércio é aberto} Quero perguntar se existe alguma função na MQL5 que "diga à EA que hoje é o primeiro dia de negociação do mês"?
Não consegue encontrar o primeiro dia de negociação ou não consegue verificar a data do dia actual com o primeiro dia de negociação do mês?
É assim que pode descobrir com maior precisão a data de abertura do mês na actual TF(PERÍODO_CURSO pode, claro, ser alterado para qualquer dia, por exemplo).
Saudações colegas programadores. Preciso da vossa ajuda. O meu Expert Advisor abre apenas um negócio no primeiro dia de negociação de um mês, mas pode ser o primeiro ou o segundo, o terceiro ou mesmo o quarto dia. A minha condição é assim: if(Day == 1 ||| Day == 2 ||| Day == 3 || Day == 4 ){comércio é aberto} Quero perguntar se existe alguma função na MQL5 que "diga à EA que hoje é o primeiro dia de negociação do mês"?
Encontrar onde a abertura de um novo bar é discutida e substituir o período PERÍODO_MN1 aí
A abertura de um novo bar será o primeiro dia de comércio do mês.
Porque é que os autores utilizam colons para escrever? O código abaixo está simplesmente cheio de colons. Embora o mesmo::Sleep(5); pode ser escrito sem colónias?
void CProgram::GetSymbols(void)
{
m_progress_bar.LabelText("Get symbols...");
m_progress_bar.Update(1,2);
::Sleep(5);
//--- Освободить массив символов
::ArrayFree(m_symbols);
//--- Массив элементов строкstring elements[];
//--- Фильтр названий символовif(m_symb_filter.IsPressed())
{
string text=m_symb_filter.GetValue();
if(text!="")
{
ushort sep=::StringGetCharacter(",",0);
::StringSplit(text,sep,elements);
//---int elements_total=::ArraySize(elements);
for(int e=0; e<elements_total; e++)
{
//--- Чистка по краям
::StringTrimLeft(elements[e]);
::StringTrimRight(elements[e]);
}
}
}
//--- Собираем массив форекс-символовint symbols_total=::SymbolsTotal(true);
for(int i=0; i<symbols_total; i++)
{
//--- Получим имя символаstring symbol_name=::SymbolName(i,false);
//--- Скроем его в окне Обзор рынка
::SymbolSelect(symbol_name,false);
//--- Если не форекс-символ, перейти к следующемуif(::SymbolInfoInteger(symbol_name,SYMBOL_TRADE_CALC_MODE)!=SYMBOL_CALC_MODE_FOREX)
if(m_symb_filter.IsPressed())
{
bool check=false;
int elements_total=::ArraySize(elements);
for(int e=0; e<elements_total; e++)
{
//--- Ищем совпадение в названии символаif(::StringFind(symbol_name,elements[e])>-1)
{
check=true;
break;
}
}
//--- Перейти к следующему, если не пропускает фильтрif(!check)
continue;
}
//--- Сохраним символ в массивint array_size=::ArraySize(m_symbols);
::ArrayResize(m_symbols,array_size+1);
m_symbols[array_size]=symbol_name;
}
//--- Если массив пустой, установим текущий символ по умолчаниюint array_size=::ArraySize(m_symbols);
if(array_size<1)
{
::ArrayResize(m_symbols,array_size+1);
m_symbols[array_size]=::Symbol();
}
//--- Покажем в окне Обзор рынкаint selected_symbols_total=::ArraySize(m_symbols);
for(int i=0; i<selected_symbols_total; i++)
::SymbolSelect(m_symbols[i],true);
}
Porque é que os autores utilizam colons para escrever? O código abaixo está simplesmente cheio de colons. Mas podemos escrever o mesmo::Sleep(5); sem colónias?
Resolução de contexto de operação ( :: )
Cada função em programa mql5 tem o seu próprio contexto de execução. Por exemplo, a função do sistema Print() é executada no contexto global. As funções importadas são chamadas no contexto da importação correspondente. Funções-métodos de classes têm o contexto da classe correspondente. A sintaxe da operação de resolução do contexto:
[nome_do_contexto]::nome_da_função(parâmetros)
Se não houver um nome de contexto, é uma referência explícita à utilização de um contexto global. Se não houver uma operação de resolução de contexto, a função é procurada no contexto mais próximo. Se a função não estiver no contexto local, é pesquisada no contexto global.
tipo Class_name::function_name(description_parameters) { // corpo funcional }
Se um programa utilizar ou puder utilizar no futuro várias funções com o mesmo nome de diferentes contextos de execução, pode ocorrer ambiguidade. A ordem em que as funções são chamadas sem especificar explicitamente o contexto:
Métodos de classe. Se a função com o nome dado não estiver especificada na classe, está à procura dela no nível seguinte.
Funções da MQL5. Se não existir tal função na língua, estamos a olhar para o nível seguinte.
Funções globais definidas pelo utilizador. Se não existe tal função, está a olhar para o nível seguinte.
Funções importadas. Se a função não for encontrada entre as importadas, o compilador irá gerar um erro.
Para eliminar a ambiguidade de uma chamada de função, especificar explicitamente o âmbito utilizando a operação de resolução de contexto.
-1. В частном случае одномерного массива из 50 элементов обращение к первому элементу будет выглядеть как array[0], к последнему элементу - array[49]. Вызов функции с аргументами x1, x2,..., xn Каждый аргумент может представлять собой константу, переменную или выражение соответствующего типа. Передаваемые аргументы разделяются запятыми и должны...
Saudações colegas programadores. Preciso da vossa ajuda. O Expert Advisor abre apenas um negócio no primeiro dia de negociação de um mês. Pode ser o primeiro ou o segundo ou o terceiro ou mesmo o quarto dia. A minha condição é assim: if(Day == 1 ||| Day == 2 ||| Day == 3 || Day == 4 ){comércio é aberto} Quero perguntar se existe alguma função na MQL5 que "diga à EA que hoje é o primeiro dia de negociação do mês"?
Saudações colegas programadores. Preciso da vossa ajuda. O meu Expert Advisor abre apenas um negócio no primeiro dia de negociação de um mês, e pode ser o primeiro ou o segundo, o terceiro ou mesmo o quarto dia. A minha condição é assim: if(Day == 1 ||| Day == 2 ||| Day == 3 || Day == 4 ){comércio é aberto} Quero perguntar se existe alguma função na MQL5 que "diga à EA que hoje é o primeiro dia de negociação do mês"?
Não consegue encontrar o primeiro dia de negociação ou não consegue verificar a data do dia actual com o primeiro dia de negociação do mês?
É assim que pode descobrir com maior precisão a data de abertura do mês na actual TF(PERÍODO_CURSO pode, claro, ser alterado para qualquer dia, por exemplo).
Mas é melhor verificar cada funçãoiTime,Bars.
Saudações colegas programadores. Preciso da vossa ajuda. O meu Expert Advisor abre apenas um negócio no primeiro dia de negociação de um mês, mas pode ser o primeiro ou o segundo, o terceiro ou mesmo o quarto dia. A minha condição é assim: if(Day == 1 ||| Day == 2 ||| Day == 3 || Day == 4 ){comércio é aberto} Quero perguntar se existe alguma função na MQL5 que "diga à EA que hoje é o primeiro dia de negociação do mês"?
Encontrar onde a abertura de um novo bar é discutida e substituir o período PERÍODO_MN1 aí
A abertura de um novo bar será o primeiro dia de comércio do mês.
Não consegue identificar o primeiro dia de negociação ou não consegue verificar a data do dia actual com o primeiro dia de negociação do mês?
Não posso determinar o primeiro dia de negociação do mês. Obrigado pelas vossas recomendações Vou experimentar)
Descubra onde é discutida a abertura de um novo bar e substitua o período PERÍODO_MN1
A abertura do novo bar será o primeiro dia de comércio do mês.
Obrigado. Também vou fazer experiências neste sentido)
Porque é que os autores utilizam colons para escrever? O código abaixo está simplesmente cheio de colons. Embora o mesmo::Sleep(5); pode ser escrito sem colónias?
Porque é que os autores utilizam colons para escrever? O código abaixo está simplesmente cheio de colons. Mas podemos escrever o mesmo::Sleep(5); sem colónias?
Resolução de contexto de operação ( :: )
Cada função em programa mql5 tem o seu próprio contexto de execução. Por exemplo, a função do sistema Print() é executada no contexto global. As funções importadas são chamadas no contexto da importação correspondente. Funções-métodos de classes têm o contexto da classe correspondente. A sintaxe da operação de resolução do contexto:
[nome_do_contexto]::nome_da_função(parâmetros)
Se não houver um nome de contexto, é uma referência explícita à utilização de um contexto global. Se não houver uma operação de resolução de contexto, a função é procurada no contexto mais próximo. Se a função não estiver no contexto local, é pesquisada no contexto global.
Além disso, a operação de resolução de contexto é utilizada para determinar a função de membro de uma classe.
tipo Class_name::function_name(description_parameters)
{
// corpo funcional
}
Se um programa utilizar ou puder utilizar no futuro várias funções com o mesmo nome de diferentes contextos de execução, pode ocorrer ambiguidade. A ordem em que as funções são chamadas sem especificar explicitamente o contexto:
Para eliminar a ambiguidade de uma chamada de função, especificar explicitamente o âmbito utilizando a operação de resolução de contexto.
Operação de resolução de contexto ( :::: )
Presumo que o autor está a acelerar o processamento do código. Muito bem feito.
O histórico comercial está desenhado no gráfico, como é que desactivo este desenho?
O histórico comercial está desenhado no gráfico, como posso desactivar esse desenho?
Serviço - Definições - Negociar - "Mostrar negociações no gráfico em tempo real".