Perguntas de um "boneco" - página 81

 
tol64:

Pode dizer-me em que casos o valor de um tick pode diferir dependendo se a posição está actualmente em lucro ou prejuízo?

SIMBOLO_COMÉRCIO_VALOR_LUCRO

SÍMBOLO_TRADE_TICK_VALUE_LOSS

Fazer uma pesquisa no fórum. Algo semelhante já foi discutido anteriormente.
 

Necessidade de obter o resultado da última transacção. O que é que estou a fazer mal? :

   i = HistoryDealsTotal(); 
   
   if (i > 1)  {
   	HistorySelect(0,TimeCurrent());
   	 ticket = HistoryDealGetTicket(i);
   	 profit = HistoryDealGetDouble(ticket,DEAL_PROFIT);
   }
 
infera:

Necessidade de obter o resultado da última transacção. O que é que estou a fazer mal? :

Penso que é assim

   HistorySelect(0,TimeCurrent());

   i = HistoryDealsTotal(); 
   
   if (i > 1)  {
        
        ticket = HistoryDealGetTicket(i-1);
        profit = HistoryDealGetDouble(ticket,DEAL_PROFIT);
   }
 
sergey1294:

Penso que é assim

Obrigado, está a funcionar.
 

Num exemplo simples sem linhas IndicatorRelease(ma_handle); tudo funciona bem, rápido.

Mas quase pendura o sistema em modo OHLC.

double ma2[];int ma2_handle;double ma[];int ma_handle;

int OnInit()
 {  
  return(0);
 }

void OnTick() 
{ 
    ma_handle  = iMA(_Symbol,_Period,10, 0,MODE_SMA, PRICE_CLOSE);
    ma2_handle = iMA(_Symbol,_Period,100, 0,MODE_SMA, PRICE_CLOSE);
   IndicatorRelease(ma_handle);
   IndicatorRelease(ma2_handle);
}
 
Karlson:

Num exemplo simples, sem o IndicatorRelease(ma_handle); linhas, tudo funciona bem e rápido.

Mas quase pendura o sistema em modo OHLC.

Criar e apagar manípulos indicadores a cada vez que se faz uma marcação está errado. É como parar e ligar o seu carro em cada semáforo e antes de cada passagem de peões.
Документация по MQL5: Доступ к таймсериям и индикаторам / IndicatorRelease
Документация по MQL5: Доступ к таймсериям и индикаторам / IndicatorRelease
  • www.mql5.com
Доступ к таймсериям и индикаторам / IndicatorRelease - Документация по MQL5
 
Rosh:
Criar e apagar pegas indicadoras em cada tic tac não é correcto. É como parar e ligar o seu carro em cada semáforo e antes de cada passagem de zebra.

E quero ser mais específico sobre as pegas.

Se as pegas não foram removidas durante a desinicialização (IndicatorRelease) e o programa foi removido do gráfico ao mesmo tempo, as pegas são automaticamente removidas?

Só mais uma coisa. A referência diz que salva a memória. Por quanto? Se eu pudesse dar-vos alguns números sobre a quantidade de recursos que são consumidos por manípulos indicadores.

 
tol64:

E gostaria de esclarecer sobre as pegas.

Se as pegas não foram apagadas (IndicatorRelease) durante a desinicialização, mas o programa foi apagado do gráfico ao mesmo tempo, as pegas são automaticamente apagadas?

Sim, se o sistema de tempo de execução do terminal detectar um cabo abandonado que não seja reclamado por ninguém, ele será automaticamente apagado. Não posso dizer-vos a vida útil de tal cabo neste momento.
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
  • www.mql5.com
Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров - Документация по MQL5
 
tol64:

Só mais uma coisa. A referência diz que salva a memória. Por quanto? Se puder dar números, quantos recursos são consumidos por manípulos indicadores.

Se o mesmo indicador for solicitado a partir de 10 gráficos, então a economia é 10 vezes. Se assim for, calcular o número de barras sobre as quais o indicador é calculado e multiplicar pelo número de tampões indicadores, multiplicar pelo tamanho do dobro e não esquecer a memória dos tampões de cor, se existirem.
Усреднение ценовых рядов без дополнительных буферов для промежуточных расчетов
Усреднение ценовых рядов без дополнительных буферов для промежуточных расчетов
  • 2010.10.25
  • Nikolay Kositsin
  • www.mql5.com
Статья о традиционных и не совсем традиционных алгоритмах усреднения, упакованных в максимально простые и достаточно однотипные классы. Они задумывались для универсального использования в практических разработках индикаторов. Надеюсь, что предложенные классы в определенных ситуациях могут оказаться достаточно актуальной альтернативой громоздким, в некотором смысле, вызовам пользовательских и технических индикаторов.
 
Rosh:
A criação e remoção de manípulos de indicadores a cada toque está errada. É como desligar e ligar o seu carro em cada semáforo e antes de cada passagem de peões.

Foi um modelo. No Expert Advisor a função é executada numa nova barra semanal, novos indicadores são criados e a matemática é feita. Depois tem de ser limpa... Assim, ao activar a linha IndicatorRelease quase congela... Basta removê-la, e tudo voa apesar de todo o lixo.

double ma[];int ma_handle;datetime time[],lastbar;

int OnInit()
 {  
  return(0);
 }

void OnTick() 
{  
   if(CopyTime(_Symbol,PERIOD_W1,0,1,time)<=0) {Print("Error: ",GetLastError());return;}
   if (lastbar!=time[0]) {Optim();}
}


int Optim()
{
   ma_handle  = iMA(_Symbol,PERIOD_M15,20, 0,MODE_SMA, PRICE_CLOSE);
 ------------------

 ------------------
   IndicatorRelease(ma_handle);

   return (0);
}