[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 996

 
É sempre assim, primeiro responda a uma pergunta, depois escreva um assessor, e depois mude-a infinitamente à medida que uma nova idéia chega, pobre artmedia, tão logo todos os programadores estarão fora, não haverá ninguém para ajudar)
 

A Techno concorda totalmente com você, mas estou lhe pedindo que comece um fio e não em outro lugar, o que diz o fio?

Qualquer pergunta de um iniciante, para não desorganizar o fórum. Os profissionais não passam por aqui. Não há lugar nenhum sem você.

Os moderadores podem deixá-lo em uma linha separada se a discussão não se encaixar na linha principal.

E então o caso é puramente voluntário, não estou pedindo para escrever para mim todo o trabalho, e como disse acima, estou aprendendo, e acho que aqueles recém-chegados que estão se juntando, também, aprendem muito,

 
ex_kalibur:

A Techno concorda totalmente com você, mas...

Bem, até agora, a julgar pelo ToR acima escrito, você sugere que tudo deve ser escrito para você. O tema é projetado especificamente para questões que surgem nos iniciantes durante a programação e o treinamento, e não para o cumprimento de todos os seus desejos)
 
Portanto, se todos concordarem com os termos de referência e tudo estiver claro, então prossiga. Primeiro, eu anexarei todos os arquivos de modelo
Arquivos anexados:
 
Techno:
Até agora, a julgar pelo ToR acima escrito, você está sugerindo que tudo deve ser escrito para você. O tópico foi projetado para perguntas que os iniciantes têm durante a programação e treinamento, e não para satisfazer todos os seus desejos)
Fiz perguntas no início, mas depois tornou-se muito complicado, e como o programa tem uma estrutura complexa com arquivos recebidos, não é possível mostrar o código, e por isso vou começar tudo de novo e retomar de onde parei.
 

Quero reescrever minha EA de mq4 para mq5. Você pode aconselhar quanto mais rápido o EA será testado e otimizado em mq5?

 
ex_kalibur:
Portanto, se todos concordarem com os termos de referência e tudo estiver claro, então prossiga. Primeiro anexarei todos os arquivos de modelo

Por que tão complicado?
 
Vinin:

Por que tão complicado?
Porque estou tão perplexo que não posso nem fazer uma pergunta competente
 

Vamos começar com a função Critério

Para determinar o canal utilizaremos o indicador ZigZag, respectivamente, vamos definir seus parâmetros,

//--------------------------------------------------------------------

// Criterion.mqh

//--------------------------------------------------------------- 1 --

// Функция вычисления торговых критериев.

// Возвращаемые значения:

// 10 - открытие Buy

// 20 - открытие Sell

// 11 - закрытие Buy

// 21 - закрытие Sell

// 0 - значимых критериев нет

// -1 - используется другой финансовый инструмент

//--------------------------------------------------------------- 2 --

// Внешние переменные:

eextern int ExtDepth=12;

extern int ExtDeviation=5;

extern int ExtBackstep=3;

//-----------------------------------------------------------------------

int Criterion() // Пользовательская функция

{

string Sym="EURGBR";

if (Sym!=Symbol()) // Если не наш фин. инструмент

{

Inform(16); // Сообщение..

return(-1);

} // .. и выход

double

High,

Low ;

//------------------- Параметры технич. индикат: -------------------

High =iCustom (NULL,0, "Zigzag",ExtDepth,ExtDeviation, ExtBackstep,1,bar);

Low = iCustom (NULL,0, "Zigzag",ExtDepth,ExtDeviation, ExtBackstep,2,bar);

int TicSpred=100;

double Spread[1000];

if (Spread[0]==0) {ArrayInitialize(Spread,(Ask-Bid)/delta);}

for (int q=TicSpred;q>0;q--){

if (Spread[q]==0) Spread[q]=(Ask-Bid)/delta;}

for (q=TicSpred;q>0;q--) {Spread[p]=Spread[p-1];}

Spread[0]=(Ask-Bid)/delta;

double CountedSpred;

for (q=0;q<bars;q++){CountedSpred=CountedSpred+Spread[p];}

//--------------------------------------------------------------- 5 --

// Вычисление торговых критериев

if (Bid <= Low && Ask< High -CountedSpred/2*delta )

return(10);

if ( Bid>= High )

return(20);

 

// Cálculo de critérios comerciais

if (Bid <=Baixo && Ask< Alto -CountedSpred/2*delta)

retorno(10);

se ( Licitação>= Alta )

retorno(20);

Aqui eu fiquei preso. De acordo com a tarefa, devemos primeiro obter a história da propagação média, como devo fazer?

Quero que minha matriz de 100 células seja completamente preenchida

Razão: