[AVISO FECHADO!] Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por aqui. Não posso ir a lugar algum sem você. - página 281

 
 
DDFedor >> :

não... não há necessidade de freios... enquanto me pesquisava, não me lembro de ter encontrado um, então perguntei... laços, deslizes e atrasos não são a solução... Obrigado!

A propósito, se o cálculo for longo, é possível visualizar a passagem de certas etapas do código mudando a cor do objeto. Será legal, mas de qualquer forma são necessários recursos para a visualização; as funções mais lentas são as que funcionam com arquivos e as funções com objetos.

 
granit77 писал(а) >>
Texto intermitente.

Ótimo! >> obrigado!

 

Alguém pode me mostrar um exemplo de código para leitura do arquivo *.csv para a matriz 1D/2D em MQL5?

Não houve problemas com a escrita.

Obrigado.

Seria ótimo ter um exemplo com as aulas.

 
joo >> :

Alguém pode me mostrar um exemplo de código para leitura do arquivo *.csv para a matriz 1D/2D em MQL5...?

>>: >>:::::::::::::::::::::::::::::::::::::.

Que "novatos" vem por aí :))) É hora de fazer um fio à parte para a "classe média".

 
Oh, cara, está ficando louco. :) -durante o trabalho com produtos beta. Antes disso, eu estava lutando com arrays. Fiz o upgrade - funcionou...
 

Para MQL4:

void start()
{
double m[]={1.1,2.2,3.3,4.4,5.5,6.6};//Массив источник
double m_[6]; //Массив приемник

ArrayInitialize(m_,0);

string str;
int handle;
//=======Запись в массив============
handle=FileOpen("p.csv", FILE_CSV|FILE_WRITE,";");
//Цикл записи строчек в файл
for(int i=0; i<6; i++)
{
str=DoubleToStr(m [i], 8);
FileWrite (handle,str);
}
FileClose(handle);
//==================================

//========Чтение из файла===========
FileOpen("p.csv",FILE_CSV|FILE_READ,";");
int cnt;
while(FileIsEnding(handle)!=true)
{
m_[cnt]=StrToDouble(FileReadString(handle));
cnt++;
}
FileClose(handle);
//==================================

//Посмотрим, что там записалось в массив?
for(i=0;i<6;i++)
{
Alert(m_[i]);
}
}

E para a MQL5, acontece que você tem que fazer isso:

void OnStart()
{
double m[]={1.1,2.2,3.3,4.4,5.5,6.6};//Массив источник
double m_[6]; //Массив приемник

ArrayInitialize(m_,0);

string str;
int handle;
//=======Запись в массив============
handle=FileOpen("p.csv",FILE_CSV|FILE_WRITE,";");
//Цикл записи строчек в файл
for(int i=0;i<6;i++)
{
str=DoubleToString(m[i],8);
FileWrite(handle,str);
}
FileClose(handle);
//==================================

//========Чтение из файла===========
FileOpen("p.csv",FILE_CSV|FILE_READ,";");
for(int i=0;i<6;i++)
{
m_[i]=StringToDouble(FileReadString(handle));
}
FileClose(handle);
//==================================

//Посмотрим, что там записалось в массив?
for(int i=0;i<6;i++)
{
Alert(m_[i]);
}
}

Atenção, pergunta: "Por quê?".

 

Podemos implementar este algoritmo?
1. O que o Expert Advisor observaria em outro período de tempo e usaria, por exemplo, a Média Móvel para filtrar sinais falsos?
2. E se eu quiser que meu consultor especializado puxe um Stop Loss para não atingir o nível de equilíbrio? Por exemplo, se um Stop Loss for inicialmente fixado em 50 pips, e quando ele atingir 30 pips, eu puxaria o Stop Loss em 20 pips.

Obrigado de antemão!

 
Como simplificar o padrão do artigo "Confiando no poder dos padrões", removendo SL, TP, pedidos pendentes e suas modificações. Caso contrário, é impossível experimentar.
 
shap писал(а) >>
Como simplificar um modelo do artigo "Confiando no poder dos modelos", removendo SL, TP, pedidos pendentes e suas modificações. Caso contrário, é impossível experimentar.

Para um padrão correto, sua presença (SL, TP) não é um empecilho. E a modificação geralmente não é um empecilho. Você pode desativá-lo. Para ser mais exato, não chame esta função.