[ARQUIVO]Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por ela. Não posso ir a lugar nenhum sem você - 5. - página 39

 
hoz:
Para ser honesto, não tenho idéia do porquê de tal coisa ser necessária. Aparentemente, os desenvolvedores também não pensaram nisso.
É muito bom que haja coisas em que os desenvolvedores não pensaram. Se você juntar coisas assim e juntá-las, você pode
 
Kobalerro:

Obrigado pelo conselho, mas é um pouco complicado demais. E então, em sua versão, tudo funciona, e são necessários 10 para verificar a condição de entrada,

e eles abrem apenas os cinco que foram os primeiros a ter sucesso e depois, quando um deles fecha, o primeiro que corresponde às condições abre novamente,

não limitado a EURUSD 1 , GBPUSD 1 , EURGBP 0.

Acho que deveria haver uma solução mais simples. Como contar o número total de pedidos com uma condição de limitação por um determinado parâmetro.

Deve haver um limite para um símbolo ou um número mágico, mas não mais do que um.

Embora, talvez, sua variante também funcione, mas como implementá-la no código, eu não consigo pensar.


Sim, eu acho que sim! Eu realmente tenho o jeito aqui, eu posso fazer sem escrever em disco facilmente!
Estou apenas amarrando as rédeas do terminal padrão a outro
Estou apenas amarrando as rédeas de um terminal padrão para outro).

Perdoe-me, mas vamos ter que fazer de qualquer forma.
porque, como disse o senhor Freddie Mercury.
O espetáculo deve continuar!

Portanto, vamos esclarecer as especificações.
Pelo que entendi:

1. Por um lado, tenho um monte de janelas abertas (10 peças) com qualquer conjunto de gráficos de pares de moedas

2. Em cada gráfico está um cavalo de trabalho - um Expert Advisor, que faz algo.

3. a conta deve satisfazer as seguintes condições:

3.1 O número total de ordens de mercado aberto na conta não deve exceder 5.
Ordens do tipo cavalo (pendentes) não devem ser contadas como tal (acho que sim, mas você não as especificou)
3.2 Com base em um conjunto de gráficos sobre a conta, uma certa lista de símbolos é formada,

E cada um desses símbolos pode ter no máximo um símbolo em um determinado momento.

a qualquer momento não pode ter mais do que uma ordem em aberto.

---------------------------------------------------------

Algo parecido com isto! Veja se tudo está correto!
Então, por favor nos diga em que idioma deve ser feito (como mq4 ou mq5)
e lista de instâncias para as quais você negocia - é fixa ou diferente a cada vez

Acho que deve ser uma pasta curta no texto de cada EA

(que você pode mais tarde, se quiser) permitirá que ele

decidir sobre as permissões atualmente existentes para quaisquer ações ...

Eu gostaria de tirar minha licença agora que são 5 da manhã :))

madzx

 
Kobalerro:

Obrigado pela dica, mas é um mistério demais. E então sua versão da função funciona para todos eles, e são necessários 10 para verificar se há uma condição de entrada,

e eles abrem apenas os cinco que foram primeiro no tempo e depois, quando um deles fecha, o primeiro que corresponde às condições abre novamente,

não limitado a EURUSD 1 , GBPUSD 1 , EURGBP 0.

Acho que deveria haver uma solução mais simples. Como contar o número total de pedidos com uma condição de limitação por um determinado parâmetro.

E a limitação, seja por um símbolo ou por um número mágico, não mais de um.

Embora, talvez, sua variante também funcione, mas como implementá-la no código, eu não consigo pensar.



Não lute em três pinheiros. Bifurcar transações de expatriação sob magiks exclusivos (atribuir seu magik às suas ordens de expatriação nos símbolos selecionados). Em seguida, usando o operador condicional se - caso contrário, você conectar o filtro por símbolos e símbolos mágicos, usando esta função da Kim I.V. com valores de entrada diferentes:

Função NumberOfOrders().

. É isso aí.

 
hoz:


HM. Eu não entendi o que você quer dizer até que eu li tudo :) Que tipo de dados você quer na saída?

Na minha opinião, a solução para esta situação é a seguinte:

1. Converter números int 59 e 17 em tipo string

2. Em seguida, concatenamos os dados dessas cordas.

3. Nós os convertemos de volta ao tipo int

Pode haver outras opções, mas não consigo pensar em nenhuma outra no momento.


Ótima resposta - simples e direta - e você não precisa de outras opções, porque esta é
muito bom .... :))
 

Vou tentar minha sorte novamente.

Olá Há um indicadorhttps://www.mql5.com/ru/code/7176

Funciona bem na história. Na vida real, é muito esfarrapado, etc.

Se eu quisesse usar este indicador, por exemplo, como base para redesenhar/recalcular cada barra ou cada intervalo?

Por exemplo, se você comercializa no m5 e espera por um sinal que pode não vir, você está esperando por 15-20 minutos, então você muda para qualquer outro prazo e novamente no m5 e acontece que você tem um sinal. Você muda para outro período de tempo e novamente no m5 e acontece que ele estava lá há 10 minutos. Como você pode recalculá-lo automaticamente sem mudar para outro período de tempo?

 

Surgiu uma pergunta engraçada. Por exemplo, eu decido abrir uma ordem de compra com uma condição:

1. A onda rápida1 atravessou a onda lenta2 de baixo para cima. (O que é importante não é o momento da travessia, mas aquela onda rápida1 é maior que a onda lenta2).

2. O castiçal tocou o veloz 1, então abrimos uma ordem de compra.

Pensei sobre isso, e assim entendo que precisamos criar condições que se o preço da vela for aproximadamente igual ao preço da onda rápida1 aparentemente com algum desvio especificado, certo?

Basicamente, como o castiçal está atualmente no topo, uma vez que a máscara rápida1 atravessa a máscara lenta1 a partir de baixo, então precisamos comparar o baixo do castiçal com o preço da máscara rápida1?

ou seja

if( iMA(fast) > iMA(slow) )
{
  if(low[0] == iMa(fast))
  OrderSend(параметры посыла ордера);
}

Mas neste caso não se leva em conta que é improvável que o castiçal esteja exatamente ao preço do iMA(rápido), porque o preço pode rapidamente pular através dele e ir mais longe ou se recuperar. Portanto, precisamos especificar algum alcance.

Como implementá-la corretamente?

 
Twilight:

Vou tentar minha sorte novamente.

Olá Há um indicadorhttps://www.mql5.com/ru/code/7176

Funciona bem na história. Na vida real, é muito esfarrapado, etc.

Se eu quisesse usar este indicador, por exemplo, como base para redesenhar/recalcular cada barra ou cada intervalo?

Por exemplo, se você comercializa no m5 e espera por um sinal que pode não vir, você está esperando por 15-20 minutos, então você muda para qualquer outro prazo e novamente no m5 e acontece que você tem um sinal. Você muda para outro período de tempo e novamente no m5 e acontece que ele estava lá há 10 minutos. Como você pode recalcular automaticamente o sinal sem alterar os prazos?

Você leu cuidadosamente a descrição do autor do indicador (ver link)?

O único senão é que este indicador é, digamos, dinâmico. Ou seja, pode redesenhar mais de dez (!) barras. E o que você vê como verde costumava ser vermelho. E só ficou verde porque a tendência foi aumentando.

??? - já está com o desenho a mais!!!
 
silatyt:

Você leu cuidadosamente o resumo do autor para este indicador (no link)?

O único senão é que este indicador é, digamos, dinâmico. Ou seja, pode redesenhar mais de dez (!) barras. E o que você vê como verde costumava ser vermelho. E ficou verde somente porque a tendência foi aumentando.

??? - ele recalcula de qualquer forma!!!


Eu sei que é um novo método. Estou interessado na tecnologia de recálculo de qualquer indicador a cada nova barra ou a um certo intervalo.

Estou interessado na tecnologia de recálculo de qualquer indicador.

A questão é como recalcular em cada barra qualquer indicador sem alterar o cronograma manualmente.

 
Twilight:


Estou interessado na tecnologia de recalcular qualquer indicador a cada nova barra ou a um determinado período de tempo em geral.

Mesmo que haja algo mais tarde.

A pergunta soa como se fosse recalcular qualquer indicador em cada barra sem alterar manualmente o cronograma.

Você já olhou para dentro de algum indicador? Em geral, é o que parece:

int start()
  {
   int counted_bars=IndicatorCounted();
//----
   if (counted_bars < 0) return(-1);
   if (counted_bars > 0) counted_bars--; 
   int limit=Bars-counted_bars;
   for (int i=limit;i>=0;i--)
    {
    //расчёт индикатора
    }
//----
   return(0);
  }

A variável que define o número de barras que você deseja recalcular é chamada de limite. Você pode usá-lo como base a partir da qual se pode calcular.

 
silatyt:

Você já olhou dentro de algum indicador? Em geral, é o que parece:

A variável que determina o número de barras a serem recalculadas é o limite. Você pode calculá-lo a partir daí.


Você quer inserir o código do indicador no Expert Advisor e recalculá-lo lá?

E se houver 5 indicadores?

Existe alguma outra maneira de recalculá-los?

Anexo todos os indicadores ao Consultor Especialista através do iCustom

A chamada do indicador e seu último valor e assim por diante a cada nova barra, mas não é redesenhada na janela do símbolo trocado até que você altere o prazo e volte para trás.

Se você pressionar PCM e pressionar refresh, então não há redesenho, ele é redesenhado somente quando você muda o cronograma.

P.S. E o software PCM/refresh como é chamado?

RefreshRates parece estar errado.