Erreurs, bugs, questions - page 1739
Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
//| Get the property value "ORDER_TYPE_FILLING" |
//+------------------------------------------------------------------+
ENUM_ORDER_TYPE_FILLING COrderInfo::TypeFilling(void) const
{
return((ENUM_ORDER_TYPE_FILLING)OrderGetInteger(ORDER_TYPE_FILLING));
}
Renvoie TOUJOURSENUM_ORDER_TYPE_FILLING::ORDER_FILLING_RETURN dans le testeur.
La garniture n'est pas fixée.
Ainsi, si vous définissez le remplissage dans OrderModify via COrderInfo::TypeFilling(), RoboForexEU-MetaTrader 5 affichera une erreur logique [Unsupported filling mode]. Cependant, cette erreur ne se produit pas dans MetaQuotes-Demo - le serveur du développeur est mal configuré ?
Ai-je bien compris que la modification des ordres par SB ne fonctionnera pas dans un échange ?
//| 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));
}
Ce n'est pas le cas.
Ne paniquez pas !
{
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:
Ne paniquez pas !
//| 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));
}
//| 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));
}
Attendez, pourquoi spécifier le type de remplissage lors de la modification ?
Dans la documentation :
Ordre de transaction pour modifier les niveaux StopLoss et/ou TakeProfit. Il faut préciser 4 champs (jamb :)) :
Attendez, pourquoi spécifier le type de remplissage lors de la modification ?
Dans la documentation :
Ne croyez pas tout ce qu'il dit. Il DOIT être spécifié. Sinon, cela ne fonctionnera pas.
Je ne peux pas utiliser SB. Mais vous pouvez essayer OrderModify sur l'échange pour vous assurer du bug.
Ne croyez pas tout ce qui est écrit. Vous DEVEZ préciser. Sinon, cela ne fonctionnera pas.
Je suis totalement d'accord, mais...
Je ne sais pas comment utiliser SB. Mais vous pouvez essayer OrderModify sur l'échange pour vous assurer du bug.
Mais MQ a même ajouté un exemple dans la doc... Ce n'est pas indiqué là...
Il existe également un conseiller expert que j'ai écrit, qui fonctionne sur le marché boursier et utilise un tel morceau de code :
trade.OrderModify( order.Ticket(), order.PriceOpen(), newSl, newTp, order.TypeTime(), 0 );
Mais MQ a même ajouté un exemple au document... Il ne précise pas...
Faux, les gens. Nous devons corriger à la fois le doc et le SB.
De plus, il y a un EA que j'ai écrit qui fonctionne sur un échange et qui utilise un tel morceau de code :
trade.OrderModify( order.Ticket(), order.PriceOpen(), newSl, newTp, order.TypeTime(), 0 );
Et dans le testeur ?
Faux, les gens. Vous devez corriger à la fois le doc et le SB.
Faux, les gens. Vous devez corriger à la fois le doc et le SB.
Et dans le testeur ?
2016.10.20 15:40:41 Core 1 connection closed
2016.10.20 15:40:16 History nothing to analyze
2016.10.20 15:40:16 Core 1 common synchronization completed
2016.10.20 15:40:16 Tester RTS-12.16,M1 (BCS-MetaTrader5): visual testing of Experts\fxsaber\Test9.ex5 from 2016.10.19 00:00 to 2016.10.20 00:00
2016.10.20 15:40:16 Core 1 authorized (agent build 1455)
2016.10.20 15:40:16 Core 1 connected
2016.10.20 15:40:16 Core 1 connecting to 127.0.0.1:3000
Eh bien, si soudainement il n'y a pas d'histoire, pourquoi y a-t-il une seule course pendant 28 (25 + 3) secondes ? Il s'agit également de parler du Cloud !
Cela s'est produit alors que la fenêtre de visualisation était ouverte, ce que j'avais complètement oublié. Ça n'a aucun sens.