"MetaTrader 5'te Çoklu Para Birimi Modunun Uygulanması" makalesi için tartışma - sayfa 2

 
Lizar:

Ancak test cihazındaki uzmanın casusu yükleyememesi garip. Demoda çalışıyor mu?

Bir hata alıyor

ERR_INDICATOR_CANNOT_CREATE

4802

Gösterge oluşturulamıyor

Göstergenin neden oluşturulamayabileceğini görün.
 
Yedelkin:
Bir hata alıyor

ERR_INDICATOR_CANNOT_CREATE

4802

Gösterge oluşturulamıyor

Göstergenin neden oluşturulamayabileceğini görün.

Henüz çözemedim. Demoda çalışıyor, ancak test cihazında yüklenmiyor (oluşturulmuyor) . Bunu bile denedim:

#property tester_indicator "iSpy.ex5"
Yardımcı olmuyor.
 
Lizar:

Henüz bir ipucu bulamadım. Demoda çalışıyor, ancak test cihazında yüklenmiyor (oluşturulmuyor) . Bunu bile denedim:

Yardımcı olmuyor.

Bilimsel dürtme yöntemiyle, test cihazında çalıştı:

   if(iCustom("GBPUSD",PERIOD_M1,"iSpy.ex5",ChartID(),0)==INVALID_HANDLE) 

Ve "GBPUSD" için yalnızca ilk koşula eklemek yeterliydi . Şimdi soru - neden tam olarak böyle?

 
Yedelkin:

Bilimsel yöntemle - test cihazında bu şekilde çalıştı:

Ve bunu yalnızca "GBPUSD" için ilk koşula eklemek yeterliydi . Şimdi soru şu - neden tam olarak böyle?

Vay canına, "bilimsel dürtme" bizim işimizde harika bir şey. Peki, neden böyle olduğu bence geliştiriciler için bir soru.

Bunu anlamama yardımcı olduğunuz için teşekkür ederim.

 
Lizar:

Spy Kontrol paneli MCM'deki OnCalculate() işlevinde bir satır vardır:

Varsayılan olarak price[rates_total-1] son bitmemiş çubuğun kapanış fiyatına eşittir ve bu da son teklif fiyatına eşittir. yani, varsayılan olarak casustan her zaman teklif fiyatını alırız.

Zorla satış fiyatını almak istiyorsanız, bu satırı örneğin.... ile değiştirin.

Teşekkürler, ama biraz yanlış, yani hem alış hem de satış fiyatını alabilirsiniz. Ancak bu gibi durumları analiz etmek için hem alış hem de satış fiyatlarını aynı anda almam gerekiyor.

2011.01.24 10:59:28 exSpy (GBPUSD,M5) 08:59:24 -> id=2: EURUSD PERIOD_M1 price=1.35778
2011.01.24 10:59:28 exSpy (GBPUSD,M5) 08:59:24 -> id=2: EURUSD PERIOD_M1 price=1.35778
2011.01.24 10:59:28 exSpy (GBPUSD,M5) 08:59:24 -> id=2: EURUSD PERIOD_M1 price=1.35778
üç tik ve teklif değişmiyor, bu nedenle (muhtemelen) talep değişti. daha eksiksiz bilgi almak istiyorum.

Bu mümkün mü?

 
Trolls:

Teşekkürler, ama biraz yanlış, yani alış veya satış fiyatlarından birini alabilirsiniz. Ancak hem alış hem de satış fiyatlarını aynı anda almak için bu gibi durumları analiz etmeniz gerekir.

2011.01.24 10:59:28 exSpy (GBPUSD,M5) 08:59:24 -> id=2: EURUSD PERIOD_M1 price=1.35778
2011.01.24 10:59:28 exSpy (GBPUSD,M5) 08:59:24 -> id=2: EURUSD PERIOD_M1 price=1.35778
2011.01.24 10:59:28 exSpy (GBPUSD,M5) 08:59:24 -> id=2: EURUSD PERIOD_M1 price=1.35778
üç tik ve teklif değişmiyor, bu nedenle (muhtemelen) talep değişti. daha eksiksiz bilgi almak istiyorum.

Bu mümkün mü?

Bu mümkün, bunun birkaç yolu var:

1. Aynı sembol üzerinde farklı kimlikler altında iki casus bulundurun. Biri teklif gönderecek ve diğeri soracaktır.

2. Aynı sembol üzerinde bir casus bulundurun, ancak farklı kimlik altında sırayla iki olay teklif ve satış göndermesini sağlayın.

3. Daha fazla seçenek var, ancak bunlar zaten OnChartEvent' e parametre geçirme şemasında önemli değişikliklerle ilişkilidir - tavsiye etmiyorum.

Документация по MQL5: Основы языка / Функции / Передача параметров
Документация по MQL5: Основы языка / Функции / Передача параметров
  • www.mql5.com
Основы языка / Функции / Передача параметров - Документация по MQL5
 
Casusu "yeni tik gelişinin semaforu" olarak kullanın ve Uzman Danışman'da SymbolInfoTick'i kullanarak tik hakkında tam bilgi alın.
 
Kos:
Casusu "yeni tik gelişinin semaforu" olarak kullanın ve Uzman Danışman'da SymbolInfoTick'i kullanarak tik hakkında tam bilgi alın.

Harika bir çözüm.
 

Sakıncası yoksa bana bir ipucu verin. Makale bir numaralandırma örneği içeriyor

enum ENUM_CHART_EVENT_SYMBOL
  {
   CHARTEVENT_INIT      =0,          // Olay "Başlatma"
   CHARTEVENT_NO        =0,          // Olayların Bağlantısı Kesildi

   CHARTEVENT_NEWBAR_M1 =0x00000001, // 1 dakikalık grafikte "yeni çubuk" olayı
   CHARTEVENT_NEWBAR_M2 =0x00000002, // 2 dakikalık grafikte "yeni çubuk" olayı
   CHARTEVENT_NEWBAR_M3 =0x00000004, // 3 dakikalık grafikte "yeni çubuk" olayı
   CHARTEVENT_NEWBAR_M4 =0x00000008, // 4 dakikalık grafikte "yeni çubuk" olayı
   
   ...
   
   CHARTEVENT_ALL       =0xFFFFFFFF, // Tüm etkinlikler etkinleştirildi
  };

ve bu numaralandırmanın değerleriyle çalışmanın bir örneği:

if((flag_event & CHARTEVENT_NEWBAR_M1)!=0) EventCustom(CHARTEVENT_NEWBAR_M1,price_current

Benzer yapılar standart kütüphanede de görülmektedir. Anladığım kadarıyla, onaltılık sayılardan ve bitsel işlemlerden bahsediyoruz, ancak internette bulunan birkaç genel makale, MQL5'teki kullanımlarının anlamını ve amacını açıklığa kavuşturmaya yardımcı olmadı. MQL5'te kullanılan hexadecimal mantığın özelliklerini açık ve net bir şekilde nerede öğrenebileceğimi söyleyebilir misiniz?

Документация по MQL5: Стандартная библиотека
Документация по MQL5: Стандартная библиотека
  • www.mql5.com
Стандартная библиотека - Документация по MQL5
 
Yedelkin:

Sakıncası yoksa bana bir ipucu verin. Makale bir numaralandırma örneği içeriyor

ve bu numaralandırmanın değerleriyle çalışmanın bir örneği:

Benzer yapılar standart kütüphanede de görülmektedir. Anladığım kadarıyla, onaltılık sayılardan ve bitsel işlemlerden bahsediyoruz, ancak internette bulunan birkaç genel makale, MQL5'teki kullanımlarının anlamını ve amacını açıklığa kavuşturmaya yardımcı olmadı. MQL5'te kullanılan onaltılık mantığın özelliklerini açık ve net bir şekilde nerede öğrenebileceğimi söyleyebilir misiniz?

Hexadecimal mantık her yerde aynıdır. Sayı sistemleri hakkında buradan bilgi edinebilirsiniz. Burada konumsal sayı sistemleri hakkında bilgi edinebilir ve 16 ve ikili sayı sistemlerine referansları görebilirsiniz. Orada sistemden sisteme dönüşüm örnekleri de var.

Tüm bitsel işlemler ikili sistem için tasarlanmıştır. MQL5'teki bitsel işlemler hakkında burada.