Como posso aprender a criar objetos gráficos? MQL4.

 

Há muito tempo eu queria aprender comocriar objetos gráficos, mas muitas linhas de código são confusas.

Se tudo estiver claro com a chamada do indicador no Expert Advisor: chamar a alavanca, copiar valores para o buffer, então qual é o algoritmo para a construção de objetos em resumo?

Vou começar com a mais simples - traçar a linha de tendência. Aqui está um exemplohttps://www.mql5.com/ru/docs/constants/objectconstants/enum_object/obj_trend

Somente, como fazer a linha aparecer mas não desaparecer?

Como ler a posição atual desta linha na EA, não há amortecedores nos objetos?

Quero criá-lo na MQL4, ele é muito diferente da MQL5?

Документация по MQL5: Стандартные константы, перечисления и структуры / Константы объектов / Типы объектов / OBJ_TREND
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы объектов / Типы объектов / OBJ_TREND
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы объектов / Типы объектов / OBJ_TREND - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
TomeOBJ_TREND como exemplo e copie-o em sua EA como funções separadas. O que você quer dizer com "fazer com que ela não desapareça"? Obtenção de valores de tempo e preço do objeto:ObjectGetTimeByValue eObjectGetValueByTime.
OBJ_TREND - Документация на MQL4
  • docs.mql4.com
OBJ_TREND - Документация на MQL4
 
barabashkakvn:
TomeOBJ_TREND como exemplo e copie-o em sua EA como funções separadas. O que você quer dizer com "fazer com que ela não desapareça"? Obtenção de valores de tempo e preço do objeto:ObjectGetTimeByValue eObjectGetValueByTime.
Quando eu chamo o roteiro, a linha aparece visualmente (a ação acontece como no vídeo) e depois desaparece.
 
forexman77:
Quando eu chamo o roteiro, a linha aparece visualmente (como no vídeo) e depois desaparece.
Alterar o código do roteiro. Remover a eliminação do objeto. Você está usando o roteiro completo da ajuda?
 
barabashkakvn:
Alterar o código do roteiro. Remover a eliminação do objeto. Você está usando o roteiro completo da ajuda?
Sim. Vou tentar agora.
 
barabashkakvn:
Alterar o código do roteiro. Remover a eliminação do objeto. Você está usando o roteiro completo da ajuda?
A linha permanece. Está tudo bem. Vou dar uma olhada agora.
 
Se você tiver alguma dúvida sobre o código, afixe o código e pergunte.
 
barabashkakvn:
Se você tiver alguma dúvida sobre o código, afixe o código e pergunte.

Não está claro o que esses números significam e o que eles estabelecem? Se com o tempo eu posso assumir que é índice de barras, então como entender o InpPrice, tem int tipo?

input int             InpDate1=35;         // Дата 1-ой точки в %
input int             InpPrice1=60;        // Цена 1-ой точки в %
input int             InpDate2=65;         // Дата 2-ой точки в %
input int             InpPrice2=40;        // Цена 2-ой точки в %
 
forexman77:

Não está claro o que estes números significam e o que eles perguntam?

Decifrando A explicação é dada um pouco acima:

#property description "Скрипт строит графический объект \"Трендовая линия\"."
#property description "Координаты точек привязки задаются в процентах от"
#property description "размеров окна графика."

e a partir daqui estes dados serão utilizados para determinar os pontos de desenho:

void OnStart()
  {
.
.
.
//--- определим точки для рисования линии
   int d1=InpDate1*(bars-1)/100;
   int d2=InpDate2*(bars-1)/100;
   int p1=InpPrice1*(accuracy-1)/100;
   int p2=InpPrice2*(accuracy-1)/100;
//--- создадим линию тренда
.
.
.
 
barabashkakvn:

Decifrando A explicação é dada um pouco acima:

e a partir daqui estes dados serão utilizados para definir os pontos de desenho:

No exemplo"OBJ_TREND", eu acho que há muitos dados desnecessários. Como eu não conheço muito bem esta área, temo que ficarei perdido por muito tempo.

Tanto quanto sei o código é pesquisado, mas já conheço os dois pontos, índices de barras (meu algoritmo).

A única questão é como conectar esses dois pontos com uma linha e continuá-la até um determinado evento.

 
forexman77:

Parece haver uma grande redundância neste exemplo. Como não conheço esta área muito bem, temo que ficarei vagando por muito tempo.

Até onde entendo o código está pesquisando, mas já conheço os dois pontos, barras de índice (meu algoritmo).

A única questão é como conectar esses dois pontos com uma linha e continuá-la à direita até um determinado evento.

Se você sabe a hora e as datas de seus pontos, você só precisa ligar parabool TrendCreate()
Razão: