Grafik nesneleri oluşturmayı nasıl öğrenebilirim? MQL4.

 

Uzun zamandır grafik nesnelerin nasıl oluşturulacağını öğrenmek istiyordum, ancak birçok kod satırı kafa karıştırıcı.

1.Uzman Danışmandaki göstergeyi çağırmakla her şey açıksa: tanıtıcıyı çağırmak, değerleri ara belleğe kopyalamak, o zaman kısaca nesne oluşturma algoritması nedir?

Bir trend çizgisinin en basit yapısıyla başlayacağım. Burada bir örnek var https://www.mql5.com/ru/docs/constants/objectconstants/enum_object/obj_trend

Ama çizgi nasıl görünür ama kaybolmaz?

2. Expert Advisor'da bu satırın mevcut konumunun nasıl okunacağı net değil, nesnelerde tampon yok mu?

3.MQL4'te yaratacağım, MQL5'ten çok farklı mı?

Документация по MQL5: Стандартные константы, перечисления и структуры / Константы объектов / Типы объектов / OBJ_TREND
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы объектов / Типы объектов / OBJ_TREND
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы объектов / Типы объектов / OBJ_TREND - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
OBJ_TREND'i örnek alın ve ayrı işlevler olarak Expert Advisor'a kopyalayın. "Onu ortadan kaldırmak" ne anlama geliyor? Nesne zamanı ve fiyat değerlerini alın: ObjectGetTimeByValue ve ObjectGetValueByTime .
OBJ_TREND - Документация на MQL4
  • docs.mql4.com
OBJ_TREND - Документация на MQL4
 
barabashkakvn :
OBJ_TREND'i örnek alın ve ayrı işlevler olarak Expert Advisor'a kopyalayın. "Onu ortadan kaldırmak" ne anlama geliyor? Nesne zamanı ve fiyat değerlerini alın: ObjectGetTimeByValue ve ObjectGetValueByTime .
Scripti çağırdığımda çizgi görsel olarak geliyor (videodaki gibi işlem gerçekleşiyor) ve sonra kayboluyor.
 
forexman77 :
Scripti çağırdığımda çizgi görsel olarak geliyor (videodaki gibi işlem gerçekleşiyor) ve sonra kayboluyor.
Komut dosyası kodunu değiştirin. Nesne silmeyi kaldırın. Tüm yardım komut dosyasını mı kullanıyorsunuz?
 
barabashkakvn :
Komut dosyası kodunu değiştirin. Nesne silmeyi kaldırın. Tüm yardım komut dosyasını mı kullanıyorsunuz?
Evet. Şimdi deneyeceğim.
 
barabashkakvn :
Komut dosyası kodunu değiştirin. Nesne silmeyi kaldırın. Tüm yardım komut dosyasını mı kullanıyorsunuz?
Çizgi kalır. Herşey iyi. Şimdi anlayacağım.
 
Kodla ilgili sorularınız varsa, kodu yayınlayın ve sorun.
 
barabashkakvn :
Kodla ilgili sorularınız varsa, kodu yayınlayın ve sorun.

Bu sayıların ne anlama geldiği ve ne sorduğu belli değil mi? Zamanla bunun bir çubuk dizin olduğunu varsayabilirsem, o zaman InpPrice nasıl anlaşılır , int türü var mı?

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

Bu sayıların ne anlama geldiği ve ne sorduğu belli değil mi?

Kod Çözme Açıklaması biraz daha yüksek verilmiştir:

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

ve sonra bu veriler çizim noktalarını belirlemek için kullanılacaktır:

 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 :

Kod Çözme Açıklaması biraz daha yüksek verilmiştir:

ve sonra bu veriler çizim noktalarını belirlemek için kullanılacaktır:

" OBJ_TREND " örneğinde bence çok fazla gereksiz var. Bu bölgeyi iyi bilmediğim için korkarım uzun süre dolaşacağım.

Anladığım kadarıyla kod aranıyor ama zaten iki nokta, çubuk indeksler (kendi algoritmam) biliyorum.

Tek soru, bu iki noktayı bir doğru ile nasıl birleştirip, belirli bir olaya kadar sağa doğru nasıl devam ettirileceğidir.

 
forexman77 :

Bu örnekte, bence, çok fazla fazlalık var. Bu bölgeyi iyi bilmediğim için korkarım uzun süre dolaşacağım.

Anladığım kadarıyla kod aranıyor ama zaten iki nokta, çubuk indeksler (kendi algoritmam) biliyorum.

Tek soru, bu iki noktayı bir doğru ile nasıl birleştirip, belirli bir olaya kadar sağa doğru nasıl devam ettirileceğidir.

Puanlarınızın saatini ve tarihini biliyorsanız, yalnızca bool TrendCreate() öğesini çağırmanız gerekir.