Teoria da aceleração da EA ao usar um indicador personalizado (função - iCustom) - página 7

 
Dennis Kirichenko:

Não. Há uma função mágica que baralhará todas as tentativas:

Este mecanismo está embutido no próprio termo. Embora a idéia seja interessante...

Infelizmente... Vamos continuar pensando.

Dennis Kirichenko:

O que você quer dizer com "acabou"? :-)

Isso significa que o indicador começou a retornar zeros em vez de dígitos.

Dennis Kirichenko, Karputov Vladimir - obrigado pelas informações sobre as funções!

Só não entendo, qual é a diferença entre TERMINAL_MEMORY_TOTAL e TERMINAL_MEMORY_AVAILABLE?

TERMINAL_MEMORY_TOTAL é a memória máxima disponível, e TERMINAL_MEMORY_AVAILABLE é a memória restante, certo?

 
-Aleks-:

Só não entende a diferença entre TERMINAL_MEMORY_TOTAL e TERMINAL_MEMORY_AVAILABLE?

TERMINAL_MEMORY_TOTAL é a memória máxima disponível, e TERMINAL_MEMORY_AVAILABLE é a memória restante, certo?

Aqui está a melhor maneira de verificar você mesmo: abra o terminal; abra o Task Manager; execute um roteiro que imprima os valores de TERMINAL_MEMORY_TOTAL, TERMINAL_MEMORY_AVAILABLE e compare com as leituras do Task Manager.
 
Em quatro, acrescentaremos uma eliminação automática mais agressiva de tais cópias indicadoras.
 
-Aleks-:
Eu tentei manualmente, mudando o modelo com muitos indicadores para quase vazio - o efeito está lá (mas o cache permanece - eu acho que não é crítico). Mas como fazer abertura e fechamento através de um roteiro modelo - não sei. Entendi que a dúvida é que, enquanto o roteiro estiver em execução, a memória não será apagada. Andrei, por favor, ajude com a experiência.

O que não está dando certo? O que deve ajudar? Onde está a tentativa? Onde está o código?

ChartOpen to open chart. Em seguida, nele GráficoAplicarTemplate com o nome de um modelo pré-desenhado (será o mesmo o tempo todo, não há necessidade de anotá-lo). Em seguida, ChartClose.

Medir a memória através da função proposta. Ou você pode baixar meu indicador gratuito iMemory, ele foi criado especialmente para este fim.

 
Renat Fatkhullin:
Em quatro acrescentaremos uma eliminação automática mais agressiva de tais cópias indicadoras.

Viva! Que bom quando quem está no poder ouve você!

E "tais cópias indicadoras" são aquelas causadas pela primeira quando há falta de memória para a segunda, ou algo mais?

 
Andrey Khatimlianskii:

O que não está dando certo? O que deve ajudar? Onde está a tentativa? Onde está o código?

ChartOpen to open chart. Em seguida, nele GráficoAplicarTemplate com o nome de um modelo pré-desenhado (será o mesmo o tempo todo, não há necessidade de anotá-lo). Em seguida, ChartClose.

Medir a memória através da função proposta. Ou você pode baixar meu indicador gratuito iMemory, ele foi criado especialmente para este fim.

Que tipo de programador eu sou? Aqui eu comecei a escrever o roteiro - o primeiro comando para abrir o gráfico não dá nenhum resultado. O que está errado?

//+------------------------------------------------------------------+

//|                                                      Scripts.mq4 |

//|                      Copyright © 2008, MetaQuotes Software Corp. |

//|                                             https://www.mql5.com |

//+------------------------------------------------------------------+

#property copyright "Copyright © 2008, MetaQuotes Software Corp."

#property link      "https://www.mql5.com"

#property version   "1.00"

#property strict

#property script_show_inputs

//--- input parameters

input int      Input1=0;

//+------------------------------------------------------------------+

//| Script program start function                                    |

//+------------------------------------------------------------------+



long  ChartOpen(string GBPUSD, ENUM_TIMEFRAMES  PERIOD_H1);

   

void OnStart()

  {

  }

//+------------------------------------------------------------------+

Автоматический трейдинг и тестирование торговых стратегий
Автоматический трейдинг и тестирование торговых стратегий
  • www.mql5.com
MQL5: язык торговых стратегий для MetaTrader 5, позволяет писать собственные торговые роботы, технические индикаторы, скрипты и библиотеки функций
 
-Aleks-:

Que tipo de programador sou I.... começou a escrever o roteiro - o primeiro comando para abrir o gráfico não dá resultados. O que está errado?

Então você quis dizer "faça isso por mim", não "me ajude"? Isso é o que você diz.

Não é assim - quase tudo: a função ChartOpen deve ser chamada a partir do corpo da função OnStart. O primeiro parâmetro - string, deve estar entre aspas. Você não precisa especificar o tipo de dados (string e ENUM_TIMEFRAMES) ao ligar).

Comece procurando exemplos de uso da função ou documentação (também há exemplos lá).

 
Andrey Khatimlianskii:

Então você quis dizer "faça isso por mim", não "me ajude"? Isso é o que você diz.

Não é assim - praticamente tudo: a função ChartOpen deve ser chamada a partir do corpo da função OnStart. O primeiro parâmetro - string, deve estar entre aspas. Você não precisa especificar o tipo de dados (string e ENUM_TIMEFRAMES) ao ligar).

Comece procurando por exemplos de utilização da função ou documentação (também existem exemplos).

O problema é esse, não há um exemplo adequado na ajuda.

De acordo com seus comentários, eu o redizi:

 //+------------------------------------------------------------------+

//|                                                      Scripts.mq4 |

//|                      Copyright © 2008, MetaQuotes Software Corp. |

//|                                             https://www.mql5.com |

//+------------------------------------------------------------------+

#property copyright "Copyright © 2008, MetaQuotes Software Corp."

#property link      "https://www.mql5.com"

#property version   "1.00"

#property strict

#property script_show_inputs

//--- input parameters

input int      Input1=0;

//+------------------------------------------------------------------+

//| Script program start function                                    |

//+------------------------------------------------------------------+



   

void OnStart()

  {

   long  ChartOpen("GBPUSD",   PERIOD_H1);

  }

//+------------------------------------------------------------------+


Eu me engano quando me agarro, o que há de errado?

'Scripts.mq4' Scripts.mq4 1 1

ChartOpen' - função só pode ser declarada no âmbito global Scripts.mq4 21 10

GBPUSD' - declaração sem tipo Scripts.mq4 21 20

GBPUSD - vírgula esperada Scripts.mq4 21 20

'PERIOD_H1' - declaração sem tipo Scripts.mq4 21 32

4 erro(s), 0 advertência(ões) 5 1

Автоматический трейдинг и тестирование торговых стратегий
Автоматический трейдинг и тестирование торговых стратегий
  • www.mql5.com
MQL5: язык торговых стратегий для MetaTrader 5, позволяет писать собственные торговые роботы, технические индикаторы, скрипты и библиотеки функций
 
-Aleks-:

O problema é esse, não há um exemplo adequado na ajuda.

Redigi-o de acordo com seus comentários:

 //+------------------------------------------------------------------+

//|                                                      Scripts.mq4 |

//|                      Copyright © 2008, MetaQuotes Software Corp. |

//|                                             https://www.mql5.com |

//+------------------------------------------------------------------+

#property copyright "Copyright © 2008, MetaQuotes Software Corp."

#property link      "https://www.mql5.com"

#property version   "1.00"

#property strict

#property script_show_inputs

//--- input parameters

input int      Input1=0;

//+------------------------------------------------------------------+

//| Script program start function                                    |

//+------------------------------------------------------------------+



   

void OnStart()

  {

   long  ChartOpen("GBPUSD",   PERIOD_H1);

  }

//+------------------------------------------------------------------+


Eu me engano quando me agarro, o que há de errado?

'Scripts.mq4' Scripts.mq4 1 1

ChartOpen' - função só pode ser declarada no âmbito global Scripts.mq4 21 10

GBPUSD' - declaração sem tipo Scripts.mq4 21 20

GBPUSD - vírgula esperada Scripts.mq4 21 20

'PERIOD_H1' - declaração sem tipo Scripts.mq4 21 32

4 erro(s), 0 advertência(ões) 5 1

Demora muito tempo para explicar o que está errado :)

void OnStart()

  {

   ChartOpen("GBPUSD",   PERIOD_H1);

  }
 
-Aleks-:

O problema é esse: não há um exemplo adequado no helpdesk.

Além da linha de ajuda, há um codobase e um fórum. Trabalhos de busca.

ps: ugh, a inserção do link no poste está quebrada =(

https://www.mql5.com/ru/search#!keyword=ChartOpen&page=2