Estou tentando escrever uma função que determina o lucro para o dia atual:
Você pode me dizer como na função
Especificar o período a partir do dia atual. É claro que fim do período até_data=TimeCurrent(), como especificar corretamente o início do período desde_data, de modo que comece a partir de 00h:00m:00c do dia atual?
intCopyTime(
string symbol_name, // имя символаENUM_TIMEFRAMES timeframe, // период PERIOD_D1int start_pos, // откуда начнем 0int count, // сколько копируем 1datetime time_array[] // массив для копирования времени открытия. Объявить заранее
Assumindo que houve pelo menos um tick hoje, o algoritmo é o seguinte: a hora atual é enviada para a estruturaMqlDateTime. Em seguida, ajuste as horas, minutos e segundos para zero nesta estrutura. Resta converter a estrutura editada em um tempo:
Resultado:
Obrigado! Outra pergunta, se eu acrescentar uma função
//+------------------------------------------------------------------+//|Функция возвращает прибыль за текущие сутки |//+------------------------------------------------------------------+double Day_Profit()
{
//--Запрашиваем историю сделок за последнии суткиHistorySelect(TimeCurrent()-PeriodSeconds(PERIOD_D1),TimeCurrent());
uint total =HistoryDealsTotal(); // количество сделок в историиulong ticket =0; // тикет сделки в историиlong type =0; // тип сделкиdouble profit =0.0; // финансовый результат сделкиdouble commission =0.0; // коммиссия по сделкеdouble DayProfit =0.0; // прибыль за текущие сутки//--- for all dealsfor(uint i=0; i<total; i++)
{
if((ticket=HistoryDealGetTicket(i))>0) //--- если имеются сделки, то...
{
profit =HistoryDealGetDouble(ticket,DEAL_PROFIT);
commission =HistoryDealGetDouble(ticket,DEAL_COMMISSION);
if(HistoryDealGetInteger(ticket,DEAL_TYPE)!=DEAL_TYPE_BALANCE)
{
DayProfit+=(profit+commission);
}
}
}
return (DayProfit);
}
//+------------------------------------------------------------------+
para o Expert Advisor, como será atualizado o período para o qual as negociações são analisadas? Por exemplo, se meu consultor especializado trabalhar por alguns dias, então quando chegar o dia seguinte, o período será atualizado?
Obrigado! Outra pergunta, se eu acrescentar a função:
ao consultor especializado, como será atualizado o período para o qual as negociações são analisadas? Por exemplo, se o Expert Advisor trabalhar por alguns dias, então com o dia seguinte o período será atualizado?
A implementação da função acima no Expert Advisor:
A hora deve ser definida desde o início de um dia até a hora atual + dia ou + três dias.
Há a necessidade de determinar o spread para um símbolo antes de fazer um pedido sobre ele. A biblioteca MQL5 padrão inclui a classe CSymbolInfo. Foi aí que comecei a me perguntar, qual a melhor maneira de implementar esta verificação - via CSymbolInfo ou usando uma função? Por favor, especialista, me aconselhe sobre o que devo fazer! Se esta questão já foi levantada, ficarei muito grato se você me orientar na direção certa.
Estou precisando de alguns conselhos. Como as barras são consideradas se um EA contém módulos de sinal de diferentes períodos de tempo?
Por exemplo, tenho um Expert Advisor simples que tem dois módulos de sinal baseados em estocástico (quando a linha principal está acima da linha de sinal em 0 e 1 barra - COMPRAR, abaixo da linha de sinal em 0 e 1 barra - VENDER) - um em H1 e o outro em M15. Os pesos de ambos os módulos são os mesmos e no Expert Advisor o limiar para abertura de um negócio é estabelecido de tal forma que os sinais de ambos os módulos devem ser considerados simultaneamente. O Expert Advisor trabalha no gráfico no cronograma H1. Se você olhar a captura de tela de H1, tudo fica claro - a linha principal é mais alta do que a linha de sinal na última e penúltima barras e é por isso que compramos. Mas no gráfico da M15 não consigo entender qual barra deve ser considerada como 0 e qual como 1? O negócio está aberto - significa que na M15 a condição para o negócio também deve ser cumprida.
Por exemplo, existe um Expert Advisor simples que inclui dois módulos de sinal baseados em estocástico (quando a linha principal está acima da linha de sinal em 0 e 1 barra - COMPRAR, abaixo da linha de sinal em 0 e 1 barra - VENDER) - um para H1, o outro para M15.
Barra zero é o mal! O indicador no histórico que você vê calculado como se em 1 barra - fechado (bem, simplificado, se não levar em conta a possibilidade de re-cruzamento). Assim, a estratégia é construída sobre uma barra fechada e, no testador, o indicador da maior TF em MT4 mostrará o resultado de até mesmo uma barra zero, como uma barra fechada - ou seja, do futuro.
O resultado é uma decepção: uma coisa é diferente no testador, enquanto o oposto é verdadeiro em tempo real.
Acredite em minha palavra - perdi metade da minha vida enquanto tentava descobrir onde estava o erro do sistema. Para um mapeamento correto dos indicadores de TFs mais altos em uma abordagem especial mais baixa é necessário. Normalmente com Pushka, por exemplo, tudo é simples - multiplique o período por TF e a ordem, mas se houver cálculos não lineares, então só há imitação de cálculo em 0 barra.
Eu estava quebrando o RSI por um ano para que ele exibisse corretamente a maior TF no gráfico.
Não insisto, recomendo como mínimo o uso de sinais de barras fechadas, especialmente de barras mais altas em relação ao cronograma atual, e também verificar especialmente os indicadores personalizados para uma nova classificação.
Estou precisando de alguns conselhos. Como as barras são consideradas se um EA contém módulos de sinal de diferentes períodos de tempo?
Por exemplo, tenho um Expert Advisor simples que tem dois módulos de sinal baseados em estocástico (quando a linha principal está acima da linha de sinal em 0 e 1 barra - COMPRAR, abaixo da linha de sinal em 0 e 1 barra - VENDER) - um em H1 e o outro em M15. Os pesos de ambos os módulos são os mesmos e no Expert Advisor o limiar para abertura de um negócio é estabelecido de tal forma que os sinais de ambos os módulos devem ser considerados simultaneamente. O Expert Advisor trabalha no gráfico no cronograma H1. Se você olhar a captura de tela de H1, tudo fica claro - a linha principal é mais alta do que a linha de sinal na última e penúltima barras e é por isso que compramos. Mas no gráfico da M15 não consigo entender qual barra deve ser considerada como 0 e qual como 1? O negócio está aberto, o que significa que na M15 a condição para o negócio também deve ser cumprida.
Na história você vê barras já fechadas e a barra zero não é um mal, mas é móvel e temos que levá-la em conta, pois é formada dependendo do preço atual e mudanças estocásticas de direção são possíveis quando os preços saltam, por issoé mais sensível, pode fechar, por exemplo.
Tente adicionar mais uma barra apenas para abrir 0 &&& 1 && 2. talvez as ameixas sejam reduzidas.
Приказы на проведение торговых операций оформляются ордерами. Каждый ордер имеет множество свойств для чтения, информацию по ним можно получать с помощью функций Идентификатор позиции, который ставится на ордере при его исполнении. Каждый исполненный ордер порождает сделку, которая открывает новую или изменяет уже существующую позицию...
Boa tarde!
Estou tentando escrever uma função que determina o lucro para o dia atual:
Você pode me dizer como na função
Especificar o período a partir do dia atual. É claro que fim do período até_data=TimeCurrent(), como especificar corretamente o início do período desde_data, de modo que comece a partir de 00h:00m:00c do dia atual?Escolha a gosto:
Ou o máximo, o máximo. O que já foi sugerido.
Assumindo que houve pelo menos um tick hoje, o algoritmo é o seguinte: a hora atual é enviada para a estruturaMqlDateTime. Em seguida, ajuste as horas, minutos e segundos para zero nesta estrutura. Resta converter a estrutura editada em um tempo:
Resultado:
Obrigado! Outra pergunta, se eu acrescentar uma função
para o Expert Advisor, como será atualizado o período para o qual as negociações são analisadas? Por exemplo, se meu consultor especializado trabalhar por alguns dias, então quando chegar o dia seguinte, o período será atualizado?
Implementação da função acima no Expert Advisor:
Obrigado! Outra pergunta, se eu acrescentar a função:
ao consultor especializado, como será atualizado o período para o qual as negociações são analisadas? Por exemplo, se o Expert Advisor trabalhar por alguns dias, então com o dia seguinte o período será atualizado?
A implementação da função acima no Expert Advisor:
A hora deve ser definida desde o início de um dia até a hora atual + dia ou + três dias.
Você já sabe como determinar o início do dia.
Boa tarde!
Há a necessidade de determinar o spread para um símbolo antes de fazer um pedido sobre ele. A biblioteca MQL5 padrão inclui a classe CSymbolInfo. Foi aí que comecei a me perguntar, qual a melhor maneira de implementar esta verificação - via CSymbolInfo ou usando uma função? Por favor, especialista, me aconselhe sobre o que devo fazer! Se esta questão já foi levantada, ficarei muito grato se você me orientar na direção certa.
Boa tarde!
Estou precisando de alguns conselhos. Como as barras são consideradas se um EA contém módulos de sinal de diferentes períodos de tempo?
Por exemplo, tenho um Expert Advisor simples que tem dois módulos de sinal baseados em estocástico (quando a linha principal está acima da linha de sinal em 0 e 1 barra - COMPRAR, abaixo da linha de sinal em 0 e 1 barra - VENDER) - um em H1 e o outro em M15. Os pesos de ambos os módulos são os mesmos e no Expert Advisor o limiar para abertura de um negócio é estabelecido de tal forma que os sinais de ambos os módulos devem ser considerados simultaneamente. O Expert Advisor trabalha no gráfico no cronograma H1. Se você olhar a captura de tela de H1, tudo fica claro - a linha principal é mais alta do que a linha de sinal na última e penúltima barras e é por isso que compramos. Mas no gráfico da M15 não consigo entender qual barra deve ser considerada como 0 e qual como 1? O negócio está aberto - significa que na M15 a condição para o negócio também deve ser cumprida.
Por exemplo, existe um Expert Advisor simples que inclui dois módulos de sinal baseados em estocástico (quando a linha principal está acima da linha de sinal em 0 e 1 barra - COMPRAR, abaixo da linha de sinal em 0 e 1 barra - VENDER) - um para H1, o outro para M15.
Boa tarde!
Estou precisando de alguns conselhos. Como as barras são consideradas se um EA contém módulos de sinal de diferentes períodos de tempo?
Por exemplo, tenho um Expert Advisor simples que tem dois módulos de sinal baseados em estocástico (quando a linha principal está acima da linha de sinal em 0 e 1 barra - COMPRAR, abaixo da linha de sinal em 0 e 1 barra - VENDER) - um em H1 e o outro em M15. Os pesos de ambos os módulos são os mesmos e no Expert Advisor o limiar para abertura de um negócio é estabelecido de tal forma que os sinais de ambos os módulos devem ser considerados simultaneamente. O Expert Advisor trabalha no gráfico no cronograma H1. Se você olhar a captura de tela de H1, tudo fica claro - a linha principal é mais alta do que a linha de sinal na última e penúltima barras e é por isso que compramos. Mas no gráfico da M15 não consigo entender qual barra deve ser considerada como 0 e qual como 1? O negócio está aberto, o que significa que na M15 a condição para o negócio também deve ser cumprida.
Na história você vê barras já fechadas e a barra zero não é um mal, mas é móvel e temos que levá-la em conta, pois é formada dependendo do preço atual e mudanças estocásticas de direção são possíveis quando os preços saltam, por issoé mais sensível, pode fechar, por exemplo.
Tente adicionar mais uma barra apenas para abrir 0 &&& 1 && 2. talvez as ameixas sejam reduzidas.