Hatalar, hatalar, sorular - sayfa 2031

 
Andrey Barinov :

Tip dökümü ve kaybı hakkında bilgi edinin. https://www.mql5.com/ru/docs/basis/types/casting


Teşekkür ederim! Fikir şu: Birkaç doğru sinyal veren bir göstergemiz var.

Herhangi bir sayıda grafik açıyoruz ve buna göre MM ve gösterge sinyali pozisyonları açıyoruz. Grafik üzerinde sembolü ve açık pozisyonların mevcut karını gösteren metin etiketleri veya butonlar oluşturuyoruz. Butona bastığınızda istediğiniz grafiği ön plana çıkarıyoruz.

 
Metaquotes-Demo'da FOREX alıntılarının kaynağı değişti mi? Spreadler çok daha küçük hale geldi.
 
Slava :
Dört mü?

Evet

 
Derleme hatası yerine garip çalışma zamanı davranışı oluşuyor
 // Запускаем на MT5

#import "Temp.ex4" // EX4 - не ошибка
   void Func();
#import

void OnInit ()
{
  Func();
}

DLL yok, Temp.ex4 bile yok!

 
Vitaly Muzichenko :

Evet

Sorun, yeni MQL4'teki dizelerin unicode olmasıdır. Diğer tüm yerlerde: nesneler, göstergeler, çizelgeler, sembol adları, günlükler, ayarlar vb. - dizeler yanıtlanabilir kaldı. Bu nedenle, MQL4 programlarında "dış dünya" ile iletişim kurarken, WideCharToMultiByte dönüşümü her seferinde gerçekleştirilir. Olağan durumda, dizelerin karakterleri tek bayttır (ancak farklı kodlamalarda farklıdırlar), Güneydoğu Asya'da bir çok bayttır (Çince düzende 1 karakter 1 ila 4 bayt alır.

Yani sadece Çinliler değil, Avrupalılar da 1251 kod sayfasını öneren yazıtları anlamayacaklar.

 
Slava :

Sorun, yeni MQL4'teki dizelerin unicode olmasıdır. Diğer tüm yerlerde: nesneler, göstergeler, çizelgeler, sembol adları, günlükler, ayarlar vb. - dizeler yanıtlanabilir kaldı. Bu nedenle, MQL4 programlarında "dış dünya" ile iletişim kurarken, WideCharToMultiByte dönüşümü her seferinde gerçekleştirilir. Olağan durumda, dizelerin karakterleri tek bayttır (ancak farklı kodlamalarda farklıdırlar), Güneydoğu Asya'da bir çok bayttır (Çince düzende 1 karakter 1 ila 4 bayt alır.

Yani sadece Çinliler değil, Avrupalılar da 1251 kod sayfasını öneren yazıtları anlamayacaklar.

Amacı nedir: Kiril adında bir nesne yaratırız, sonra tıklatıldığında onu OnChartEvent içinde işler, ancak adı orada görünmez.

Bugün, bu yerin bir sorunu olup olmayacağını ilk beşte kontrol edeceğiz.

 
Vitaly Muzichenko :

Amacı nedir: Kiril adında bir nesne yaratırız, sonra tıklatıldığında onu OnChartEvent içinde işler, ancak adı orada görünmez.

Bugün, bu yerin bir sorunu olup olmayacağını ilk beşte kontrol edeceğiz.

beşte çalışacak

Ve sizin durumunuz için dördüncüde bir çözüm var.

OnInit'te MQLSetInteger (MQL_CODEPAGE,CP_ACP) çağrısı yapın;

Sonra "ileri geri" dize dönüşümleri yeterli olacaktır


MQLSetInteger - Проверка состояния - Справочник MQL4
MQLSetInteger - Проверка состояния - Справочник MQL4
  • docs.mql4.com
Функция MQLSetInteger() предназначена для изменения текущей кодовой страницы в запущенной mql4-программе. Это может понадобиться в тех случаях, когда для запускаемых mql4-программ терминал устанавливает по умолчанию кодовую страницу, отличающаяся от той, которая использовалась при её компиляции. Например, mql4-программа скомпилирована на...
 
Birisi lütfen bana neyi yanlış yaptığımı söyleyebilir mi:

bu kod EURUSD 30m üzerinde çalışır

 #property indicator_chart_window
#property indicator_buffers 0
#property indicator_plots    0
ENUM_MA_METHOD      MA_Type   = MODE_SMA ;
ENUM_APPLIED_PRICE MA_Price  = PRICE_CLOSE ;
int handle;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit ()
{
   handle = iMA ( "AAPL" , _Period , 10 , 0 ,MA_Type,MA_Price);

   return ( INIT_SUCCEEDED );
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate ( const int rates_total,
                 const int prev_calculated,
                 const datetime &time[],
                 const double &open[],
                 const double &high[],
                 const double &low[],
                 const double &close[],
                 const long &tick_volume[],
                 const long &volume[],
                 const int &spread[])
{

   return (rates_total);
}
//+------------------------------------------------------------------+


terminal bir hata veriyor:
2017.10.11 14:35:23.352 11111111111111111111111111111111 (EURUSD,M30) ' Hareketli Ortalama ' göstergesi yüklenemiyor [4302]

çıktıları tut -1;

 
Money_Man :
Birisi lütfen bana neyi yanlış yaptığımı söyleyebilir mi:

bu kod 30 milyon EURUSD üzerinde çalışır



terminal bir hata veriyor:
2017.10.11 14:35:23.352 11111111111111111111111111111111 (EURUSD,M30) 'Hareketli Ortalama' göstergesi yüklenemiyor [4302]



Ve bu yüzden:

   handle = iMA ( Symbol (), Period (), 10 , 0 ,MA_Type,MA_Price);

?

 
Money_Man :
Birisi lütfen bana neyi yanlış yaptığımı söyleyebilir mi:

bu kod EURUSD 30m üzerinde çalışır



terminal hata veriyor:
2017.10.11 14:35:23.352 11111111111111111111111111111111 (EURUSD,M30) 'Hareketli Ortalama' göstergesi yüklenemiyor [4302]


4302 hatası ne anlama geliyor?