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 335

 
evillive:

O que a pergunta é, como eles dizem, é a resposta. Quem sabe como o preço é contado, e não há um nível pré-especificado.


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


Sim, no exemplo, preço = Licitação. Isso é o que estou comparando. Ao invés de "nível", algo é necessário. Vou tentar esta variante.


Apenas 1 e 2 em vez de 0 darão o primeiro ou ambos os dígitos após as fichas, não será mais XXX.00. Com zero, temos que tentar.

? Se o nível não for 00, por exemplo, precisa de XXX,15 ou XXX,35, como pode ser comparado?

A função

NormalizeDouble(Bid,0))

corta o valor para um valor numérico ou para Dígitos, enquanto precisa selecionar o número após o ponto decimal e trabalhar com ele, não importa o que esteja na parte inteira.

Obrigado.

 
Shum_sp:

Sim, no exemplo, preço = Licitação. Isso é o que estou comparando. Ao invés de "nível", algo é necessário. Vou tentar esta variante.


Apenas 1 e 2 em vez de 0, darão o primeiro ou ambos os dígitos depois de tochiki, não será mais XXX.00. Com zero, temos que tentar.

? Se o nível não for 00, por exemplo, precisa de XXX,15 ou XXX,35, como pode ser comparado?

A função

corta o valor para um valor numérico ou para Dígitos, enquanto precisa selecionar o número após o ponto decimal e trabalhar com ele, não importa qual seja a parte inteira.

Obrigado.


Boa noite para você também.
 
Shum_sp:

Bom dia!


Significa 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.

//+------------------------------------------------------------------+
//|                                                       Ровное.mq4 |
//|                               Copyright 2013, Artyom A. Trishkin |
//|                       https://www.mql5.com/ru/users/artmedia70 |
//+------------------------------------------------------------------+
#property copyright "Copyright 2013, Artyom A. Trishkin"
#property link      "https://www.mql5.com/ru/users/artmedia70"

//+------------------------------------------------------------------+
//| script program start function                                    |
//+------------------------------------------------------------------+
int start()
  {
   double a=140.20;
   double b=-123.32;
//----
   if(MathMod(a,1.0)==0) b=a; 
   Alert("140 = "+b);
//----
   return(0);
  }
//+------------------------------------------------------------------+
 
artmedia70:



Bom dia a todos vocês!

Obrigado. Não há nenhum botão de "obrigado" no canto, então tive que flubular.

Eu estava dormindo nos postos do evillive . Obrigado


Sinceramente,

 
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 não tenha ficado muito bem. 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,

Sinceramente,


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


Se eu entendi corretamente a pergunta, o preço se move em torno dos níveis circulares

para eur/usd

//+------------------------------------------------------------------+
//|                                                        level.mq4 |
//|                        Copyright 2013, MetaQuotes Software Corp. |
//|                                        http://www.metaquotes.net |
//+------------------------------------------------------------------+

//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
//----
   double level=NormalizeDouble(Bid,2);
   if(Bid == level)
   {
    Alert(" ну вот  Bid равен level ");
   }
   
   
   Alert("level   " ,level);
   Alert("bid   ",Bid);
//----
   return(0);
  }
//+------------------------------------------------------------------+
 

Estou tentando descobrir como colocar as setas nos indicadores. Por favor, diga-me o que está errado neste código. As setas de compra são definidas, mas as setas de venda não são.

#property indicator_chart_window
#property  indicator_color1 Aqua
#property  indicator_width1 1
#property  indicator_color2 Red
#property  indicator_width2 1

int otstup = 50;//отступ стрелки от свечи pips
double buy[],sell[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators

   IndicatorBuffers(2);
   SetIndexBuffer(0,buy);
   SetIndexBuffer(1,sell);
   
   SetIndexArrow(0,233);//buy
   SetIndexArrow(1,234);//sell
   
   SetIndexStyle(0,DRAW_ARROW,EMPTY,1,Aqua);
   SetIndexEmptyValue(0,0.0);
   SetIndexStyle(1,DRAW_ARROW,EMPTY,1,Red);
   SetIndexEmptyValue(1,0.0);
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {

//----
        sell[1]= High[1]+otstup*Point;
    
        buy[1] = Low[1]-otstup*Point;
//----
   return(0);
  }
//+------------------------------------------------------------------+
 
khorosh:

Estou tentando descobrir como colocar as setas nos indicadores. Por favor, diga-me o que está errado neste código. As setas de compra são definidas, mas as setas de venda não são.

Tente
#property indicator_buffers 2
а не 
 IndicatorBuffers(2);
 хотя у меня рисует обе стрелки и так, и эдак
 
pako:


Se entendi bem a pergunta, o preço se move em níveis redondos

para eur/usd.

Tanto quanto eu entendi, ele precisa da EA para ver o "preço redondo" em si. Por exemplo:

140,42 - errado.

139,54 - errado

140,00 - preço requerido

139,00 - preço alvo.

Ou seja, para que a parte fracionária do preço contenha zeros. Dei-lhe um exemplo de um roteiro, mas, pelo que entendi, pensar não é inerente a algumas pessoas...

Então, é assim:

if(MathMod(Bid,1.0)==0) Alert("Нашли круглую цену : "+DoubleToStr(Bid,Digits));
 
artmedia70:

Tanto quanto eu entendi, ele precisa do consultor para ver ele mesmo o "preço redondo". Por exemplo:

140,42 - errado.

139,54 - errado.

140,00 - preço alvo

139,00 - preço alvo.

Ou seja, para que a parte fracionária do preço contenha zeros. Dei-lhe um exemplo de um roteiro, mas, pelo que entendi, pensar não é inerente a algumas pessoas...

Então, é assim:



Não, ele então pensou sobre isso e decidiu que 140,15 ou 140,35 também é um preço íngreme e pode ser necessário. O cliente ainda não decidiu o que precisa ))))
 
evillive:
Não, ele então pensou sobre isso e decidiu que 140,15 ou 140,35 também é um preço íngreme e pode ser necessário. O cliente ainda não decidiu o que precisa ))))

Bem... quando ele finalmente decidir o que quer, então deixe-o começar a pensar ...
Razão: