[ARQUIVO!] Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 4. - página 466

 
LOA:

Boa tarde! Pergunta sobre o gráfico....Criou uma linha inclinada no indicador, com base em dois pontos

A linha é exibida corretamente, mas precisa ser estendida até que cruze o preço ou até que a próxima linha seja formada. Você pode me dizer como fazer isso....

Eu tentei desta maneira

mas a linha se desloca e não é exibida corretamente.....


ConstanteValorTipoDescrição
OBJPROP_TIME10data/horaObtém/define a primeira coordenada
OBJPROP_PREÇO11duploObtém/estabelece a primeira coordenada de preço
OBJPROP_TIME22data/horaObtém/estabelece a segunda coordenada de tempo
OBJPROP_PREÇO23duploObtém/estabelece a segunda coordenada de preço
OBJPROP_TIME34data/horaObtém/define a terceira coordenada de tempo
OBJPROP_PREÇO35duploObtém/estabelece a terceira coordenada de preço
OBJPROP_COLOR6corObtém/definea cor do objeto
OBJPROP_STYLE7intObtém/defineo estilo de linha do objeto
OBJPROP_LARGURAÇÃO8intObtém/ajusta a largura da linha do objeto
OBJPROP_BACK9boolObtém/ajusta a bandeira de exibição de fundo do objeto
OBJPROP_RAY10boolObtém/ajusta a bandeira de raio para objetos como OBJ_TREND
OBJPROP_ELLIPSE11boolObtém/ajusta uma bandeira para exibir uma elipse completa para um objeto OBJ_FIBOARC
OBJPROP_SCALE12duploObtém/define o valor da escala do objeto
OBJPROP_ANGLE13duploDefine o valor do ângulo em graus do objeto OBJ_TRENDBYANGLE
OBJPROP_ARROWCODE14intDefine o código da seta do objeto OBJ_ARROW. Pode ser um doscódigos devento ou um doscódigos de seta pré-definidos
OBJPROP_TIMEFRAMES15intObtém/define a propriedade de exibição do objeto por períodos diferentes. Pode ser uma ou uma combinação de váriasconstantes de visibilidade do objeto.
OBJPROP_DEVIATION16duploDefine o tamanho do desvio para o objeto OBJ_STDDEVCHANNEL
OBJPROP_FONTSIZE100intDefine o tamanho da fonte para objetos OBJ_TEXT e OBJ_LABEL
OBJPROP_CORNER101intObtém/ajusta o número do canto da âncora do objeto OBJ_LABEL. Toma os valores 0-3
OBJPROP_XDISTANCE102intObtém/estabelece a distância da coordenada X em pixels do ângulo da âncora do objeto OBJ_LABEL
OBJPROP_YDISTANCE103intDefine a distância da coordenada em Y em pixels em relação ao ângulo da âncora para um objeto OBJ_LABEL
OBJPROP_FIBOLEVELS200intObtém/estabelece o número de níveis de um objeto Fibonacci. Pode ser de 1 a 32
OBJPROP_LEVELCOLOR201corDefinea cor da linha de nível do objeto
OBJPROP_LEVELSTYLE202intObtém/define o estilo de linha de nível de objeto
OBJPROP_LEVELWIDTH203intObtém/define a largura da linha de nível do objeto
OBJPROP_FIRSTLEVEL+n210+nintObtém/define os valores de nível de objeto Fibonacci com índice, s. f. O índicen pode ser de 0 a (número de níveis -1), mas não mais de 31
 
FAQ:
OBJPROP_RAY10boolObtém/ajusta a bandeira de propriedade de raio para objetos do tipo OBJ_TREND e similares

Obrigado pela resposta. O gráfico também exibirá o raio, mas provavelmente poderia ser feito de uma maneira diferente, ou seja, a exibição da linha termina(i-2) quando o preço quebra em i ou quando uma nova linha aparece?
 
LOA:
O gráfico também exibirá o raio, mas você provavelmente pode fazê-lo de uma maneira diferente, ou seja, exibindo o final da linha(i-2) quando o preço quebra em i ou quando uma nova linha aparece?

Novamente, na divisão de uma linha por preço ou uma nova linha, faça uma leitura de preço na barra dada usando a funçãoObjectGetValueByShift(), mova o segundo preço e tempo para a barra atual e remova a propriedade dos raios.
 
Minhas senhoras e meus senhores! Eu sou um zero total, espero até agora) Existe um glossário de termos? Nem tudo está claro no vídeo de treinamento.
 
Minhas senhoras e meus senhores! Eu sou um zero total, espero até agora) Existe um glossário de termos? Nem tudo está claro no vídeo de treinamento.
 
FAQ:

Novamente, quando a linha é quebrada pelo preço ou uma nova linha, você faz uma leitura de preço nesta barra usando a funçãoObjectGetValueByShift(), move o segundo preço e tempo para a barra atual e remove a propriedade dos raios.
Ok. Mais uma vez obrigado, tudo isso faz sentido. Comecei recentemente a aprender programação, então talvez eu esteja realmente complicando as coisas ou simplesmente não conheço muitos truques....
 

Não consigo entender porque este código não fecha TODAS as vendas, mas apenas a mais recente?

Obrigado.

 for (orderIndex = (OrdersTotal() - 1); orderIndex >= 0; orderIndex--)
           {
            if (OrderSelect(orderIndex, SELECT_BY_POS))
              {
               if ((OrderSymbol() == Symbol()) && (OrderMagicNumber() == magic))
                 {
                   if (OrderType() == OP_SELL)
                     {
                       price = Bid; 
                       clr = ColorBuy;
                       result = OrderClose(OrderTicket(), OrderLots(), price, 300, clr);
                       if (result) {if (UseSound) {PlaySound("alert.wav");  break;} } 
                       else  {error = GetLastError(); Print ( "error = ", error );}
                     }
                }
              }
           } // Конец цикла 
 
Roman.:

Não consigo entender porque este código não fecha TODAS as vendas, mas apenas a mais recente?

Obrigado.


 for (orderIndex = (OrdersTotal() - 1); orderIndex >= 0; orderIndex--)
           {
            if (OrderSelect(orderIndex, SELECT_BY_POS))
              {
               if ((OrderSymbol() == Symbol()) && (OrderMagicNumber() == magic))
                 {
                   if (OrderType() == OP_SELL)
                     {
                       price = Bid; 
                       clr = ColorBuy;
                       result = OrderClose(OrderTicket(), OrderLots(), price, 300, clr);
                       if (result) {if (UseSound) {PlaySound("alert.wav");  } } 
                       else  {error = GetLastError(); Print ( "error = ", error );}
                     }
                }
              }
           } // Конец цикла 
Depois do PlaySound() há uma pausa
 
Vinin:

Depois do PlaySound() há uma pausa

Obrigado, Victor Ivanovich, por sua prontidão.

Eu cometi um erro ao copiar.

Aqui está um fragmento de código:

   for (orderIndex = (OrdersTotal() - 1); orderIndex >= 0; orderIndex--)
           {
            if (OrderSelect(orderIndex, SELECT_BY_POS))
              {
               if ((OrderSymbol() == Symbol()) && (OrderMagicNumber() == magic))
                 {
                   if (OrderType() == OP_SELL)
                     {
                       price = Bid; 
                       clr = ColorSell;
                       result = OrderClose(OrderTicket(), OrderLots(), price, 300, clr);
                       if (result) {if (UseSound) {PlaySound("alert.wav");  break;} } // Удалить break;
                       else  {error = GetLastError(); Print ( "error = ", error );}
                     }
                }
              }
           } // Конец цикла 
          


 
Roman.:

Obrigado, Victor Ivanovich, por sua prontidão.

Eu cometi um erro ao copiar.

Aqui está um pedaço de código:



Eu já afixei a variante corrigida. Editou seu último post