Quaisquer perguntas de recém-chegados sobre MQL4 e MQL5, ajuda e discussão sobre algoritmos e códigos - página 1101

 
Yevhenii Levchenko:
Como sei se um pedido foi fechado manualmente ou por um robô?

DEAL_OUT... 'manualmente' o robô terá ID=magic

Se você procurar com um robô, então magia = 0 para uma ordem de saída manual (embora um robô também possa ter 0, mas isto é mais uma exceção do que uma regra)

 
Vitaly Muzichenko:

Screenshot por favor, nunca vi uma marca no diário de bordo quando o fechamento/apagamento aconteceu


aqui

na guia dos especialistas, era para ser

 
Andrey Sokolov:


aqui

na guia dos especialistas significava

Obrigado, terei que prestar atenção a isso para o desenvolvimento geral.

 

Por que este código desenha as setas erradas - MQL5

void ArrowCreate(ENUM_OBJECT             type,
                 datetime                time,
                 double                  price)
  {
   
   string name = (type == OBJ_ARROW_UP ? "Arrow Up №"+(string)(up+1) : "Arrow Down №"+(string)(down+1));
   if(type == OBJ_ARROW_UP)  { up++; }
   else                      { down++; };
   
   ResetLastError();
   if(ObjectCreate(ChartID(),name,OBJ_ARROW,0,time,price))
     {
      ObjectSetInteger(ChartID(),name,OBJPROP_ARROWCODE,(type == OBJ_ARROW_UP ? 241 : 242));
     }
   else
     {
      Print(__FUNCTION__,
            ": не удалось создать знак \"Стрелка\"! Код ошибки = ",GetLastError()); return;
     };
   ObjectSetInteger(ChartID(),name,OBJPROP_ANCHOR,(type == OBJ_ARROW_UP ? ANCHOR_TOP : ANCHOR_BOTTOM)); 
   ObjectSetInteger(ChartID(),name,OBJPROP_COLOR,(type == OBJ_ARROW_UP ? a_color_buy : a_color_sell));
   ObjectSetInteger(ChartID(),name,OBJPROP_STYLE,STYLE_SOLID); 
   ObjectSetInteger(ChartID(),name,OBJPROP_WIDTH,a_size); 
   ObjectSetInteger(ChartID(),name,OBJPROP_BACK,false); 
   ObjectSetInteger(ChartID(),name,OBJPROP_SELECTABLE,false); 
   ObjectSetInteger(ChartID(),name,OBJPROP_SELECTED,false); 
   ObjectSetInteger(ChartID(),name,OBJPROP_HIDDEN,true); 
   ObjectSetInteger(ChartID(),name,OBJPROP_ZORDER,0);
  }


Deve desenhar OBJPROP_ARROWCODE 241 ou 242
... mas em vez disso desenha OBJ_ARROW_UP ou OBJ_ARROW_DOWN normal

 
Sergey Likho:

A MQL4/MQL5 pode ser usada para esticar uma imagem BMP para tela cheia?

Tanto quanto eu sei - não.

 
Alexandr Sokolov:

Por que este código desenha as setas erradas - MQL5


Deve desenhar OBJPROP_ARROWCODE 241 ou 242
... mas, em vez disso, desenha o usual OBJ_ARROW_UP ou OBJ_ARROW_DOWN

Substitua

      ObjectSetInteger(ChartID(),name,OBJPROP_ARROWCODE,(type == OBJ_ARROW_UP ? 241 : 242));

para

      ObjectSetInteger(ChartID(),name,OBJPROP_ARROWCODE,(type == OBJ_ARROW_UP ? 225 : 226));

e verificar - então o que é realmente desenhado?

 
Vladimir Karputov:

Substitua

para

e verificar - então o que é realmente desenhado?

estas setas estão desenhadas, mas por que as setas não estão codificadas 241 e 242 não estão desenhadas?

 
Igor Zakharov:

DEAL_OUT... 'manualmente' o robô terá ID=magic

Se você procurar com um robô, então magia = 0 para uma ordem de saída manual (embora um robô também possa ter 0, mas isso é mais a exceção do que a regra)

Obrigado! Mas está no mt5...
Andrey Sokolov:

aqui

na guia Expert Advisors, isto significa

Existe alguma forma de divulgá-lo de forma programática?
 
Igor Makanu:

Não o fiz, ou melhor, não o procurei na sub-janela. No KB dei um exemplo de como clicar nas barras da janela principal e na saída de informações sobre a barra - você pode procurá-la

fiz um indicador para experimentar com os botões - verifiquei se os botões movem a linha do indicador

para ver se o indicador está em movimento coloque uma linha horizontal na subjanela do indicador ... isso é muito legal ))))

Obrigado. Só não entendo como anexar isto ao meu indicador.

 
Yevhenii Levchenko:
software pode eliminar isso?

Então talvez, como já sugerido, por magicka

Razão: