Características da linguagem mql5, subtilezas e técnicas - página 17

 
Combinador:
Errar porquê se não é visível de qualquer forma?

Estes parâmetros podem ser deixados de fora se não houver necessidade de exibir um indicador.

E a compatibilidade com o código antigo não será comprometida. Durante os testes, o indicador é sempre exibido.

 
Slawa:

Porque é impossível definir as propriedades de visualização (peça de desenho) através do manípulo indicador (peça de cálculo). Um bug é quando algo é escrito de uma forma, mas funciona de outra forma.

Uma abordagem diferente é necessária aqui. Acesso ao indicador por nome abreviado, como no grupo de funções ChartIndicatorXXX. Algo como ChartIndicatorSetInteger(chart_id,sub_window,indicator_name,PROP_COLOR,mod,value)

Já pensámos nisso, mas ainda não chegámos a isso.

Se se destina a indicadores definidos programmaticamente, não seria melhor substituir o destacado com o manípulo do indicador?
 

Fórum sobre negociação, sistemas de negociação automatizados e teste de estratégias de negociação

Peculiaridades da linguagem mql5, dicas e truques

fxsaber, 2017.02.25 16:02

  static bool HistoryDealSelect( MqlTradeResult &Result )
  {
    if ((Result.deal == 0) && (Result.order != 0))
    {
      if (::HistorySelectByPosition(::HistoryOrderGetInteger(Result.order, ORDER_POSITION_ID)))
        for (int i = ::HistoryDealsTotal() - 1; i >= 0; i--)
        {
          const ulong DealTicket = ::HistoryDealGetTicket(i);

          if (Result.order == ::HistoryDealGetInteger(DealTicket, DEAL_ORDER))
          {
            Result.deal = DealTicket;

            break;
          }
        }
    }

    return(::HistoryDealSelect(Result.deal));
  }
  // Учтены MT5-нюансы: Result.deal == 0
  static bool OrderSendSync( const MqlTradeRequest &Request, MqlTradeResult &Result )
A sincronicidade não é mais relevante. Apenas a peça responsável pela correção do Result.deal é destacada.
 
fxsaber:
A sincronização não é mais relevante. Apenas a peça responsável pela correção do resultado.deal é destacada.
o que é a "Result.deal correction" ?
 
Alexey Viktorov:
Se isto se destina a indicadores programados, não será melhor substituir o destacado com o manípulo do indicador?
Não é melhor. Porque é impossível sem mudanças de arquitetura. Eu descrevi o porquê em detalhes.
 
Artyom Trishkin:
o que é a "Result.deal correction" ?

Fórum sobre negociação, sistemas de negociação automatizados e testes de estratégia de negociação

Bugs, bugs, perguntas

fxsaber, 2017.02.23 15:34

Da CBO.

A conclusão do bilhete comercial resultante não é garantida. O seu preenchimento ou não depende do modo de execução do instrumento e das configurações do servidor em particular.

Quem se estabeleceu para um resultado.deal não zero - tomar medidas.

 
Roffild:

Estes parâmetros podem ser deixados de fora se não houver necessidade de exibir o indicador.

Se você quiser exibi-la, você pode colocar essas configurações nos parâmetros.
 
fxsaber:

Bem... Vejo que não se pode contar com um resultado não zero. Então o que diz esta linha?

// Учтены MT5-нюансы: Result.deal == 0

Onde são contabilizados?

 
Artyom Trishkin:

Bem... Vejo que não se pode contar com um resultado não zero. Então o que diz esta linha?

Onde são contabilizados?


Em OrderSendSync é chamado o HistoryDealSelect(ver acima).
 

fxsaber:

static bool OrderSendSync( const MqlTradeRequest &Request, MqlTradeResult &Result )

A sincronização não é mais relevante. Apenas a peça responsável pela correção do Result.deal é destacada.

E deixe-me perguntar porquê estática?
Razão: