Hatalar, hatalar, sorular - sayfa 733

 
Şimdi kontrol ettim ve diğer ses olayları çalışmıyor.
 

CTrade sınıfında (PositionOpen,Buy,Sell) bir pozisyon açma yöntemleri çalışmasında garip bir resim gözlemliyorum - danışman aslında bir pozisyon açar (terminalde görüyorum) ve bu yöntemler false döndürür, _LastError=4756 (Ticaret talebi gönderilemedi). Bu durumda, CTrade.ResultRetcode()=10008 (Sipariş verildi).

Bu günlerde Alpari sunucularında bir şey mi kaçırıyorum yoksa bu bir hata mı?

 
blef :

Şimdi kontrol ettim ve diğer ses olayları çalışmıyor.

Terminaldeki sesler açık mı?

 
evet etkinse, aynı şey ROBOFOREX sunucusunda da olur.
 
şimdi hem MQ hem de ROBOFOREX terminallerinde tüm ses olayları çalışıyor ==>.
 

Neler olduğunu kimin anladığını açıklayın? bir danışman oluşturun:

 void OnTrade ()
  {
//---
   if ( OrdersTotal ()!= 0 )
     {
       OrderSelect ( OrderGetTicket ( 0 ));
       Print ( "Есть ордера OrdersTotal()=" , OrdersTotal (), " " ,
             EnumToString (( ENUM_ORDER_STATE ) OrderGetInteger ( ORDER_STATE ))
            );
     }
   else
     {
       OrderSelect ( OrderGetTicket ( 0 ));
       Print ( "Нет ордеров OrdersTotal()=" , OrdersTotal (), " " ,
             EnumToString (( ENUM_ORDER_STATE ) OrderGetInteger ( ORDER_STATE ))
            );
     }
  }

Danışmanı çizelgede başlatıyorum, manuel olarak bir pozisyon açıyorum ve baskılara giriyorum:

 2012.05 . 02 16 : 27 : 10      Template Trades (EURUSD,M15)    Нет ордеров OrdersTotal ()= 0 ORDER_STATE_STARTED
2012.05 . 02 16 : 27 : 10      Template Trades (EURUSD,M15)    Нет ордеров OrdersTotal ()= 0 ORDER_STATE_STARTED
2012.05 . 02 16 : 27 : 10      Template Trades (EURUSD,M15)    Нет ордеров OrdersTotal ()= 0 ORDER_STATE_STARTED

Nasıl olur da bir ticaret olayı gelir ve emir olmaz, ancak bu "emirler yok" tipi başlar ve her zaman olur.

Bütün bu saçmalıkların işe yaramadığını düşünmek.

 
Ve sonucu kontrol ediyorsun
 OrderSelect ( OrderGetTicket ( 0 ));

Mevcut olmayan bir siparişin durumunu talep etmenin amacı nedir? Ve bu durumda ikinci form ne dönecek?

 bool    OrderGetInteger (
   ENUM_ORDER_PROPERTY_INTEGER   property_id, // идентификатор свойства
   long &                long_var           // сюда примем значение свойства
   );
 
Rosh :

Ve sonucu kontrol ediyorsun

Mevcut olmayan bir siparişin durumunu talep etmenin amacı nedir? Ve bu durumda ikinci form ne dönecek?

Kodu ayrıştırmak için bu yola gideceğinizi biliyordum.

Ve trades olayı tetiklendiğinden (o zaman bunlardan en az biri sipariş vermek için olmalıdır) ve OrdersTotal() sipariş olmadığını söylediğine göre, neden bir emir olduğu sorusuyla ilgilenmiyorsunuz?

 
Urain :

Kodu ayrıştırmak için bu yola gideceğinizi biliyordum.

Ve trades olayı tetiklendiğinden (o zaman bunlardan en az biri sipariş vermek için olmalıdır) ve OrdersTotal() sipariş olmadığını söylediğine göre, neden bir emir olduğu sorusuyla ilgilenmiyorsunuz?

Belki PositionTotal() gereklidir?
 

Sınıf eklerken aldığım hata bu

Gümüş normalde kapandı ama altın kapanmadı.

Если проблема в проскальзывании, то не подскажите как его задавать?
if (myposition.Select( _Symbol ))
{
 // закрыть открытую позицию по этому символу
 // величина проскальзывания была установлена ранее 
 mytrade.PositionClose( _Symbol );
}