[ARQUIVO!] Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 4. - página 339

 

HELLO!!!

Quem ajudaria a escrever um EA com funções

1 tempo aberto H e M

2 multiplicador de volume de perda (lote)

Volume de 3 lotes

4 stop loss

5 obter lucro

somente para a posição Comprar

Parece ser simples, mas não funciona

 
artmedia70:

Enquanto a finalidade do preenchimento dessas matrizes não for clara, nenhum algoritmo pode ser criado. Não está claro para que outras finalidades estas matrizes serão utilizadas. Portanto, não há nenhum algoritmo para salvá-los. Afinal, eles serão constantemente sobregravados com novos dados. Você está falando sobre a extensão da série. A série verde terminará assim que a série amarela ou vermelha começar. Da mesma forma, a série vermelha terminará assim que a série amarela ou verde começar. Em outras palavras, apenas uma série que está atualmente em vigor e a série que a precede estará atualizada. Ou deveria haver várias séries desse tipo, alternando entre elas.

Em resumo - em termos camponeses-trabalhadores: por que precisamos dessas matrizes de séries? Como ele será representado graficamente no peru, ou para quê?

O código mostra que existe uma matriz diferente para cada tipo de série (verde ou vermelho).

Objetivo: coletar informações estatísticas para análise posterior, tanto usando ferramentas MQL quanto Excel.

Simplificando, a matriz deve ser algo parecido com isto

RedSeries[0]=10; RedSeries[1]=11; RedSeries[2]=4 ...

GreenSeries[0]=6; GreenSeries[1]=8; GreenSeries[2]=10 ...

Se for importante, a dinâmica da mudança de cor é a seguinte: o verde não pode mudar para o vermelho, nem o vermelho pode mudar para o verde. Ou seja, há sempre amarelo no meio.

 

Por favor explique, se for encontrado um pedido para fechar e precisar ser fechado, há necessidade de listar os parâmetros após o bilhete?

Exemplo: OrderClose(OrderTicket(),OrderLots(),Bid,30,Blue);

substituir por OrderClose(OrderTicket(),NULL,NULL,NULL,NULL);

ou para OrderClose(OrderTicket(),EMPTY,EMPTY,EMPTY);

É possível escrevê-lo ainda mais curto para fechar, considerando apenas o bilhete?

 
rosomah:

Por favor, explique, se um pedido for encontrado para fechar e precisar ser fechado, há necessidade de listar os parâmetros após o bilhete?

Exemplo: OrderClose(OrderTicket(),OrderLots(),Bid,30,Blue);

substituir por OrderClose(OrderTicket(),NULL,NULL,NULL,NULL);

ou para OrderClose(OrderTicket(),EMPTY,EMPTY,EMPTY);

É possível escrevê-lo ainda mais curto para fechar, considerando apenas o bilhete?


Não. Existe um conceito de fechamento parcial do pedido. Portanto, os parâmetros devem ser especificados explicitamente. Tente abrir um pedido com lote=1,5 na demonstração, e depois feche esse pedido com lote=1. Você verá que se a ordem entrar em lucro, você pode fechar não a ordem inteira, mas apenas uma parte dos lotes, permitindo que os lotes restantes continuem a entrar em lucro.
 
silhouette:

O código mostra que existe uma matriz diferente para cada tipo de série (verde ou vermelho).

Objetivo: coletar informações estatísticas para análise posterior, tanto usando ferramentas MQL quanto Excel.

Simplificando, a matriz deve ser algo parecido com isto

RedSeries[0]=10; RedSeries[1]=11; RedSeries[2]=4 ...

GreenSeries[0]=6; GreenSeries[1]=8; GreenSeries[2]=10 ...

Se for importante, a dinâmica da mudança de cor é a seguinte: o verde não pode mudar para o vermelho, nem o vermelho pode mudar para o verde. Ou seja, há sempre amarelo no meio.

Por isso, monte duas matrizes bidimensionais. Um para os dados verdes e outro para os dados vermelhos. Em uma dimensão escreva o tempo, na outra o valor numérico. Assim que os dados verdes aparecerem, aumente a matriz verde em 1 e escreva no tempo e o valor da barra zero. Faça o mesmo para a matriz vermelha. Depois que os dados forem acumulados nas matrizes, você poderá processá-los conforme necessário. Ou escreva todos os dados para o arquivo do Consultor Especialista de uma só vez.
 

Olá a todos.

Como reconhecer ordens abertas por um EA a partir das mesmas ordens com um magik vazio aberto manualmente?

 
swird:

Olá a todos.

Como reconhecer uma ordem aberta por um EA a partir de uma ordem aberta manualmente com uma magia vazia?

No loop de pedidos, devemos verificar o operador OrderMagicNumber desta forma:

if (OrdersTotal()>0)
{  for (int i=OrdersTotal()-1; i>=0; i--)
   {  if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
      {  if (OrderMagicNumber()==MagNum) // тут
         {  //--- некоторое действие.

}  }  }  }
 
artmedia70:
Por isso, monte duas matrizes bidimensionais. Um para os dados verdes e outro para os dados vermelhos. Em uma dimensão escreva o tempo, na outra o valor numérico. Assim que os dados verdes aparecerem, aumente a matriz verde em 1 e escreva no tempo e no valor da barra zero. Faça o mesmo para a matriz vermelha. Depois que os dados forem acumulados nas matrizes, você poderá processá-los conforme necessário. Ou escreva todos os dados para o arquivo do Consultor Especialista de uma só vez.

Obrigado.

Mas não consigo entender o objetivo de criar uma medida de tempo. Afinal, existem vários bares em uma série e seus tempos são diferentes. Desta forma, não é possível gravar a série.

Mais uma coisa: eu não consigo entender onde há um erro lógico em meu código. Qual é a razão pela qual não funciona? Sem ela, qualquer tentativa de refazer qualquer coisa é inútil.

 
silhouette:

Obrigado.

Mas não consigo entender o objetivo de criar uma medida de tempo. Afinal, existem vários bares em uma série e seus tempos são diferentes. Desta forma, não é possível gravar a série.

E outra coisa: eu não consigo entender onde há um erro lógico em meu código. Qual é a razão pela qual não funciona? Sem ela, qualquer tentativa de refazer qualquer coisa é inútil.

Por que o tempo na série? Bem, por exemplo (não sei que estatísticas você quer coletar) ao processar dados estatísticos, seria útil saber não só o valor, mas também o tempo desse valor. Ao fazer um gráfico em Excel, você poderá ver claramente a localização da série e os dados dessa série, sua posição relativa entre si (vermelho e verde), etc. Se você não precisa, não o use.

Não olhei para seu código e não posso dizer onde está o erro lógico. Eu me lembro - você o fez baseado no indicador do Victor (Vinin), por que não perguntar a Victor sobre isso?

 

O que eu preciso saber para um iniciante além de baixar a plataforma, Expert Advisor, por onde começar?

Razão: