Hatalar, hatalar, sorular - sayfa 1739

 

SB aracılığıyla siparişlerin değiştirilmesinin borsada çalışmayacağını doğru anlıyor muyum?

//+------------------------------------------------------------------+
//| Modify specified pending order                                   |
//+------------------------------------------------------------------+
bool CTrade:: OrderModify ( const ulong ticket, const double price, const double sl, const double tp,
                         const ENUM_ORDER_TYPE_TIME type_time, const datetime expiration, const double stoplimit)
  {
//--- check stopped
   if ( IsStopped ( __FUNCTION__ ))
       return ( false );
//--- clean
   ClearStructures();
//--- setting request
   m_request.action      = TRADE_ACTION_MODIFY ;
   m_request.magic       =m_magic;
   m_request.order       =ticket;
   m_request.price       =price;
   m_request.stoplimit   =stoplimit;
   m_request.sl          =sl;
   m_request.tp          =tp;
   m_request.type_time   =type_time;
   m_request.expiration  =expiration;
//--- action and return the result
   return ( OrderSend (m_request,m_result));
  }

doldurma ayarlanmadı.

 
Tüm ticaret sunucularında SB
//+------------------------------------------------------------------+
//| Get the property value "ORDER_TYPE_FILLING"                      |
//+------------------------------------------------------------------+
ENUM_ORDER_TYPE_FILLING COrderInfo::TypeFilling( void ) const
  {
   return (( ENUM_ORDER_TYPE_FILLING ) OrderGetInteger ( ORDER_TYPE_FILLING ));
  }

HER ZAMAN test cihazında ENUM_ORDER_TYPE_FILLING::ORDER_FILLING_ RETURN döndürür.

fxsaber :

doldurma ayarlanmadı.

Bu nedenle, OrderModify'da COrderInfo::TypeFilling() aracılığıyla doldurma belirtilirse, aynı RoboForexEU-MetaTrader 5'te [Desteklenmeyen doldurma modu] mantıksal bir hata olacaktır. Ancak bu hata MetaQuotes-Demo'da oluşmuyor - geliştiricinin sunucusu yanlış yapılandırılmış mı?


 
fxsaber :

SB aracılığıyla siparişlerin değiştirilmesinin borsada çalışmayacağını doğru anlıyor muyum?

//+------------------------------------------------------------------+
//| Modify specified pending order                                   |
//+------------------------------------------------------------------+
bool CTrade:: OrderModify ( const ulong ticket, const double price, const double sl, const double tp,
                         const ENUM_ORDER_TYPE_TIME type_time, const datetime expiration, const double stoplimit)
  {
//--- check stopped
   if ( IsStopped ( __FUNCTION__ ))
       return ( false );
//--- clean
   ClearStructures();
//--- setting request
   m_request.action      = TRADE_ACTION_MODIFY ;
   m_request.magic       =m_magic;
   m_request.order       =ticket;
   m_request.price       =price;
   m_request.stoplimit   =stoplimit;
   m_request.sl          =sl;
   m_request.tp          =tp;
   m_request.type_time   =type_time;
   m_request.expiration  =expiration;
//--- action and return the result
   return ( OrderSend (m_request,m_result));
  }

doldurma ayarlanmadı.

Panik yok!

class CTrade : public CObject
  {
protected :
   MqlTradeRequest    m_request;         // request data
   MqlTradeResult     m_result;           // result data
   MqlTradeCheckResult m_check_result;   // result check data
   bool               m_async_mode;       // trade mode
   ulong              m_magic;           // expert magic number
   ulong              m_deviation;       // deviation default
   ENUM_ORDER_TYPE_FILLING m_type_filling;
   ENUM_ACCOUNT_MARGIN_MODE m_margin_mode;
   //---
   ENUM_LOG_LEVELS   m_log_level;

public :
 
Alexey Kozitsyn :

Panik yok!

//+------------------------------------------------------------------+
//| Modify specified pending order                                   |
//+------------------------------------------------------------------+
bool CTrade:: OrderModify ( const ulong ticket, const double price, const double sl, const double tp,
                         const ENUM_ORDER_TYPE_TIME type_time, const datetime expiration, const double stoplimit)
  {
//--- check stopped
   if ( IsStopped ( __FUNCTION__ ))
       return ( false );
//--- clean
   ClearStructures();

//--- setting request
   m_request.action      = TRADE_ACTION_MODIFY ;
   m_request.magic       =m_magic;
   m_request.order       =ticket;
   m_request.price       =price;
   m_request.stoplimit   =stoplimit;
   m_request.sl          =sl;
   m_request.tp          =tp;
   m_request.type_time   =type_time;
   m_request.expiration  =expiration;
//--- action and return the result
   return ( OrderSend (m_request,m_result));
  }
 
fxsaber :
//+------------------------------------------------------------------+
//| Modify specified pending order                                   |
//+------------------------------------------------------------------+
bool CTrade:: OrderModify ( const ulong ticket, const double price, const double sl, const double tp,
                         const ENUM_ORDER_TYPE_TIME type_time, const datetime expiration, const double stoplimit)
  {
//--- check stopped
   if ( IsStopped ( __FUNCTION__ ))
       return ( false );
//--- clean
   ClearStructures();

//--- setting request
   m_request.action      = TRADE_ACTION_MODIFY ;
   m_request.magic       =m_magic;
   m_request.order       =ticket;
   m_request.price       =price;
   m_request.stoplimit   =stoplimit;
   m_request.sl          =sl;
   m_request.tp          =tp;
   m_request.type_time   =type_time;
   m_request.expiration  =expiration;
//--- action and return the result
   return ( OrderSend (m_request,m_result));
  }

Dur, ancak değiştirirken neden doldurma türünü belirtin?

Belgelerden:

StopLoss ve/veya TakeProfit seviyelerini değiştirmek için bir ticaret emri. 4 (cant :)) alan zorunludur:

  • eylem
  • semboller
  • sl
  • tp
  • konum
 
Alexey Kozitsyn :

Dur, ancak değiştirirken neden doldurma türünü belirtin?

Belgelerden:

Her yazılana inanmayın. belirtmek GEREKİR. Aksi halde çalışmayacaktır.

SB'yi kullanamıyorum. Ancak bunun bir hata olup olmadığını görmek için borsada OrderModify'ı deneyebilirsiniz.

 
fxsaber :

Her yazılana inanmayın. belirtmek GEREKİR. Aksi halde çalışmayacaktır.

kesinlikle katılıyorum ama..

SB'yi kullanamıyorum. Ancak bunun bir hata olup olmadığını görmek için borsada OrderModify'ı deneyebilirsiniz.

Ama MQ belgeye bir örnek bile ekledi... orada belirtilmiyor...

Borsada çalışan ve aşağıdaki kod parçasını kullanan benim tarafımdan yazılmış bir Uzman Danışman da var:

         //--- Модифицируем ордер
         trade. OrderModify ( order.Ticket(), order.PriceOpen(), newSl, newTp, order.TypeTime(), 0 );
 
Alexey Kozitsyn :

Ama MQ belgeye bir örnek bile ekledi... orada belirtilmiyor...

Yanlış İnsanlar. Hem dock'u hem de SB'yi düzenlemek gerekir.

Alexey Kozitsyn :

Borsada çalışan ve aşağıdaki kod parçasını kullanan benim tarafımdan yazılmış bir Uzman Danışman da var:

         //--- Модифицируем ордер
         trade. OrderModify ( order.Ticket(), order.PriceOpen(), newSl, newTp, order.TypeTime(), 0 );

Ve test cihazında?

 
fxsaber :
Yanlış İnsanlar. Hem dock'u hem de SB'yi düzenlemek gerekir.
Önce borsadaki siparişi değiştirmeye çalışırsınız ve ancak ondan sonra konuşursunuz.
 
fxsaber :

Yanlış İnsanlar. Hem dock'u hem de SB'yi düzenlemek gerekir.

Ve test cihazında?

Halihazırda kurulmuş siparişlerle çalışır. Test cihazında yarışmadı.