MQL4 ve MQL5 ile ilgili herhangi bir acemi sorusu, algoritmalar ve kodlar hakkında yardım ve tartışma - sayfa 882

 
Artyom Trishkin:
Kodu Keşfedin

Hızlı cevabınız için teşekkür ederim. Kaba görünmek istemem ama yakın ama tam olarak doğru değil. Benim durumumda DRAW_COLOR_HISTOGRAM2 kullanılıyor

üç tampona sahiptir, ikisi mumun başlangıç ve bitiş değerleri için ve üçüncüsü bu mumun rengini depolamak için.

Bahsettiğiniz örnek DRAW_COLOR_HISTOGRAM kullanıyor, iki arabellek var (mum boyutu ve rengi) ve sütunlar yalnızca "0" dan oluşturuldu. Bir seviyeden (örneğin, 50), böyle bir histogram ertelenemez.

Değerin orijinal kaynakta olduğu gibi 0'dan 100'e değil, -50'den 50'ye değişmesi için gösterge dizisinin değer aralığından 50'yi çıkarmak gerekli olacaktır. Seviye 50 yerine, seviye 0 olun. Ve

0'ın üstünde ve altında histogramları düzenlemek için, biri "negatif", 0'ın altında, ikincisi "pozitif" 0'ın üzerinde olmak üzere iki tane kullanmanız gerekecek. Muhtemelen :-))

Bu da tabii ki bir seçenek ve şimdi muhtemelen uygulamak benim için daha kolay ama ben bunu çözmek ve bir HATA bulmak istiyorum.


Neyi yanlış yapıyorum? Değerler doğru hesaplanmış (adım adım test cihazında kontrol ettim), renk indeksi doğru değişiyor fakat bu nedense göstergenin kendisini etkilemiyor, renk değişmiyor, renk arasında bağlantı yok dizin

 SetIndexBuffer ( 6 ,ColorHistogram_2Colors, INDICATOR_COLOR_INDEX ); 

ve göster. Yine de teşekkür ederim.

 

Değişiklikler yapıldı, her tikte değişiklikleri görmek için Baskılar eklendi

indeksin yeşil rengin "32768" sayısal değerine eşit olduğu görülebilir ve görünüşe göre öyle olmalıdır, çünkü

ExtMainBuffer[i]> 50

yani stokastik 50'nin üzerindedir. Ve histogram çubukları hala kırmızıdır.

Basılı dosya eklendi.

Dosyalar:
 

Yazarken kendime örnek olarak MQL5 referansından bir örnek kullandım.

MQL5 Referansı / Özel Göstergeler / Örneklerdeki Gösterge Stilleri / DRAW_COLOR_HISTOGRAM2

Her şeyi yirmi kez iki kez kontrol ettim, her şey onlarınki gibi ve çalışmıyor !!!!
Kim bilir, söyle bana pliz, hata nerede, yanlış ne ???

 
Seric29 :

Bu anlaşılabilir bir durum, programı mecazi olarak derleyici olarak adlandırdım, ancak genel olarak, hangi durumda daha iyi olurdu?

@Ilyas tarafından önerildiği gibi, bir "büyük ayak örtüsü" kodu değil, birçok küçük işlev kullanın

 
Sergey Voytsekhovsky :

Yazarken kendime örnek olarak MQL5 referansından bir örnek kullandım.

MQL5 Referansı / Özel Göstergeler / Örneklerdeki Gösterge Stilleri / DRAW_COLOR_HISTOGRAM2

Her şeyi yirmi kez iki kez kontrol ettim, her şey onlarınki gibi ve çalışmıyor !!!!
Kim bilir, söyle bana pliz, hata nerede, yanlış ne ???

Size bir histogramı değil, bir renk arabelleği ile çalışmanız için bir bağlantı verdim. Histogramı soyutlayın ve renkle nasıl çalışılacağına odaklanın.

 
Sergey Voytsekhovsky :

İyi akşamlar. Uzun ve zor denedi. Histogramlar doğru çizilir, ancak farklı renklerde boyama (seviye 50'nin üstünde ve altında) kazanmadı. Lütfen bana nerede hata yaptığımı söyle. Aşağıdaki metin, dosya bağlı


Gözüme ilk çarpan şey tamponların sırasıydı.

 //--- indicator buffers mapping
   SetIndexBuffer ( 0 ,ExtMainBuffer, INDICATOR_DATA );
   SetIndexBuffer ( 1 ,ExtSignalBuffer, INDICATOR_DATA );
   SetIndexBuffer ( 2 ,ColorHistogram_2Buffer1, INDICATOR_DATA );
   SetIndexBuffer ( 3 ,ColorHistogram_2Buffer2, INDICATOR_DATA );
   SetIndexBuffer ( 4 ,ExtHighesBuffer, INDICATOR_CALCULATIONS );
   SetIndexBuffer ( 5 ,ExtLowesBuffer, INDICATOR_CALCULATIONS );
   SetIn dexBuffer ( 6 ,ColorHistogram_2Colors, INDICATOR_COLOR_INDEX );

Derleme arabellekleri DAİMA ardışık olmalıdır. Yani, veri arabellekleri 2 ve 3 olarak numaralandırılmışsa, renk arabelleği 4 olarak numaralandırılmalıdır ZORUNLU.

Tek hata bu değilse, daha fazla bakacağız.

 

Bir şey hiç pişirmiyor

Yarım saat oturuyorum kurcalıyorum çözemiyorum

Alet özelliklerinde kene boyutu ve fiyatı farklıysa, maliyeti 1 fiyat noktasının ruble cinsinden nasıl öğreneceğimi söyleyin.

Örneğin, 10 değerinde bir değişkenim varsa

tasarruf için 10 ruble olduğu açıktır

rts 130 ovmak

yağ 60 ruble

Kodda nasıl göründüğü, bir şey karıştı, normların basit noktaları ile her şey, ancak RTS yağı, özellikler farklı

 
Konstantin Seredkin :

Bir şey hiç pişirmiyor

Yarım saat oturuyorum kurcalıyorum çözemiyorum

Alet özelliklerinde kene boyutu ve fiyatı farklıysa, maliyeti 1 fiyat noktasının ruble cinsinden nasıl öğreneceğimi söyleyin.

Örneğin, 10 değerinde bir değişkenim varsa

tasarruf için 10 ruble olduğu açıktır

rts 130 ovmak

yağ 60 ruble

Kodda nasıl göründüğü, bir şey karıştı, normların basit noktaları ile her şey, ancak RTS yağı, özellikler farklı

SymbolInfoDouble(_Symbol, SYMBOL_TRADE_TICK_VALUE ) * hacim

MQL4

 
Alexandr Sokolov :

SymbolInfoDouble(_Symbol, SYMBOL_TRADE_TICK_VALUE ) * hacim

MQL4

MQL5 ihtiyacı

vadeli işlemler MT4'te işlem görmez


burada gerekli


 
Konstantin Seredkin :

MQL5 ihtiyacı

vadeli işlemler MT4'te işlem görmez


burada gerekli


Yani mql5'te aynı. Hatta biraz genişledi. İhtiyacınız olan bu değil mi?

SYMBOL_TRADE_TICK_VALUE

SYMBOL_TRADE_TICK_VALUE_PROFIT değeri

çift

SYMBOL_TRADE_TICK_VALUE_PROFIT

Karlı bir pozisyon için hesaplanan onay değeri

çift

SYMBOL_TRADE_TICK_VALUE_LOSS

Kaybeden bir pozisyon için hesaplanan onay değeri

çift

SYMBOL_TRADE_TICK_SIZE

Asgari fiyat değişikliği

çift

Документация по MQL5: Константы, перечисления и структуры / Состояние окружения / Информация об инструменте
Документация по MQL5: Константы, перечисления и структуры / Состояние окружения / Информация об инструменте
  • www.mql5.com
Для получения текущей рыночной информации служат функции SymbolInfoInteger(), SymbolInfoDouble() и SymbolInfoString(). В качестве второго параметра этих функций допустимо передавать один из идентификаторов из перечислений ENUM_SYMBOL_INFO_INTEGER, ENUM_SYMBOL_INFO_DOUBLE и ENUM_SYMBOL_INFO_STRING соответственно. Некоторые символы (как...