Hatalar, hatalar, sorular - sayfa 1151

 

Bağlı kuruluş programında dönüşümleri izlemekle ilgili herhangi bir sorununuz veya sorunuz varsa - yazın, test edeceğim:

    1. Tablet (Windows 8.1)
    2. bilgisayar (Windows 8.1)
    3. Akıllı telefon ( Android )
 

MQL4'te StringConcatenate() işleviyle ilgili bir sorunum var. Satırda bir sıfır bloğu belirir. Bu, son satırı bir dosyaya çıkarırken görülebilir.

 void OnStart ()
  {
//---
   string sample = "0123456789ABCDEF" ;
   string s = "" ;
   for ( int i= 0 ;i< 260 ;i++)
  {
   s = StringConcatenate (s, sample);
   Print(StringBufferLen(s), " ", StringLen(s), " ", s);
  } 
   Print (s);
  }

İşte terminalin söylediği

2014.06.05 12:28:25.378 String_concat_test EURUSD,Günlük: 3872 3872 ???????????????

2014.06.05 12:28:25.378 String_concat_test EURUSD,Günlük: 3856 3856 ???????????????

2014.06.05 12:28:25.378 String_concat_test EURUSD,Günlük: 3840 3840 ???????????????

2014.06.05 12:28:25.378 String_concat_test EURUSD, Günlük: 3824 3824 0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123

2014.06.05 12:28:25.378 String_concat_test EURUSD, Günlük: 3808 3808 0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123

2014.06.05 12:28:25.378 String_concat_test EURUSD, Günlük: 3792 3792 0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123

 
Sıfırlar - bu, birkaç kilobaytta sıfır bayt anlamına gelir
 
Luckhuman :

MQL4'te StringConcatenate() işleviyle ilgili bir sorunum var. Satırda bir sıfır bloğu belirir. Bu, son satırı bir dosyaya çıkarırken görülebilir.

Gönderdiğiniz için teşekkürler, düzeltildi. Düzeltme sonraki yapıya dahil edilecektir.
 
Lütfen "Ticaret" sekmesinde piyasa pozisyonları ve bekleyen emirler için mevcut fiyatların (bu, SL/TP'nin sağındaki Fiyat sütunudur - SL/TP'nin solundaki açılış fiyatı ile karıştırılmamalıdır!) nedenini açıklayın. aynı enstrüman için farklı, aynı ve aynı tipte mi gösteriliyor (örneğin, satın al)? Teoride, bir sembolün mevcut fiyatı aynı olmalıdır, en azından birkaç açık emir için eşzamanlı olarak değişir (çakışır).
 
marketeer :
Lütfen "Ticaret" sekmesinde piyasa pozisyonları ve bekleyen emirler için mevcut fiyatların (bu, SL/TP'nin sağındaki Fiyat sütunudur - SL/TP'nin solundaki açılış fiyatı ile karıştırılmamalıdır!) nedenini açıklayın. aynı enstrüman için farklı, aynı ve aynı tipte mi gösteriliyor (örneğin, satın al)? Teoride, bir sembolün mevcut fiyatı aynı olmalıdır, en azından birkaç açık emir için eşzamanlı olarak değişir (çakışır).

Çünkü bir Alış fiyatı ve bir Satış fiyatı vardır:

teklif_ask

Şekilde bir açık pozisyon ( sat ) ve bekleyen iki emir ( satış limiti ve alış limiti ) bulunmaktadır. Açık bir pozisyon ( sat ) için mevcut Satış fiyatı belirtilir. Satış limiti için mevcut Teklif fiyatı belirtilir. Alış limiti için güncel Satış fiyatı belirtilir.

 
Takvim sekmem yok. terminal MetaTrader 5 x64 build 946 başladı (MetaQuotes Software Corp.). MetaQuotes-Demo sunucusundaki demo hesabı. Ek olarak, terminalde birkaç gerçek hesap daha var.

Ve sadece bir dizüstü bilgisayarda değil. Tablette ve PC'de bir "Takvim" sekmesi vardır.


 
MT4'ü başlatırken, init() göstergede geçmez, çünkü MarketInfo(xxx, MODE_TICKVALUE) sıfır (tüm semboller için) döndürür. Bir onayın maliyetinin hesabın para birimine bağlı olduğu açıktır, ancak terminal, oturum açmadan önce bile pencereleri görüntüler. O zaman, maliyete bağlı tek bir komut dosyasının normal şekilde çalışmadığı ortaya çıkıyor? Bu bir özellik mi yoksa bir hata mı?
 
Bir göstergenin grafiğe kendi başına yerleştirildiğini veya iCustom aracılığıyla başka bir göstergeden çağrıldığını nasıl anlarım?
 
marketeer :
MT4'ü başlatırken, init() göstergede geçmez, çünkü MarketInfo(xxx, MODE_TICKVALUE) sıfır (tüm semboller için) döndürür. Bir onayın maliyetinin hesabın para birimine bağlı olduğu açıktır, ancak terminal, oturum açmadan önce bile pencereleri görüntüler. O zaman, maliyete bağlı tek bir komut dosyasının normal şekilde çalışmadığı ortaya çıkıyor? Bu bir özellik mi yoksa bir hata mı?

MetaTrader 4. Sürüm: 4.00 Yapı 654.

Geçerli sembolü Symbol() 'u kullanmayı xxx yerine deneyin ve init() yerine OnInit()'i kullanın:

 //+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit ()
  {
//--- indicator buffers mapping
//--- превращение динамических массивов в индикаторные буферы
   SetIndexBuffer ( 0 ,ExtMapBufferEMA, INDICATOR_DATA );
//--- MarketInfo
   Print ( "Symbol=" , Symbol ());
   Print ( "Минимальная дневная цена=" ,MarketInfo( Symbol (),MODE_LOW));
   Print ( "Максимальная дневная цена=" ,MarketInfo( Symbol (),MODE_HIGH));
   Print ( "Время поступления последней котировки=" ,(MarketInfo( Symbol (),MODE_TIME)));
   Print ( "Последняя поступившая цена предложения=" ,MarketInfo( Symbol (),MODE_BID));
   Print ( "Последняя поступившая цена продажи=" ,MarketInfo( Symbol (),MODE_ASK));
   Print ( "Размер пункта в валюте котировки=" ,MarketInfo( Symbol (),MODE_POINT));
   Print ( "Количество цифр после запятой в цене инструмента=" ,MarketInfo( Symbol (),MODE_DIGITS));
   Print ( "Спрэд в пунктах=" ,MarketInfo( Symbol (),MODE_SPREAD));
   Print ( "Минимально допустимый уровень стоп-лосса/тейк-профита в пунктах=" ,MarketInfo( Symbol (),MODE_STOPLEVEL));
   Print ( "Размер контракта в базовой валюте инструмента=" ,MarketInfo( Symbol (),MODE_LOTSIZE));
   Print ( "Размер минимального изменения цены инструмента в валюте депозита=" ,MarketInfo( Symbol (),MODE_TICKVALUE));
   Print ( "Минимальный шаг изменения цены инструмента в пунктах=" ,MarketInfo( Symbol (),MODE_TICKSIZE));
   Print ( "Размер свопа для ордеров на покупку=" ,MarketInfo( Symbol (),MODE_SWAPLONG));
   Print ( "Размер свопа для ордеров на продажу=" ,MarketInfo( Symbol (),MODE_SWAPSHORT));
   Print ( "Календарная дата начала торгов (фьючерсы)=" ,MarketInfo( Symbol (),MODE_STARTING));
   Print ( "Календарная дата окончания торгов (фьючерсы)=" ,MarketInfo( Symbol (),MODE_EXPIRATION));
   Print ( "Разрешение торгов по указанному инструменту=" ,MarketInfo( Symbol (),MODE_TRADEALLOWED));
   Print ( "Минимальный размер лота=" ,MarketInfo( Symbol (),MODE_MINLOT));
   Print ( "Шаг изменения размера лота=" ,MarketInfo( Symbol (),MODE_LOTSTEP));
   Print ( "Максимальный размер лота=" ,MarketInfo( Symbol (),MODE_MAXLOT));
   Print ( "Метод вычисления свопов=" ,MarketInfo( Symbol (),MODE_SWAPTYPE));
   Print ( "Способ расчета прибыли=" ,MarketInfo( Symbol (),MODE_PROFITCALCMODE));
   Print ( "Способ расчета залоговых средств=" ,MarketInfo( Symbol (),MODE_MARGINCALCMODE));
   Print ( "Начальные залоговые требования для 1 лота=" ,MarketInfo( Symbol (),MODE_MARGININIT));
   Print ( "Размер залоговых средств для поддержки открытых ордеров в расчете на 1 лот=" ,MarketInfo( Symbol (),MODE_MARGINMAINTENANCE));
   Print ( "Маржа, взимаемая с перекрытых ордеров в расчете на 1 лот=" ,MarketInfo( Symbol (),MODE_MARGINHEDGED));
   Print ( "Размер свободных средств, необходимых для открытия 1 лота на покупку=" ,MarketInfo( Symbol (),MODE_MARGINREQUIRED));
   Print ( "Уровень заморозки ордеров в пунктах=" ,MarketInfo( Symbol (),MODE_FREEZELEVEL));
//---
   return ( INIT_SUCCEEDED );
  }