Hatalar, hatalar, sorular - sayfa 385

 
stringo :
Göstergede mi arıyorsun?
Evet, göstergede.
 
Dima_S :
Evet, göstergede.

Göstergelerde, bilgi işlem kaynaklarını alan ve hesaplamayı yavaşlatan bazı işlevlerin çağrılması yasaktır - ticaret işlevleri , Uyku, MessageBox

Документация по MQL5: Торговые функции
Документация по MQL5: Торговые функции
  • www.mql5.com
Торговые функции - Документация по MQL5
 

Tünaydın!

Burada şu soru ortaya çıktı: hangi sunucuda farklı yürütme türlerini test edebilirsiniz?

SYMBOL_TRADE_EXECUTION_REQUEST

Talep üzerine ticaret

SYMBOL_TRADE_EXECUTION_INSTANT

Canlı fiyat ticareti

SYMBOL_TRADE_EXECUTION_MARKET

Piyasa yürütme

Her yerde yalnızca akış fiyatlarında yürütme. Piyasa da dahil olmak üzere ve talep üzerine kodda hata ayıklamak gerekir.

Evet, elbette kod MQL5'te.

Teşekkür ederim!

Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
  • www.mql5.com
Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров - Документация по MQL5
 
stringo :

Göstergelerde, bilgi işlem kaynaklarını alan ve hesaplamayı yavaşlatan bazı işlevlerin çağrılması yasaktır - ticaret işlevleri , Uyku, MessageBox

Açık. Bu nedenle, manuel olarak hesaplamanız gerekir. MT4'te olmasına rağmen bu fonksiyon
MarketInfo( "EURUSD" ,MODE_MARGINREQUIRED)

ve göstergede iyi çalışıyor.

 
Dima_S :
Açık. Bu nedenle, manuel olarak hesaplamanız gerekir. MT4'te olmasına rağmen bu fonksiyon

ve gösterge iyi çalışıyor.

SymbolInfoDouble (MarketInfo) , mevcut bilgiler için basit bir sorgudur. Ve OrderCalcMargin bir hesaplama işlevidir (haçlar üzerinde veya şu anda eksik olan bir sembol üzerinde hesaplama yaparken, tüm sonuçlarıyla birlikte sunucudan eksik bilgileri talep edebilir)

 

Tünaydın!

1. Grafik kaydırma olayı OnChartEvent() olayları listesine eklenecek mi?

2. Özel bir göstergeye yerleştirilen CopyBuffer işlevi neden 4806 hatası veriyor?

EA kodunda aynı parametrelerle aynı işlev iyi çalışıyorken?

Переход на новые рельсы: пользовательские индикаторы в MQL5
Переход на новые рельсы: пользовательские индикаторы в MQL5
  • 2009.11.23
  • Андрей
  • www.mql5.com
Я не буду перечислять все новые возможности и особенности нового терминала и языка. Их действительно много, и некоторые новинки вполне достойны освещения в отдельной статье. Вы не увидите здесь кода, написанного по принципам объектно-ориентированного программирования — это слишком серьезная тема для того, чтобы просто быть упомянутой в контексте как дополнительная вкусность для кодописателей. В этой статье остановимся подробней на индикаторах, их строении, отображении, видах, а также особенностях их написания по сравнению с MQL4.
 

Başka bir soru var. Enstrüman için Cuma günkü işlem seansının bitiş saatini bilmek istiyorum.

Bunun için şu işlevi kullanıyorum:

   datetime bt,et;
   SymbolInfoSessionTrade ( "EURUSD" , FRIDAY , 0 ,bt,et);

Ancak bazı nedenlerden dolayı işlev her zaman false döndürür. Seans numarasının ne olduğu ve nereden alınacağı henüz belli değil?

Документация по MQL5: Получение рыночной информации / SymbolInfoSessionQuote
Документация по MQL5: Получение рыночной информации / SymbolInfoSessionQuote
  • www.mql5.com
Получение рыночной информации / SymbolInfoSessionQuote - Документация по MQL5
 
bobsley :

Başka bir soru var. Enstrüman için Cuma günkü işlem seansının bitiş saatini bilmek istiyorum.

Bunun için şu işlevi kullanıyorum:

Ancak bazı nedenlerden dolayı işlev her zaman false döndürür. Seans numarasının ne olduğu ve nereden alınacağı henüz belli değil?

Anladığım kadarıyla seanslar gün içi alım satım ve kotasyon seansları olarak anlaşılıyor. Ancak sunucuda (yalnızca para birimleri için olabilir) yalnızca bir oturum yapılandırılır - 0.

Enstrüman özelliklerinde ticaretin başlangıç ve bitiş zamanını fiziksel olarak belirleyebilirsiniz (MQ sunucusunda 00:00 - 24:00).

SymbolInfoSessionTrade() kullanılarak programlı olarak elde edilebilir. Bir gerçek var, ancak - Oturumun başlama ve bitiş tarihini değil, günün başlangıcından oturumun başlangıcına ve bitişine kadar saniye cinsinden bağıl değeri (saniyeye dönüştürülürse, saniye cinsinden) döndürür. kurs).

 bool InfoSession;
datetime from = - 1 ,to = - 1 ;

InfoSession = SymbolInfoSessionTrade ( Symbol (), FRIDAY , 0 ,from,to);

   if (InfoSession)
  {
   Print ( "Session: from " ,from, " to " ,to);
   Print ( "Session: from " ,( int )from, " to " ,( int )to);
  }
İşte aşağıdaki sonucu üreten bir örnek -
 2011.05 . 14 19 : 51 : 02 ******* Session: from 1970.01 . 01 00 : 00 : 00 to 1970.01 . 02 00 : 00 : 00
2011.05 . 14 19 : 51 : 02 ******* Session: from 0 to 86400

Bu nedenle, Cuma günü işlem seansının sonunu belirlemek için, başlangıç tarihini (belirli bir Cuma günü 00:00) belirlemek ve bu süreye, işlevin seansın bitiş zamanı olarak döndürdüğü sonucu eklemek kalır.

not

Ayrıca, sunucunun oturumu genellikle 1 ila 2 saniye arasında +/- kayma ile kapattığını da dikkate almaya değer.

Yaz / kış saati bunu nasıl etkiler de bir soru ama hafta sonu için kapatırken gözlerim yalan söylemiyorsa, son alıntılar 23:00:00 ve 23:00:01 (sembolüne bağlı olarak) alındı.

 

Geliştiriciler!

Lütfen #105082 numaralı başvuruma dikkat edin.

Dışa aktarma değiştiricisini kullanarak kitaplıkları derlemeyle ilgili sorunlar belirlendi!

 

448 inşa
Pencere özelliklerini açmaya çalışırken
veya herhangi bir göstergenin özellikleri,
veya grafiğe herhangi bir gösterge yükleme girişimi,
istemci terminali kapalı.
W XP3 32

Bence, bu, hepsinin "en iyi" güncellemesidir.