Bu standart davranıştır. Geri sayım, yapım aşamasındaki mevcut çubuktan başlar. Buna göre, otomatik kaydırma olmadığında yeni bir çubuğun ortaya çıkmasıyla sayısı bir artar.
Tamam, o zaman lütfen belgelerin bir yerine bunun "ilk görünür çubuk " değil, mevcuttan (tamamlanmamış) başlayarak ilk çubuk olduğunu ekleyin.
Bir düşünün, bir uzman çalışır, çalışır çalışır, siz uyursunuz, uyursunuz, uyanırsınız ve uzman çalışmaz, neden? çünkü zamanlayıcı kendini astı ve ne yapmalı, kim suçlu?
Hafif bir gecikmeyle yeniden başlatmaya yardımcı olur, örneğin:
Ampirik olarak, İnternet buggy olduğunda zamanlayıcının kapatıldığını bulmayı başardık. Terminal donuyor ve zamanlayıcı uçuyor. Onlar. Sadece uçabilir. İnternet yavaşladığında.
Bu yüzden farklı yaptım, yani. Zamanlayıcıyı kene ile başlatın.
typedefvoid (*fn)( int ); class A { public : fn a; }; class B : public A { public : void a() { Print( __FUNCSIG__ ); } }; voidOnStart () { B b; b.a(); //Error: 'a' - wrong parameters count }
sadece panelde kontrol edildi - her şey yolunda, tüm olaylar normal şekilde işleniyor
Birkaç sembol için casuslar koştum ve EA, keneler geldiğinde bu casuslardan olayları alır. MT5'te, tüm olayların varmak için zamanı vardır ve MT4'te solma bazen bir saniye veya daha uzun süre görülebilir. Ağır bir şey yapılmıyor, bir tablo açık.
Pozisyon açmak için gerekli marjın yeterli değerini alamıyorum. Tüm enstrümanlar için aynı değeri alıyorum, farklı brokerler için farklı şekillerde, biri tüm semboller için 0.0, diğeri 100000.0 gösteriyor.
MT4'te neler oluyor? 10 64 kazanın, MT4 yapı 1031
Bunu seviyorum:
voidOnStart () { Print ( MarketInfo ( Symbol (), MODE_MARGININIT )); Print ( MarketInfo ( Symbol (), MODE_MARGINMAINTENANCE )); Print ( MarketInfo ( Symbol (), MODE_MARGINHEDGED )); Print ( MarketInfo ( Symbol (), MODE_MARGINREQUIRED )); Print ( SymbolInfoDouble ( Symbol (), SYMBOL_MARGIN_INITIAL )); }
Ya MT4 tamamen bozuldu ya da nasıl olduğunu tamamen unuttum ve MT4'ü anlamayı bıraktım.
Andrey Dik : Pozisyon açmak için gerekli marjın yeterli değerini alamıyorum. Tüm enstrümanlar için aynı değeri alıyorum, farklı brokerler için farklı şekillerde, biri tüm semboller için 0.0, diğeri 100000.0 gösteriyor.
MT4'te neler oluyor? 10 64 kazanın, MT4 yapı 1031
Bunu seviyorum:
voidOnStart () { Print ( MarketInfo ( Symbol (), MODE_MARGININIT )); Print ( MarketInfo ( Symbol (), MODE_MARGINMAINTENANCE )); Print ( MarketInfo ( Symbol (), MODE_MARGINHEDGED )); Print ( MarketInfo ( Symbol (), MODE_MARGINREQUIRED )); Print ( SymbolInfoDouble ( Symbol (), SYMBOL_MARGIN_INITIAL )); }
Ya MT4 tamamen bozuldu ya da nasıl olduğunu tamamen unuttum ve MT4'ü anlamayı bıraktım.
Tünaydın!
Bu standart davranıştır. Geri sayım, yapım aşamasındaki mevcut çubuktan başlar. Buna göre, otomatik kaydırma olmadığında yeni bir çubuğun ortaya çıkmasıyla sayısı bir artar.
Derleme çalışma zamanı hatası
void OnStart ()
{
Print ( MACRO( "1\0" )); //равносильно Print( "\"1\\0\"" );
}
Sonuç : 1
Beklenen: "1\0"
onlar. 2 hata: eksik tırnak " ve yanlış yorumlanmış karakter \
ve ötesinde
{
Print ( MACRO( 1 \ 0 )); //Error: '\' - illegal escape sequence
}
evet, ama bunu müşterilere açıklayamıyor musunuz?
Bir düşünün, bir uzman çalışır, çalışır çalışır, siz uyursunuz, uyursunuz, uyanırsınız ve uzman çalışmaz, neden? çünkü zamanlayıcı kendini astı ve ne yapmalı, kim suçlu?
Hafif bir gecikmeyle yeniden başlatmaya yardımcı olur, örneğin:
int count= 5 ;
{ while ((err!= 0 )&&(count> 0 ))
{
ResetLastError ();
EventSetMillisecondTimer (MSTimerSet); //Установка таймера XXX миллисекунд
err= GetLastError ();
Print ( "EventSetMillisecondTimer n=" ,count, " err >>" ,err);
{ if (err!= 0 ){ Sleep ( 50 );}}
}} //while((err!=0)&&(count>0))
Hafif bir gecikmeyle yeniden başlatmaya yardımcı olur, örneğin:
int count= 5 ;
{ while ((err!= 0 )&&(count> 0 ))
{
ResetLastError ();
EventSetMillisecondTimer (MSTimerSet); //Установка таймера XXX миллисекунд
err= GetLastError ();
Print ( "EventSetMillisecondTimer n=" ,count, " err >>" ,err);
{ if (err!= 0 ){ Sleep ( 50 );}}
}} //while((err!=0)&&(count>0))
Çalışma hatası
class A { public :
fn a;
};
class B : public A { public :
void a() { Print( __FUNCSIG__ ); }
};
void OnStart ()
{
B b;
b.a();
}
Sonuç: geçersiz işlev işaretçisi çağrısı; B::a() bekleniyor
ve burada -> derleme hatası
class A { public :
fn a;
};
class B : public A { public :
void a() { Print( __FUNCSIG__ ); }
};
void OnStart ()
{
B b;
b.a(); //Error: 'a' - wrong parameters count
}
MT4 , kullanıcı olaylarını gruplar halinde atlar. Bu bir özellik mi yoksa bir hata mı?
sadece panelde kontrol edildi - her şey yolunda, tüm olaylar normal şekilde işleniyor
sadece panelde kontrol edildi - her şey yolunda, tüm olaylar normal şekilde işleniyor
Ağır bir şey yapılmıyor, bir tablo açık.
MT4'te neler oluyor? 10 64 kazanın, MT4 yapı 1031
Bunu seviyorum:
{
Print ( MarketInfo ( Symbol (), MODE_MARGININIT ));
Print ( MarketInfo ( Symbol (), MODE_MARGINMAINTENANCE ));
Print ( MarketInfo ( Symbol (), MODE_MARGINHEDGED ));
Print ( MarketInfo ( Symbol (), MODE_MARGINREQUIRED ));
Print ( SymbolInfoDouble ( Symbol (), SYMBOL_MARGIN_INITIAL ));
}
İşte 2 brokerden elde edilen değerler:
2017.01.31 22:15:59.312 Komut Dosyası MarginReq AUDCHF,M15: kaldırıldı
2017.01.31 22:15:59.310 MarginReq AUDCHF,M15: uninit neden 0
2017.01.31 22:15:59.310 MarginReq AUDCHF,M15: 0.0
2017.01.31 22:15:59.310 MarginReq AUDCHF,M15: 1000.0
2017.01.31 22:15:59.310 MarginReq AUDCHF,M15: 100000.0
2017.01.31 22:15:59.310 MarginReq AUDCHF,M15: 0.0
2017.01.31 22:15:59.310 MarginReq AUDCHF,M15: 0.0
2017.01.31 22:15:59.309 MarginReq AUDCHF,M15: başlatıldı
2017.01.31 22:15:59.300 MarginReq AUDCHF,M15 girişleri: Giriş1=0;
2017.01.31 22:15:57.899 Script MarginReq AUDCHF,M15: başarıyla yüklendi
2017.01.31 22:13:38.077 Script MarginReq AUDCHF,M15: kaldırıldı
2017.01.31 22:13:38.075 MarginReq AUDCHF,M15: uninit neden 0
2017.01.31 22:13:38.075 MarginReq AUDCHF,M15: 100000.0
2017.01.31 22:13:38.075 MarginReq AUDCHF,M15: 1000.0
2017.01.31 22:13:38.075 MarginReq AUDCHF,M15: 100000.0
2017.01.31 22:13:38.075 MarginReq AUDCHF,M15: 0.0
2017.01.31 22:13:38.075 MarginReq AUDCHF,M15: 100000.0
2017.01.31 22:13:38.075 MarginReq AUDCHF,M15: başlatıldı
2017.01.31 22:13:38.066 MarginReq AUDCHF,M15 girişleri: Giriş1=0;
2017.01.31 22:13:36.806 Komut Dosyası MarginReq AUDCHF,M15: başarıyla yüklendi
Pozisyon açmak için gerekli marjın yeterli değerini alamıyorum. Tüm enstrümanlar için aynı değeri alıyorum, farklı brokerler için farklı şekillerde, biri tüm semboller için 0.0, diğeri 100000.0 gösteriyor.
MT4'te neler oluyor? 10 64 kazanın, MT4 yapı 1031
Bunu seviyorum:
{
Print ( MarketInfo ( Symbol (), MODE_MARGININIT ));
Print ( MarketInfo ( Symbol (), MODE_MARGINMAINTENANCE ));
Print ( MarketInfo ( Symbol (), MODE_MARGINHEDGED ));
Print ( MarketInfo ( Symbol (), MODE_MARGINREQUIRED ));
Print ( SymbolInfoDouble ( Symbol (), SYMBOL_MARGIN_INITIAL ));
}
İşte 2 brokerden elde edilen değerler:
2017.01.31 22:15:59.312 Komut Dosyası MarginReq AUDCHF,M15: kaldırıldı
2017.01.31 22:15:59.310 MarginReq AUDCHF,M15: uninit neden 0
2017.01.31 22:15:59.310 MarginReq AUDCHF,M15: 0.0
2017.01.31 22:15:59.310 MarginReq AUDCHF,M15: 1000.0
2017.01.31 22:15:59.310 MarginReq AUDCHF,M15: 100000.0
2017.01.31 22:15:59.310 MarginReq AUDCHF,M15: 0.0
2017.01.31 22:15:59.310 MarginReq AUDCHF,M15: 0.0
2017.01.31 22:15:59.309 MarginReq AUDCHF,M15: başlatıldı
2017.01.31 22:15:59.300 MarginReq AUDCHF,M15 girişleri: Giriş1=0;
2017.01.31 22:15:57.899 Script MarginReq AUDCHF,M15: başarıyla yüklendi
2017.01.31 22:13:38.077 Script MarginReq AUDCHF,M15: kaldırıldı
2017.01.31 22:13:38.075 MarginReq AUDCHF,M15: uninit neden 0
2017.01.31 22:13:38.075 MarginReq AUDCHF,M15: 100000.0
2017.01.31 22:13:38.075 MarginReq AUDCHF,M15: 1000.0
2017.01.31 22:13:38.075 MarginReq AUDCHF,M15: 100000.0
2017.01.31 22:13:38.075 MarginReq AUDCHF,M15: 0.0
2017.01.31 22:13:38.075 MarginReq AUDCHF,M15: 100000.0
2017.01.31 22:13:38.075 MarginReq AUDCHF,M15: başlatıldı
2017.01.31 22:13:38.066 MarginReq AUDCHF,M15 girişleri: Giriş1=0;
2017.01.31 22:13:36.806 Komut Dosyası MarginReq AUDCHF,M15: başarıyla yüklendi
denemek
HesapSerbestMarjKontrol