FOREX - Tendências, previsões e implicações 2016 - página 721

 
Otempo de abertura da vela provavelmente não coincidiu por causa do pequeno espaço na verdadeira M1, mas porque o terminal não desenhou o sinal de abertura, muitas falhas é claro, eu me acostumei, então eu tenho que assistir um dia ou mais e analisar as nuances)...
 
Vladimir Zubov:

Rena, o truque com o real, eu não posso ter uma abertura em uma vela, é um cheque de ferro. Por que existe tal situação por causa da folga nos castiçais? Eu nem sequer tenho o símbolo de abertura na captura de tela, mas o terminal fechou a posição.

Como uma versão...

Primeiro, o símbolo de 5 dígitos significa um monte de carrapatos e o número de vezes que o mesmo algoritmo é executado. É correto que um erro pode ocorrer em um GEP devido a uma mudança brusca no preço de abertura de um pedido. A ordem não foi aberta, o algoritmo não lidou com o erro e a segunda ordem segue. E a primeira poderia ter sido aberta após a primeira. Veja a hora da abertura do pedido.

 
new-rena:

Como uma versão de...

Em primeiro lugar, é um valor de 5 dígitos, o que significa um monte de carrapatos e o número de vezes que o mesmo algoritmo é executado. É correto que pode ocorrer um erro em um GEP devido a uma mudança brusca no preço aberto do pedido. A ordem não abriu, o algoritmo não processou o erro e aqui está a segunda ordem.

Versão de quê? MT4 988

Código sob #propriedade estrito

Eu só processo o primeiro tique de abertura de um castiçal, esta construção é correta?

//=============== Переменные =========================================

int prev_time = 0; // Trabalho com velas preços abertos

nulo OnTick()

{//Start-

// ======= Trabalho sobre os preços abertos dos castiçais ============================

se ( Tempo[0] <= tempo anterior ) {retorno;}

prev_time = (int)Time[0];

}//Start End-.

 
Vladimir Zubov:
Versão de quê? MT4 988
Versão da causa do chip que você descreveu.
 
Vladimir Zubov:

...

Código sob #propriedade estrito

Isto é verificação de erro de código, não manipulação de erro de OrderSelect. Você tem uma função OrderSelect de tratamento de erros em seu código?
 
new-rena:
Isto é a verificação de erros no código, não de erros no processamento do comando OrderSelect. Você tem o OrderSelect no seu código?

adicionado como um castiçal, talvez seja isso?

Mas não houve discotecas e não houve reinício do terminal. Ao reiniciar, sei que o método não é correto, pode abrir no meio de uma vela, mas no M1 não é tão importante, e não houve reinício.

 
new-rena:
Esta é uma verificação para erros no código, não para erros de processamento do comando OrderSelect. Você tem o OrderSelect no seu código?

OrderSelect é meu guardião das funções de Kim, para que não haja nenhuma abertura na vela, parece não haver nenhum problema lá.

//+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. aka KimIV,  http://www.kimiv.ru                   |
//+----------------------------------------------------------------------------+
//|  Версия   : 19.02.2008                                                     |
//|  Описание : Возвращает номер бара открытия последней позиции или -1.       |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    sy - наименование инструмента   ("" или NULL - текущий символ)          |
//|    tf - таймфрейм                  (    0       - текущий таймфрейм)       |
//|    op - операция                   (   -1       - любая позиция)           |
//|    mn - MagicNumber                (   -1       - любой магик)             |
//+----------------------------------------------------------------------------+
int NumberOfBarOpenLastPos(string sy="0", int tf=0, int op=-1, int mn=-1) {
  datetime t=0;
  int      i, k=OrdersTotal();

  if (sy=="" || sy=="0") sy=Symbol();
  for (i=0; i<k; i++) {
    if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
      if (OrderSymbol()==sy) {
        if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
          if (op<0 || OrderType()==op) {
            if (mn<0 || OrderMagicNumber()==mn) {
              if (t<OrderOpenTime()) t=OrderOpenTime();
            }
          }
        }
      }
    }
  }
  return(iBarShift(sy, tf, t, True));
}
//End

Não se trata aqui da função, mas das nuances do trabalho no mundo real.

 
Vladimir Zubov:

adicionado como um castiçal, talvez seja isso?

Mas não houve discotecas e não houve reinício do terminal. Ao reiniciar sei que o método não é correto, pode abrir no meio de uma vela, mas no M1 não é tão importante e não houve reinício.

Você terá isto a cada tique. Use o iTime(...PERÍODO_XX...). Se você fizer dessa maneira, funcionará apenas na abertura da vela daquela TF que você especificou. Entretanto, se o comando para abrir/fechar a ordem retorna um erro, o robô o dará novamente em um novo castiçal.

Ou iTime(...Período()...). - Isto está no TF atual, ou seja, aquele no gráfico onde a EA está

 
Vladimir Zubov:

OrderSelect é meu guardião das funções de Kim, para que não haja nenhuma abertura na vela, parece não haver nenhum problema lá.

Definitivamente, não se trata da função, mas das nuances do trabalho no real.

charge....

Eu não preciso disso de verdade...

 
new-rena:

andaimes a carvão....

Não preciso disto no real...

1. Como faço um novo controle de vela para que uma iteração seja feita ao primeiro tique ?

Parece que tenho este código funcionando para controlar o gatilho na abertura da vela :(

2. Por que não, trata-se da função da Kim de determinar a barra de uma posição aberta ?

P/S Transformado MT4 agora eu tenho que escrever tudo de novo ...