Boa tarde, por favor aconselhe... Depois de actualizar para a última construção, erros no "SmoothAlgorithms" começaram a voar para fora. E a sma, lwma, parma, vidya average parou de funcionar. Jura-se a esta linha: "matriz fora de alcance em 'SmoothAlgorithms.mqh' (3394,9)". Como devo corrigi-lo? Obrigado!
007yurik: Boa tarde, por favor aconselhe... Depois de actualizar para a última construção, começaram a aparecer erros no "SmoothAlgorithms". E a sma, lwma, parma, vidya average parou de funcionar. Jura-se a esta linha: "matriz fora de alcance em 'SmoothAlgorithms.mqh' (3394,9)". Como devo corrigi-lo? Obrigado!
Escreva para o autor na página de discussão da sua biblioteca:
Existe alguma forma de programar uma lista de parâmetros a serem optimizados?
A questão é que eu tenho muitos parâmetros. Milhares deles. Coloquei-os num programa separado. EA carregando-os durante a inicialização através de ficheiro externo. Portanto, a minha tarefa é optimizar estes parâmetros agora.
Isto é, por exemplo, uma lista de parâmetros optimizáveis com valores e intervalos num ficheiro. Leia a partir daí e escreva o resultado também aí.
Estou a escrever uma função para fechar gráficos sem EAs ou guiões. Recebo o nome de Expert Advisor e o script no gráfico usando a função ChartGetString. Se ambos estiverem vazios, eu fecho-os. O problema está na linha com o fecho do gráfico de acordo com a condição. A condição nunca é satisfeita. Aqui está o código.
Boa tarde! fiz .mqh para o processamento e armazenamento de dados no recurso. Tudo funciona, mas há uma nuance, se eu compilar o indicador, o .mqh é reiniciado e refaz o processo de peso para armazenamento. Alvo - desde que haja dados no recurso não é reinicializado. Onde está o erro, como corrigi-lo?
// Сохранение данных#include <fxsaber\TradeTransactions\ResourceData.mqh> // https://www.mql5.com/ru/code/22166#include <GlobalVariables.mqh>
const RESOURCEDATA<MqlTick>m_Resource("::"+__FILE__); // Ресурс для передали данных (тики)//+------------------------------------------------------------------+//| |//+------------------------------------------------------------------+class CMyTicks
{
protected:
public:
//+------------------------------------------------------------------+//| Constructor. |//+------------------------------------------------------------------+ void CMyTicks()
{
_GlobalVariableSet("ResourceName",m_Resource.GetFullName()); // Записали в глобальную переменную полное имя ресурса (read-only)
}
//+------------------------------------------------------------------+//| Destructor. |//+------------------------------------------------------------------+ void ~CMyTicks()
{
//_GlobalVariableDel("ResourceName");
}
//+------------------------------------------------------------------+ void CollectTicks()
{
MqlTick m_Ticks[];
CopyTicks(_Symbol,m_Ticks,COPY_TICKS_ALL,0,5); // Сформировали данные
m_Resource=m_Ticks; // Записали данные
}
};
//+------------------------------------------------------------------+
// Получение данных#property indicator_chart_window#property indicator_plots0#include <Test_Keep_Info_13.mqh>
CMyTicks Test;
#include <fxsaber\TradeTransactions\ResourceData.mqh> // https://www.mql5.com/ru/code/22166#include <GlobalVariables.mqh>
staticconst RESOURCEDATA<MqlTick>Resource(_GlobalVariableGet<string>("ResourceName")); // Создали ресурс на основе переданного в глобальной переменной полного имени MqlTick Ticks[];
//+------------------------------------------------------------------+//| |//+------------------------------------------------------------------+intOnCalculate(constint rates_total,constint prev_calculated,constint,constdouble &[])
{
if(prev_calculated==0)
{
Resource.Get(Ticks); // Считали данные из ресурса.ArrayPrint(Ticks); // Распечатали полученные данныеif(ArraySize(Ticks)<1)
{
Test.CollectTicks();
Print(" SAVE TICKS ");
}
Resource.Get(Ticks); // Считали данные из ресурса.ArrayPrint(Ticks); // Распечатали полученные данные
}
return(rates_total);
}
//+------------------------------------------------------------------+
Boa tarde, por favor aconselhe... Depois de actualizar para a última construção, começaram a aparecer erros no "SmoothAlgorithms". E a sma, lwma, parma, vidya average parou de funcionar. Jura-se a esta linha: "matriz fora de alcance em 'SmoothAlgorithms.mqh' (3394,9)". Como devo corrigi-lo? Obrigado!
Escreva sobre isso ao autor na página de discussão da sua biblioteca:
Há necessidade de utilizar valores numéricos como elementos de enumeração.
enum ENUM_HOURS { 0, 1, .., 23 };Isto não é permitido. Identificador de erro de compilação esperado. Existe alguma forma de contornar o problema (deixando apenas valores numéricos)?
Há necessidade de utilizar valores numéricos como elementos de enumeração.
Isto não é permitido. Identificador de erro de compilação esperado. Existe alguma forma de contornar o problema (deixando apenas valores numéricos)?
Pode dar-me um link para a documentação do significado destes símbolos <>?
Existe alguma forma de programar uma lista de parâmetros a serem optimizados?
A questão é que eu tenho muitos parâmetros. Milhares deles. Coloquei-os num programa separado. EA carregando-os durante a inicialização através de ficheiro externo. Portanto, a minha tarefa é optimizar estes parâmetros agora.
Isto é, por exemplo, uma lista de parâmetros optimizáveis com valores e intervalos num ficheiro. Leia a partir daí e escreva o resultado também aí.
Estou a escrever uma função para fechar gráficos sem EAs ou guiões. Recebo o nome de Expert Advisor e o script no gráfico usando a função ChartGetString. Se ambos estiverem vazios, eu fecho-os. O problema está na linha com o fecho do gráfico de acordo com a condição. A condição nunca é satisfeita. Aqui está o código.
Aqui está o que a impressão mostra
Compreendo que podemos mudar a condição para o seguinte
Bem, de que outra forma devemos comparar a variável string com uma string vazia?
Boa tarde! fiz .mqh para o processamento e armazenamento de dados no recurso. Tudo funciona, mas há uma nuance, se eu compilar o indicador, o .mqh é reiniciado e refaz o processo de peso para armazenamento. Alvo - desde que haja dados no recurso não é reinicializado. Onde está o erro, como corrigi-lo?
Como posso comparar correctamente uma cadeia variável com uma cadeia vazia ?
Há duas cordas vazias normais - "" e NULL. E também pode haver cordas vazias personalizadas.