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

 
vld:
Eu estava falando sobre a janela de dados do terminal, o resto é mais ou menos claro)

Então você quer ver a data e a hora do castiçal e a leitura do indicador quando você passa o mouse sobre ele?
 
AlexeyVik:

Então, você quer ver a data e a hora das leituras do candelabro e do indicador?

Um gimmick, mas vamos lá)

Eu posso ver a data e a hora da vela como ela é, pairando sobre ela. Leituras indicadoras do limite do intervalo de tempo onde estou,

O número de dias, etc., barras do intervalo de tempo e até seu final (é contado e mostrado em segundos).

Sim, e que eu tenho por datas de citações Tempo[0], Tempo[Bars-1].

Para evitar solavancos desnecessários)

 
vld:

Um gimmick, mas vamos lá)

Eu posso ver a data e a hora da vela como ela é, pairando sobre ela. Leituras indicadoras do limite do intervalo de tempo onde estou,

O número de dias, etc., barras do intervalo de tempo e até seu final (é contado e mostrado em segundos).

Sim, e que eu tenho por datas de citações Tempo[0], Tempo[Bars-1].

para que sem solavancos desnecessários)


Não entendo, embora não seja uma mordaça, é uma surpresa de incompreensão.
 

A função start() costumava ser do tipo int. Agora é do tipo nulo. Existe tal coisa. Costumava ser conveniente abandonar a função start() se falhasse. Mas agora não é tão conveniente. Eu levei uma das corujas antigas, onde você pode ver como eu estava escrevendo antes:

void OnTick()
{
//---
   if (gdt_lastBarTime != Time[0])      // Если открылся новый бар, отрабатываем требуемые действия
   {
      int signal = GetGeneralSignal();
   
      if (signal != SIGNAL_NO)
          if (!Trade(signal))
              return (0);
          
      // Блок управления позициями   
      for (int li_Ord = OrdersTotal()-1; li_Ord >= 0; li_Ord--)
      {
         if (!OrderSelect(li_Ord, SELECT_BY_POS)) continue;
         if (OrderMagicNumber() != ii_Magic) continue;
         if (OrderSymbol() != Symbol()) continue;
       
          SPos.gi_CurTicket = OrderTicket();
          SPos.gi_Type = OrderType();
       
          // Блок модификации ордеров       
          if (id_SL != 0 || id_TP != 0)
          {
             if (OrderStopLoss() == 0 && OrderTakeProfit() == 0)
             {
                OrdersModifyer (ticket);
             }
          }
          // Блок перевода ордеров в б.у.
          if (OrderStopLoss() <= gd_PriceBU)
          {
             if (OrderType() > 1) continue;
             MovingStopLossToBU();
          }
          // Блок траала открытых ордеров
          if (OrderStopLoss() > gd_PriceBU)
          {
             TrailingStop();
          }

          // Удаление просроченных отложенных ордеров
          if (OrderOpenPrice() < Time[0])
          {
             DeletePendingOrders();
          }
      }
      
      gdt_lastBarTime = Time[0];     // На текущем баре все необходимые действия..
                                     // .. успешно выполнены
   }
}

Basicamente, com a variávelgdt_LastBarTime eu controlo a abertura de um novo bar. Costumava ser diferente. Eu o escrevi assim:

if (gdt_lastBarTime == Time[0]) return (0)

Eu pulei qualquer outra operação. Como é mais conveniente implementar isto agora? Porque não há possibilidade de devolver qualquer valor. Acontece que se eu inserir uma condição, o que quer que aconteça lá, a função chegará ao fim e a variável gdt_lastBarTime terá um novo valor. A questão é que o envio de pedidos ao terminal a cada tick não é uma opção. Portanto, precisamos limitar este caso com mais precisão. E se a função não puder ser abandonada, como, por exemplo, com função int ou booleana, significa que funcionará de qualquer forma.

 
hoz:

A função start() costumava ser do tipo int. Agora é do tipo nulo. Existe tal coisa. Costumava ser conveniente abandonar a função start() se falhasse. Mas agora não é tão conveniente. Eu levei uma das corujas antigas, onde você pode ver como eu estava escrevendo antes:

Basicamente, com a variávelgdt_LastBarTime eu controlo a abertura de um novo bar. Costumava ser diferente. Eu o escrevi assim:

Eu pulei qualquer outra operação. Como é mais conveniente implementar isto agora? Porque não há possibilidade de devolver qualquer valor. Acontece que se eu inserir a condição, o que quer que aconteça lá, a função chegará ao fim e a variável gdt_lastBarTime terá um novo valor. A questão é que o envio de solicitações ao terminal a cada tick não é uma opção. Portanto, precisamos limitar este caso com mais precisão. E se a função não puder ser abandonada, como, por exemplo, com função int ou booleana, significa que funcionará de qualquer forma.

O que há de errado em nãoter parâmetros?
 
evillive:
retorno sem parâmetros não é satisfatório?
Foi aí que eu parei.
 

Surgiu uma pergunta sobre o uso de amortecedores indicadores - digamos, dois amortecedores em uma janela separada desenham um histograma. O primeiro mostra alguns valores nominais e o segundo mostra valores de pico.
É possível proibir programticamente o uso do segundo buffer por indicadores externos (feiticeiros, etc.), ou seja, usá-lo apenas para exibir os valores requeridos no gráfico, mas não ser visível aos indicadores externos que são sobrepostos pelo usuário no gráfico?

 
atztek:

É possível proibir programmaticamente o uso do segundo buffer por indicadores externos (feiticeiros, etc.), ou seja, para que ele seja usado apenas para exibir os valores necessários no gráfico, mas não visível para indicadores externos que são sobrepostos pelo usuário no gráfico?

Não. Qualquer coisa que seja visível pode ser lida de forma programática.
 
TheXpert:
Não. Qualquer coisa que seja visível pode ser contada programmaticamente.

Estou vendo.
Obrigado!
 

É possível criar uma matriz bidimensional definindo o tamanho da segunda dimensão para uma variável em vez de uma constante?