Come posso imparare a creare oggetti grafici? MQL4.

 

Ho voluto impararea creare oggetti grafici per molto tempo, ma molte linee di codice sono confuse.

Se tutto è chiaro con la chiamata dell'indicatore nell'Expert Advisor: chiamare l'handle, copiare i valori nel buffer, allora qual è l'algoritmo di costruzione degli oggetti in breve?

Inizierò con il più semplice: disegnare la linea di tendenza. Ecco un esempiohttps://www.mql5.com/ru/docs/constants/objectconstants/enum_object/obj_trend

Solo, come far apparire la linea ma non farla sparire?

Mi chiedo come un EA dovrebbe leggere la posizione attuale di questa linea, non ci sono buffer negli oggetti?

Voglio crearlo in MQL4, è molto diverso da MQL5?

Документация по MQL5: Стандартные константы, перечисления и структуры / Константы объектов / Типы объектов / OBJ_TREND
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы объектов / Типы объектов / OBJ_TREND
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы объектов / Типы объектов / OBJ_TREND - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
PrendeteOBJ_TREND come esempio e copiatelo nel vostro EA come funzioni separate. Cosa intende per "non farlo sparire"? Ottenere i valori di tempo e prezzo degli oggetti:ObjectGetTimeByValue eObjectGetValueByTime.
OBJ_TREND - Документация на MQL4
  • docs.mql4.com
OBJ_TREND - Документация на MQL4
 
barabashkakvn:
PrendeteOBJ_TREND come esempio e copiatelo nel vostro EA come funzioni separate. Cosa intende per "non farlo sparire"? Ottenere i valori di tempo e prezzo degli oggetti:ObjectGetTimeByValue eObjectGetValueByTime.
Quando chiamo lo script, la linea appare visivamente (l'azione avviene come nel video) e poi scompare.
 
forexman77:
Quando chiamo lo script, la linea appare visivamente (come nel video) e poi scompare.
Cambia il codice dello script. Rimuovere la cancellazione dell'oggetto. Stai usando l'intero script della guida?
 
barabashkakvn:
Cambia il codice dello script. Rimuovere la cancellazione dell'oggetto. Stai usando l'intero script della guida?
Sì, lo proverò ora.
 
barabashkakvn:
Cambia il codice dello script. Rimuovere la cancellazione dell'oggetto. Stai usando l'intero script della guida?
La linea rimane. È tutto a posto. Ora ci darò un'occhiata.
 
Se avete domande sul codice, postate il codice e chiedete.
 
barabashkakvn:
Se avete domande sul codice, postate il codice e chiedete.

Non è chiaro cosa significano questi numeri e cosa stabiliscono? Se con il tempo posso supporre che è l'indice della barra, allora come capire InpPrice, ha il tipo int?

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

Non è chiaro cosa significhino questi numeri e cosa chiedano?

Decifrare La spiegazione è data poco sopra:

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

e da qui in poi questi dati saranno utilizzati per determinare i punti di disegno:

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:

Decifrare La spiegazione è data poco sopra:

e da qui in poi questi dati saranno utilizzati per definire i punti di disegno:

Nell'esempio"OBJ_TREND", penso che ci siano molti dati inutili. Dato che non conosco molto bene questa zona, ho paura di perdermi per molto tempo.

Per quanto ho capito il codice è cercato, ma conosco già i due punti, gli indici delle barre (il mio algoritmo).

L'unica questione è come collegare questi due punti con una linea e continuarla verso destra fino a un certo evento.

 
forexman77:

Sembra che ci sia molta ridondanza in questo esempio. Dato che non conosco molto bene questa zona, ho paura di vagare a lungo.

Per quanto ho capito il codice sta cercando, ma conosco già i due punti, le barre di indice (il mio algoritmo).

L'unica questione è come collegare questi due punti con una linea e continuarla verso destra fino a un certo evento.

Se conoscete l'ora e le date dei vostri punti, dovete solo chiamarebool TrendCreate()