Perguntas de Iniciantes MQL5 MT5 MetaTrader 5 - página 1175

 
Peter Vorobyev:

Alterar o código fonte do MQ e métodos de puxar para os públicos, é claro que este não é o nosso método :)

#define private public

se não o quiser assim, então todos os elementos doCAppDialog são formados por objectos gráficos, só precisa de saber o nome do objecto, e depois de criar uma instância da classe CAppDialog, escreva um método que irá repintar as bordas do CAppDialog na cor que quiser

 
Igor Makanu:

se não o quiser assim, todos os elementos do painel CAppDialog são formados como objectos gráficos, basta saber o nome do objecto e depois de criar uma instância da classe CAppDialog, escrever um método que pintará as bordas do CAppDialog na cor que desejar

através disto. pode transferir o código à procura do controlo correcto dentro da classe. Isto funciona.

Mas não sei como aceder a ele, sabendo o nome do objecto.

 
Peter Vorobyev:

Pode utilizar isto para mover o código para encontrar o controlo de que necessita dentro da classe. Isto funciona.

Mas não sei como aceder a ele sabendo o nome do objecto.

https://www.mql5.com/ru/docs/objects/objectsetinteger

mas penso que é mais fácil redefinir todos os métodos e campos privados para o público para as suas próprias necessidades

 
Igor Makanu:

https://www.mql5.com/ru/docs/objects/objectsetinteger

mas penso que é mais fácil redefinir todos os métodos e campos fechados ao público para as suas próprias necessidades

ObjectSetInteger - obras :), esqueci-me de tudo.
Pode dar um exemplo para#defineprivate public - Não compreendo como anular o método. É necessário fazer isto na sua turma?

 
Peter Vorobyev:

ObjectSetInteger - obras :), esqueci-me de tudo.
Pode dar um exemplo para#define private public - Não compreendo como anular o método. É necessário fazer isto na sua turma?

#define private public
#include <Controls\Dialog.mqh>
// тут весь Ваш класс который наследуете от CAppDialog
#undef private
Experimente o undef, após a substituição de macro pode cancelá-lo e fechar todos os métodos públicosde CAppDialog na sua aula para facilitar a escrita de código mais tarde
 
Igor Makanu:

Igor, sim, funciona. Obrigado.

 

Execução da optimização genética de uma EA no MT5 com agentes locais ligados à rede doméstica.

O Conselheiro Especialista retira alguns dados iniciais de um ficheiro de texto.

Abro o ficheiro com bandeiras: FILE_READ|FILE_SHARE_READ|FILE_ANSI|FILE_CSV|FILE_COMMON

Para que os agentes locais pudessem encontrar o ficheiro, tive de o copiar para a pasta comum do terminal informático local.

A única saída é duplicar manualmente os ficheiros necessários a todas as máquinas locais de cada vez?

O próprio terminal não pode enviar este ficheiro juntamente com os parâmetros de teste de entrada?

 
Como é que descubro o preço do nível programático do ventilador Fibonacci no bar actual?
 
Сергей Таболин:
Como é que descubro o preço do nível programático do ventilador Fibonacci no bar actual?
bool  ObjectGetDouble(
   long                            chart_id,          // идентификатор графика
   string                          name,              // имя объекта
   ENUM_OBJECT_PROPERTY_DOUBLE     OBJPROP_LEVELVALUE,           // идентификатор свойства
   int                             prop_modifier,     // модификатор свойства
   double&                         double_var         // сюда примем значение свойства
   );
Документация по MQL5: Графические объекты / ObjectGetDouble
Документация по MQL5: Графические объекты / ObjectGetDouble
  • www.mql5.com
2. Возвращает true или false в зависимости от успешности выполнения функции.  В случае успеха значение свойства помещается в приемную переменную, передаваемую по ссылке последним параметром. [in]  Модификатор указанного свойства. Для первого варианта по умолчанию значение модификатора равно 0. Большинство свойств не требуют модификатора...
 
Alexey Viktorov:
void OnTick()
{
//---
   Print(TimeToString(TimeLocal()));
   Print(ObjectGetDouble(0,"TrL",OBJPROP_PRICE));
}

Dá o preço do primeiro ponto da linha de tendência. (((

2020.01.18 11:46:37.233 2019.11.29 00:00:00   2019.11.29 00:00
2020.01.18 11:46:37.233 2019.11.29 00:00:00   1.00245
2020.01.18 11:46:39.533 2019.11.29 08:00:00   2019.11.29 08:00
2020.01.18 11:46:39.533 2019.11.29 08:00:00   1.00245
2020.01.18 11:46:41.834 2019.11.29 16:00:00   2019.11.29 16:00
2020.01.18 11:46:41.834 2019.11.29 16:00:00   1.00245
2020.01.18 11:46:44.135 2019.12.02 00:00:00   2019.12.02 00:00
2020.01.18 11:46:44.135 2019.12.02 00:00:00   1.00245
Razão: