Erreurs, bugs, questions - page 1796

 
Vladimir Pastushak:

J'ai mis le terminal, Kasper l'a coupé comme un fou.

Pas de moyen de l'ajouter aux exceptions......

Impossible à reproduire. Vous pouvez écrire au ServiceDesk avec les détails. Version Windows, version terminal, version antivirus.
 
Aleksey Pak:
Je ne peux pas le reproduire. Vous pouvez écrire une demande au ServiceDesk et la décrire en détail. Version Windows, version terminal, version antivirus.

DrWeb ne trouve rien.

 
Erreur de compilation
#define MACRO  \
  if (true)    \
  {            \
    Print(""); \
//    Print(""); \
  }

void OnStart()
{
  MACRO
}
 
Vladislav Andruschenko:

DrWeb ne trouve rien.

Il ne trouve toujours rien ))))
 
Vladimir Pastushak:
Il ne trouve toujours rien ))))

Non, il trouve souvent des virus, mais il ne trouve rien dans mt.

 

Dans la continuité du sujet. Pour quelle raison, lors d'une demande d'ordres en attente, le champRequest.type_filling n'a plus de valeur ?

Maintenant, peu importe comment je l'ai rempli, OrderGetInteger(ORDER_TYPE_FILLING) == ORDER_FILLING_RETURN.

Script

void OnStart()
{
  MqlTradeRequest Request = {0};
  
  Request.action = TRADE_ACTION_PENDING;

  Request.symbol = _Symbol;
  Request.volume = 1;
  Request.price = SymbolInfoDouble(_Symbol, SYMBOL_BID) - 100 * _Point;

  Request.deviation = 10;
  Request.type = ORDER_TYPE_SELL_STOP;
  
  Request.type_filling = ORDER_FILLING_FOK;
  
  MqlTradeResult Result = {0};
  
  if (OrderSend(Request, Result))
  {
    Sleep(100);
    
    if (OrderSelect(Result.order))    
      Print(EnumToString((ENUM_ORDER_TYPE_FILLING)::OrderGetInteger(ORDER_TYPE_FILLING)));
  }        
}

Résultat

ORDER_FILLING_RETURN

type_filling doit être défini pour le même ORDER_TYPE_SELL_STOP. ORDER_FILLING_FOK est écrit dans le script - cela signifie qu'une demande de marché de type ORDER_FILLING_FOK (tout ou rien) doit être générée lorsque l'ordre stop est accepté. Quelle est la raison pour laquelle ce n'est pas le cas ?

Pending Order

Un ordre commercial pour placer un ordre en attente. Il faut spécifier 11 champs:

  • action
  • symbole
  • volume
  • prix
  • stoplimite
  • sl
  • tp
  • type
  • type_filling
  • type_temps
  • expiration
Документация по MQL5: Стандартные константы, перечисления и структуры / Структуры данных / Структура торгового запроса
Документация по MQL5: Стандартные константы, перечисления и структуры / Структуры данных / Структура торгового запроса
  • www.mql5.com
Стандартные константы, перечисления и структуры / Структуры данных / Структура торгового запроса - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
#define MACRO  \
  if (true)    \
  {            \
    Print(""); \
/*    Print(""); */ \
  }
C'est correct, sinon la parenthèse } elle-même
 
A100:
#define MACRO  \
  if (true)    \
  {            \
    Print(""); \
/*    Print(""); */ \
  }
C'est exact, sinon le support } agit de son propre chef.
Pourquoi la double barre oblique agit-elle sur la barre oblique inverse ? Et pourquoi la macro porte-t-elle les commentaires de la double barre oblique lorsqu'elle est activée ?
 
MetaQuotes-Démo
OrderSend(Symb,OP_BUYLIMIT,1,Ask-100*Point,100,0,0,My Order)
Request.action = TRADE_ACTION_PENDING (5)
Request.magic = 0
Request.order = 0
Request.symbol = CHFRUB_TOM
Request.volume = 1.0
Request.price = 57.9
Request.stoplimit = 0.0
Request.sl = 0.0
Request.tp = 0.0
Request.deviation = 100
Request.type = ORDER_TYPE_BUY_LIMIT (2)
Request.type_filling = ORDER_FILLING_RETURN (2)
Request.type_time = ORDER_TIME_DAY (1)
Request.expiration = 1970.01.01 00:00:00
Request.comment = My Order
Request.position = 0
Request.position_by = 0
Result.retcode = 10018
Result.deal = 0
Result.order = 0
Result.volume = 0.0
Result.price = 0.0
Result.bid = 0.0
Result.ask = 0.0
Result.comment = Market closed 53.327 + 0.000 ms
Result.request_id = 334
Result.retcode_external = 0
CHFRUB_TOM - marché supposé fermé. Corrigez-la, s'il vous plaît.
 
fxsaber:
Pourquoi la double barre oblique agit-elle sur la barre oblique inverse ? Et pourquoi la macro porte-t-elle un commentaire à double barre oblique lorsqu'elle est activée ?
Un commentaire ne fait pas partie d'une macro. La macro doit être continue. Une barre oblique inverse \Npoursuit la macro à partir de la ligne suivante. // en début de ligne interrompt la macro parce qu'une telle ligne ne peut pas être terminée par une barre oblique inversée !
Raison: