[ARQUIVO] Qualquer pergunta de novato, de modo a não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 3. - página 133

 

O TickSave do compositor perde alguns carrapatos, e também quando o servidor de demonstração se reconecta não cria uma nova pasta e não escreve para a antiga

Ainda assim, qual é o melhor roteiro ou Expert Advisor para coletar carrapatos?

 

Diga-me quantas casas decimais o ponto decimal deve ser.

Exemplo.

No terminal, o preço é 1,44996. Entretanto, todas as funções retornam apenas 1.4499 ou 1.4450. Há algum método para pesquisar valores com 5 casas decimais?

Por causa disso, não consigo descobrir o que fazer com o fim da perda. Fui guiado pela leitura do terminal 1.4xxx. E eu pus um fim às perdas em 200 pontos. Normalmente é colocado a 1.40000 - 200 = 1.39800, por exemplo.

Entretanto, logicamente, a função retorna apenas 1,4xxx deve ser 1,4000 - 200 = 1,3800. O que eu estou fazendo de errado? =(

 
DoubleToStr
 
sergeev:
DoubleToStr

Oooh.... Obrigado.

Portanto, houve arredondamento automático para 4 após o ponto decimal.

 
ChAnton:

Oooo.... Obrigado.

Portanto, houve arredondamento automático para 4 após o ponto decimal.


Quando impresso em Imprimir/Comentar sem qualquer outro texto, sim.

Mas o número continua sendo um número. Portanto, não se esqueça de aplicar o NormalizeDouble ao enviar pedidos comerciais

 

O segmento horizontal é definido da seguinte forma (estará à direita do Tempo[0]):

         datetime Time_TLINE_Left  = Time[0]         + Period()*60*15;
         datetime Time_TLINE_Right = Time_TLINE_Left + Period()*60*10;

         if(ObjectFind("MyLine_Buy")==-1) {
            string       Line_Buy  = "MyLine_Buy";
            ObjectCreate(Line_Buy, OBJ_TREND,  0,  Time_TLINE_Left,Ask,  Time_TLINE_Right,Ask);
            ObjectSet(   Line_Buy, OBJPROP_STYLE, STYLE_SOLID);
            ObjectSet(   Line_Buy, OBJPROP_RAY,   False);
            ObjectSet(   Line_Buy, OBJPROP_WIDTH, 3);
            ObjectSet(   Line_Buy, OBJPROP_BACK , True);
            ObjectSet(   Line_Buy, OBJPROP_COLOR, Color_Only_Buy);
         }

A cada nova barra, o segmento é eliminado e redesenhado.

Ocasionalmente, um dia após o dia atual é perdido (ou seja, não está na tabela, mas é feita uma tentativa de desenhar um segmento para ele) - por exemplo, nos fins de semana:

O tempo[0] corresponde à sexta-feira, e o segmento é criado para o sábado, quando não há negociação.

Neste caso, a lógica é quebrada.

- Precisamos encontrar uma maneira de identificar tais dias que não existem, e não desenhar segmentos de linha para eles.

Talvez alguém tenha uma idéia de como fazer isso?

(A verificação do dia da semana não cobre todas as opções possíveis, como feriados)

Obrigado!

 
chief2000:

Alguém tem uma idéia de como fazer isso? (A verificação dos dias da semana não cobre todas as possibilidades)

Precisamos detectar uma lacuna nas citações, comparar o Tempo[0] e o Tempo[1] em dias ou mais... Se não houver nenhuma lacuna, então desenhamos como de costume, se houver então precisamos pensar no que fazer neste caso.

 
splxgf:

Precisamos detectar uma lacuna nas citações, comparar Tempo[0] e Tempo[1]... Se não houver nenhuma lacuna, então nós a desenhamos como de costume, se houver, então devemos pensar no que fazer neste caso.

O tempo[1] está à esquerda do Tempo[0] e o segmento é puxado para a direita do Tempo[0] a alguma distância dele.

Pensei que um segmento desenhado para um dia inexistente (por exemplo, sábado) deveria ter algumas propriedades únicas, como um ponto. Mas o problema é que este ponto tem o tempo correto em suas propriedades - as coordenadas esquerda e direita deste ponto de segmentação não têm o mesmo tempo (para um ponto real, o tempo seria o mesmo).

Se fosse possível encontrar algo específico, então seria possível simplesmente apagar tal segmento.

 

comparar com o Tempo[1] apenas para detectar férias/fins-de-semana.

E por que há uma tentativa de redesenhar, não há carrapatos, você pode verificar se as negociações estão fechadas para scripts em loop.

 
splxgf:

comparar com o Tempo[1] apenas para detectar férias/fins-de-semana.

E por que há uma tentativa de redesenhar, não há carrapatos, você pode verificar se as negociações estão fechadas para scripts em loop.

O problema ocorre na primeira barra do primeiro dia da semana de negociação - o segmento cruza o Tempo[0] embora deva estar sempre a uma determinada distância (fixa) dele.

No início da semana, acontece que o tempo da coordenada esquerda do segmento se torna menor que o tempo de abertura do Tempo[0].

Talvez sua solução de verificar um intervalo entre Time[0] e Time[1] possa resolver o problema, mas terei que sacrificar as primeiras barras no início da semana (isto é aceitável). Vou verificar isso amanhã.

Obrigado!

Razão: