Características úteis da KimIV - página 48

 

Isto é, a adição de uma constante não afeta o resultado

Eu queria fazer um indicador rápido, mas não funcionou (

 
Prival писал (а) >>

É uma boa regra básica para desconfiar. Verifique em qualquer pacote de matemática. Afixaremos os resultados. Vou fazer isso agora mesmo em MathCade.

Bom, mas você tem que verificar antes de expressar sua incredulidade. >> Desculpe-me.

 
TheXpert писал (а) >>

Uma boa, mas você tem que verificar antes de expressar sua descrença. Peço desculpas.

Se você tiver alguma dúvida, expresse-a e não se esqueça de fazê-lo. Afinal, você não quer voltar para eles, não quer procurar por erros. Você precisa ter certeza de que tudo foi feito corretamente. Mas, mesmo assim, não há garantias http://www.citforum.ru/programming/digest/scofdebug/.

 

Boa tarde! Acontece que as funções fractais foram desarticuladas em todo o ramo.

Encontramos dois deles:

um retorna o número de barras entre os últimos fractais (BarsBetweenLastFractals(string sy="", int tf=0)),

o outro, o nível de preço do último fractal (p.37).

A fim de fechar o assunto fractal de forma harmoniosa, precisamos de mais uma função. Ele retorna o número da barra da parte superior do último fractal!

Igor! se não for muito difícil para você. Você poderia produzir e exibir tal função?

 

Função ExistOrdersByPrice().

Devolve uma bandeira para a existência de um pedido ao preço determinado. Verdadeiro - a ordem existe (conjunto), Falso - a ordem não existe (não conjunto). Você pode limitar a lista de ordens a serem verificadas usando os parâmetros da função:

  • sy - Nome do instrumento de mercado. Se este parâmetro for dado, a função somente verificará as ordens do instrumento especificado. NULL significa o instrumento atual, e "" (por padrão) significa qualquer instrumento.
  • op - Tipo de comércio, tipo de ordem pendente. Valores válidos: OP_BUYLIMIT, OP_BUYSTOP, OP_SELLLIMIT, OP_SELLSTOP ou -1. O valor padrão de -1 indica qualquer tipo de pedido.
  • mn - Identificador do pedido (MagicNumber). O valor padrão de -1 significa qualquer MagicNumber.
  • pp - O nível de preço em que o pedido é estabelecido. O valor padrão de -1 é qualquer preço.
//+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. aka KimIV,  http://www.kimiv.ru                   |
//+----------------------------------------------------------------------------+
//|  Версия   : 30.07.2008                                                     |
//|  Описание : Возвращает флаг существования ордеров по цене установки        |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    sy - наименование инструмента   (""   - любой символ,                   |
//|                                     NULL - текущий символ)                 |
//|    op - операция                   (-1   - любая позиция)                  |
//|    mn - MagicNumber                (-1   - любой магик)                    |
//|    pp - цена                       (-1   - любая цена)                     |
//+----------------------------------------------------------------------------+
bool ExistOrdersByPrice(string sy="", int op=-1, int mn=-1, double pp=-1) {
  int d, i, k=OrdersTotal();

  if (sy=="0") sy=Symbol();
  for (i=0; i<k; i++) {
    if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
      if ((OrderSymbol()==sy || sy=="") && (op<0 || OrderType()==op)) {
        if (OrderType()>1 && OrderType()<6) {
          d=MarketInfo(OrderSymbol(), MODE_DIGITS);
          pp=NormalizeDouble(pp, d);
          if (pp<0 || pp==NormalizeDouble(OrderOpenPrice(), d)) {
            if (mn<0 || OrderMagicNumber()==mn) return(True);
          }
        }
      }
    }
  }
  return(False);
}
 

Exemplos de como usar a função ExistOrdersByPrice().

  • Verificar a disponibilidade de qualquer pedido ao preço de instalação 1,4
    Message(IIFs(ExistOrdersByPrice("", -1, -1, 1.4), "Есть", "Нет"));
  • Verifique qualquer pedido ao preço de configuração 1,5 para o instrumento de gráfico atual
    Message(IIFs(ExistOrdersByPrice(NULL, -1, -1, 1.5), "Есть", "Нет"));
  • Verifique se há um pedido BuyLimit ao preço de instalação 1,5 para qualquer instrumento
    Message(IIFs(ExistOrdersByPrice("", OP_BUYLIMIT, -1, 1.5), "Есть", "Нет"));
  • Verifique a presença do pedido SellStop ao preço de instalação 1,4 com o número mágico 123456 em EURUSD
    Message(IIFs(ExistOrdersByPrice("EURUSD", OP_SELLSTOP, 123456, 1.4), "Есть", "Нет"));
  • Verifique a presença de qualquer pedido ao preço de instalação 106 com o número mágico 987 em USDJPY
    Message(IIFs(ExistOrdersByPrice("USDJPY", -1, 987, 106), "Есть", "Нет"));

P.S. Em anexo está um script para testar a função ExistOrdersByPrice().

Arquivos anexados:
 
rid писал (а) >>
Para "fechar" o tema fractal de forma harmoniosa, outra função é necessária. Retornando o número da barra da parte superior do último fractal!

Em 13 de agosto de 2008 eu publiquei a função GetFractalBar (p.41).

 

A biblioteca b-Orders foi afixada.

 
KimIV писал (а) >>

Em 13 de agosto de 2008, eu publiquei a função GetFractalBar (página 41).

Sim, de fato! >> Obrigado!

 
KimIV писал (а) >>

A biblioteca b-Orders foi afixada.

Uma biblioteca muito útil! Em nome de todos aqui "muito obrigado"!