Qualquer pergunta de novato, de modo a não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 6. - página 334

 
Melko:

II Esta é uma função elementar de fazer pedidos pendentes, os parâmetros não são importantes, mas é importante fazer o Expert Advisor (ele pode usar o laço existente de avaliação de pedidos) após receber um "novo preço" ou passar por ele, ou de alguma forma evitar fazer pedidos pelo mesmo preço. Neste caso, o ciclo de colocação de pedidos não deve parar. Por favor, me ajude.

Republicar cem vezes em todos os tópicos do fórum, talvez uma resposta mais rápida.
 

Bom dia a todos!

Dei uma olhada em todas as páginas da EA, olhei os códigos de EAs com base em ordens pendentes,

Não encontrei nenhuma resposta, pesquisando em todas as páginas do Fórum, e relendo o tutorial e a documentação do MQL .

Talvez, eu não tenha olhado com cuidado. Decidi perguntar aqui.

Estou escrevendo um EA com base em ordens pendentes. Não tive problemas com critérios de abertura de posição baseados em dados indicadores (<, >, =, etc.).

Mas, atualmente, o sistema não se baseia em nenhum indicador. O critério de abertura de posição é o PREÇO.

Nomeadamente, em Licitações iguais ao nível do PREÇO, vamos assumir, ХХХ.00 ou ХХХ.50 (para os pares de ienes), o bloco de critérios diz que

há um critério para comprar (vender) e enviar para o bloco de abertura do pedido.

Um exemplo aproximado é mostrado na Fig. 1 quando o nível é fixado e definido, por exemplo, por um usuário.

int start()                                   // Спец. функция start
  {
//----
   double
   Level,                                     // Сигнальный уровень
   Price;                                     // Текущая цена
   Level=140.00;                              // Задаём уровень
   Price=Bid;                                 // Запрашиваем цену
//----
    if (Price==Level)                          // Оператор if с условием
     {
      Alert("Курс равен  заданному уровеню");  // Сообщение трейдеру
     }

   return;// Выход из start()
  }

A questão é como escrever a condição para comparar o BID atual com os níveis que não foram estabelecidos de antemão, mas que são planos,

por exemplo 140,00, 141,00, 142,00 .... ou seja, com XXX,00

A primeira parte da condição é clara, por exemplo

if (NormalizeDouble(Price,Digits) >= NormalizeDouble(Level,Digits))

A segunda parte com Level, o que fazer.

Agradeço antecipadamente,

Respeitosamente,


P.S. Se isto já foi discutido e eu já perdi isto, me cutucar, por favor.

 
Melko:

II Esta é uma função elementar de fazer pedidos pendentes, os parâmetros não são importantes, mas é importante fazer o Expert Advisor (ele pode usar o laço existente de avaliação de pedidos) após receber um "novo preço" ou passar por ele, ou de alguma forma evitar fazer pedidos pelo mesmo preço. Neste caso, o ciclo de colocação de pedidos não deve parar. Por favor, me ajude.

Remova todos os seus spoilers e aprenda a inserir código pressionando o botão SRC antes de fazer pedidos!
 
Shum_sp:

Bom dia a todos!

Dei uma olhada em todas as páginas da EA, olhei os códigos de EAs com base em ordens pendentes,

Não encontrei nenhuma resposta, por isso pesquisei todas as páginas do Fórum, li novamente o tutorial MQL e a Documentação.

Talvez eu tenha olhado mal. Decidimos perguntar aqui.

Estou escrevendo um EA com base em ordens pendentes. Anteriormente, não havia problema com o critério de abrir uma posição com base em dados indicadores (<, >, =, etc.).

Mas, no momento, o sistema é não sindical. O critério para abrir uma posição é o PREÇO.

Nomeadamente, em Licitações iguais ao nível do PREÇO, digamos, ХХХ.00 ou ХХХ.50 (para pares de ienes), o bloco de critérios diz que

há um critério para comprar (ou vender) e ele nos envia para o bloco de abertura do pedido.

Um exemplo aproximado é mostrado na Fig. 1, quando o nível é fixado e definido, por exemplo, pelo usuário.

A questão é como especificar a condição que permitiria comparar o BID atual com níveis pré-definidos, mas iguais,

por exemplo, 140,00, 141,00, 142,00 .... ou seja, a partir de XXX,00

A primeira parte da condição é clara, por exemplo

Na segunda parte com Level, o que fazer.

Agradeço antecipadamente a todos vocês,

Respeitosamente,


P.S. Se isso já foi discutido e eu perdi isso, me cutucar, por favor.


if (NormalizeDouble(Price,Digits) >= NormalizeDouble(Bid,0)) //Для 4-х знаков можно и 1 или 2 вместо 0.
 
evillive:


Demais, eu acho.

Você vai responder a isso?

 
tara:


Demais, eu acho.

Você vai responder a isso?


Qual é a resposta, como se costuma dizer, é a resposta. Quem sabe como o preço é calculado, e o nível não é especificado com antecedência.


Mas se preço = Licitação, então...

if (Bid >= NormalizeDouble(Bid,0)) //опять же можно и 1 или 2 вместо 0.
 
Shum_sp:

Bom dia a todos!

Dei uma olhada em todas as páginas da EA, olhei os códigos de EAs com base em ordens pendentes,

Não encontrei nenhuma resposta, por isso pesquisei todas as páginas do Fórum, li novamente o tutorial MQL e a Documentação.

Talvez eu tenha olhado mal. Decidimos perguntar aqui.

Estou escrevendo um EA com base em ordens pendentes. Anteriormente, não havia problema com o critério de abrir uma posição com base em dados indicadores (<, >, =, etc.).

Mas, no momento, o sistema é não sindical. O critério para abrir uma posição é o PREÇO.

Nomeadamente, em Licitações iguais ao nível do PREÇO, digamos, ХХХ.00 ou ХХХ.50 (para pares de ienes), o bloco de critérios diz que

há um critério para comprar (ou vender) e ele nos envia para o bloco de abertura do pedido.

Um exemplo aproximado é mostrado na Fig. 1, quando o nível é fixado e definido, por exemplo, pelo usuário.

A questão é como especificar a condição que permitiria comparar o BID atual com níveis pré-definidos, mas iguais,

por exemplo, 140,00, 141,00, 142,00 .... ou seja, a partir de XXX,00

A primeira parte da condição é clara, por exemplo

Na segunda parte com Level, o que fazer.

Agradeço antecipadamente a todos vocês,

Respeitosamente,


P.S. Se isso já foi discutido e eu perdi isso, me cutucar, por favor.


Com este esquema, você pode simplesmente comparar variáveis, inclusive para a igualdade.
 
Shum_sp:

A questão é como escrever uma condição para comparar o BID atual com níveis não pré-definidos, mas de nível,

por exemplo 140,00, 141,00, 142,00 .... ou seja, com XXX,00



int Level=140;                              // Задаём уровень
 
:)
 
artmedia70:


Boa tarde!


É muito para prescrever todos os níveis.

O consultor especializado deve determinar que o nível é XXX,00, o usuário não deve participar disso e especificar os níveis em que deve trabalhar.

Não consigo entender como explicar que o preço atual é XXX.00

Obrigado a todos vocês.

Razão: