[ARQUIVO]Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por ela. Não posso ir a lugar nenhum sem você - 5. - página 32

 

Prezados Profissionais! Recentemente me interessei em comercializar o calendário de mercadorias e intercontratar spreads no mercado futuro. A este respeito, há uma necessidade de cartas de instrumentos sintéticos. A idéia é construir uma tabela de velas calculada usando a diferença de preço OHLC entre a gasolina (XRB) e o óleo de aquecimento (HO), por exemplo. Tentei resolver esta tarefa utilizando meus próprios recursos, pois a fórmula de cálculo é simples - basta calcular a diferença entre os preços dos instrumentos e salvar os valores obtidos em um arquivo de histórico e utilizá-los de forma autônoma aplicando vários indicadores a eles. Felizmente, existem vários roteiros prontos para escrever gráficos sintéticos, como o PeriodConverter. Decidi começar com uma simples. Tentei adicionar o código que subtrai os preços de outro símbolo dos preços do gráfico (com o mesmo tempo de abertura) para as barras correspondentes no roteiro especificado. A fim de não evitar escrever código para sincronizar as barras de dois instrumentos por seu tempo aberto, introduzi um parâmetro que bloqueia apenas as últimas, digamos, 50 barras para cálculo, já que na maioria dos casos estas últimas barras não devem ser sincronizadas nem por seu tempo aberto nem por sua indexação, já que elas já estão sincronizadas. Combinei intencionalmente as ferramentas de tal forma que os valores negativos dos preços não são obtidos durante os cálculos porque, tanto quanto sei, o terminal não os exibe na tabela. Aqui está o que eu tenho. Ao abrir uma carta sintética obtida usando o script atualizado no modo autônomo, o terminal não pode exibir mais da metade das barras calculadas! Entretanto, se a operação de subtração de preço for substituída pela operação de adição no roteiro, todas as barras calculadas são traçadas. Qual é a diferença entre as operações de adição e subtração? O mesmo vale para as operações de multiplicação e divisão - ao multiplicar os preços relevantes, as barras no gráfico sintético são exibidas normalmente, mas ao dividir, menos da metade das barras são exibidas novamente! Você pode dizer que talvez haja um zero no denominador ao se dividir. Mas eu verifiquei as matrizes calculadas com a função Comentar e ela emite valores corretos todas as vezes, ou seja, a divisão por operação zero não estava presente em meus testes. E agora eu estou perplexo, não sei o que fazer com isso.

Se você não é um profissional difícil de ser estimado, por favor, aconselhe no que está o cão! Eu encerro meu trabalho criativo. Veja o código, por favor, o que você precisa acrescentar ou alterar para que o roteiro funcione normalmente. Eu deveria ao menos obter alguns gráficos autônomos, não precisa ser atualizado em tempo real, porque a comercialização de spread é normalmente feita a médio prazo, em termos de dias a semanas, de modo que a velocidade de elaboração dos gráficos não é crítica. Ou talvez a idéia de criar tais gráficos não seja de todo viável?

Arquivos anexados:
 
hoz:

Então, como a lógica mudará ao mover um suporte por uma linha? Afinal, a estrutura do código permanecerá a mesma e a lógica também.

isto é verdade, mas não é isto que é diferente na versão concisa. No primeiro caso, primeiro estávamos olhando para o valor da variável n e depois para ind. A diferença é que, após compararmos n, verificaremos de qualquer forma o valor de ind. Mas se começarmos verificando ind e depois n, então o número de operações cairá 45-49%, porque ind está vazio na maioria dos casos.
 
Rapazes, lembrem-me onde olhar para o horário e as condições comerciais do Ano Novo... spreads provavelmente aumentarão em 5 vezes e os requisitos de margem
 

Alguém sabe como fazer com que editores de planilhas gratuitas como OpenOffice ou LibreOffice não excluam o primeiro zero no formato de texto?

Li tudo o que pude na web. Não encontrei nada. Por que todos os editores similares são definidos de tal forma? Além disso, em todos os editores está escrito que o formato do texto produz tudo como escrito.

 
Zhunko:

Alguém sabe como fazer com que editores de planilhas gratuitas como OpenOffice ou LibreOffice não excluam o primeiro zero no formato de texto?

Li tudo o que pude na web. Não encontrei nada. Por que todos os editores similares são definidos de tal forma? Além disso, em todos os editores está escrito que o formato do texto produz tudo como escrito.


Talvez escrever em vírgulas invertidas? ""
 
keep87:

Isto é verdade, mas não é isto que é diferente na versão concisa. No primeiro caso, olhamos primeiro para o valor de n e depois ind. e no segundo caso é o contrário. A diferença é que, após compararmos n, verificaremos de qualquer forma o valor de ind. Mas se começarmos por verificar ind e depois n, o número de operações cairá 45-49%, porque ind está vazio na maioria dos casos.

Exatamente! Estou surpreso, de fato. Agora eu recebo tudo, obrigado.
 
Replikant:

Obrigado!!!

mas receio que "um pouco" não funcione)))) - Eu tenho uma fórmula booleana de três andares com 16 parâmetros tipo bool)

Que carga você tem... Pegue em até 16 bits e passe por cada bit...

//|                                                         test.mq4 |
//|                              Copyright © 2012 Mikhail Kozhemyako |
//|                                               ua3xcm@obninsk.com |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2012 Mikhail Kozhemyako"
#property link      "ua3xcm@obninsk.com"
extern  int Биты=0;
bool СработалоУсловие№_i;
int init()
  {
   return(0);
  }
int deinit()
  {
   return(0);
  }
int start()
  {
   int i;
   int Сдвиг=1;
// Гденить здесь нужно определиться с вашими условиями
   for(i=0;i<=15;i++)
    {
     if(СработалоУсловие№_i)
      {
       Биты=Биты | Сдвиг;
      }
     Сдвиг=Сдвиг << 1; 
    }
   for(i=0;i<=15;i++)
    {
     if(0x0001 & Биты == 1)
      {
       // Делать что-то по условию i
      }
     Биты = Биты >> 1;
    }
   return(0);
  }

E no testador, defina a variável bit perobore de 0 a 65535 em incrementos de 1.

Eu não sei, eu fiz isso, eu acho que deveria funcionar....

 
Boa noite! Diga-me, na captura de tela do teste, diz a porcentagem de ganhos em negócios curtos0. Estes são vendidos, não são? Então, presumo que nenhum deles foi lucrativo? Isto indica um desequilíbrio acentuado?
 
Dimka-novitsek:
Boa noite! Diga-me, na captura de tela do teste, diz a porcentagem de ganhos em negócios curtos0. Estes são vendidos, não são? Então, presumo que nenhum deles foi lucrativo? Isto indica um desequilíbrio acentuado?

Sim, ela faz Short-Sell-Short. Mas talvez você simplesmente não os tenha aberto por alguma razão.
 
chief2000:

Devo escrevê-lo entre aspas? ""

Como você processa isso? Um formato especial para programas tortuosos? Algumas das informações estão entre aspas, outras sem... Ou está tudo entre aspas?

É de alguma forma errado escrever zeros entre aspas se for um texto. Nos arquivos CSV, tudo é texto. É o usuário que decide o que e como processar, não o editor.

Para o Excel, há uma opção para colocar um apóstrofo na frente do texto. Resolve todos os problemas de visualização, mas não o conteúdo. Por que o caráter extra?

Razão: