Questions d'un "mannequin - page 140

 

Pouvez-vous me dire, j'essaie de définir le take profit et le stop loss, l'ordre est ouvert et le SL et le TP ne sont pas définis, quel est le problème et comment le résoudre ?

 

Vérifiez la propriétéSYMBOL_TRADE_EXEMODE de l'outil, qui peut être l'une des valeurs de l'énumération ENUM_SYMBOL_TRADE_EXECUTION:

ENUM_SYMBOL_TRADE_EXECUTION

Identifiant

Description

DEMANDE_DE_TRANSACTION_DE_SYMBOLE

Commerce sur demande

SYMBOL_TRADE_EXÉCUTION_INSTANTANÉE

Commerce à des prix de flux

MARCHÉ_DE_L'EXÉCUTION_DES_SYMBOLES

Marché de l'exécution_exécution

BOURSE_DE_COMMERCE_SYMBOLE

Exécution de la bourse

SL et TP ne sont pas nécessairespour négocier en mode SYMBOL_TRADE_EXECUTION_MARKET.

ENUM_SYMBOL_TRADE_EXECUTION trade_execution=(ENUM_SYMBOL_TRADE_EXECUTION)SymbolInfoInteger(_Symbol,SYMBOL_TRADE_EXEMODE);
 
T-G:

Pouvez-vous me dire, j'essaie de définir le take profit et le stop loss, l'ordre est ouvert et le SL et le TP ne sont pas définis, quel est le problème et comment le résoudre ?

Quel est le mode d'exécution du marché pris en charge par le courtier ? Si le mode d'exécution du marché est supporté , alors SL et TP ne sont pas définis pour lui.
 

Retourne 3 - c'est-à-dire SYMBOL_TRADE_EXECUTION_MARKET

Que voulez-vous dire par ne pas fournir SL et TP et si vous avez besoin de niveaux, que faites-vous ? Ou vous voulez le modifier après l'ouverture ? Si vous le modifiez, pouvez-vous me donner un exemple de fonction, merci.

 
T-G:

Retourne 3 - c'est-à-dire SYMBOL_TRADE_EXECUTION_MARKET

Que voulez-vous dire par ne pas fournir SL et TP et si vous avez besoin de niveaux, que faites-vous ? Ou vous voulez le modifier après l'ouverture ? Si vous le modifiez, pouvez-vous me donner un exemple de fonction, merci.

Si vous utilisez des ordres à cours limité, vous pouvez définir à la fois un stop et un take. A quelle distance du marché un ordre limite peut-il être fixé ? Cela dépend du courtier, à partir de zéro pips (c'est-à-dire au prix du marché).
 
J'ai ouvert un ordre et que dois-je faire si je ne peux pas fixer un TP et un SL ?
 
Документация по MQL5: Стандартные константы, перечисления и структуры / Структуры данных / Структура торгового запроса
Документация по MQL5: Стандартные константы, перечисления и структуры / Структуры данных / Структура торгового запроса
  • www.mql5.com
Стандартные константы, перечисления и структуры / Структуры данных / Структура торгового запроса - Документация по MQL5
 
T-G:

J'ai ouvert un ordre et que dois-je faire si je ne peux pas fixer le TP et le SL ?
Après avoir ouvert/modifié une position , vous pouvez utiliser une demande distincte pour définir les niveaux SL et TP.
 
T-G: Ou voulez-vous le modifier après l'ouverture ? Si elle est modifiée, pouvez-vous donner un exemple de fonction, merci.

C'est ce que dit la Référence MQL5 / Constantes, énumérations et structures standard / Structures de données / Structure d'une demande de transaction :

SL & TP Modification

Торговый приказ на модификацию уровней StopLoss и/или TakeProfit. Требуется указание 4 полей:

action 
symbol 
sl 
tp 

Le code est donc à peu près le suivant (après vérification de la position) :

bool PositionModify(const string symbol,double sl,double tp)
  { 
   m_request={0};
   m_result ={0};
//--- setting request
   m_request.action=TRADE_ACTION_SLTP;
   m_request.symbol=symbol;
   m_request.sl    =sl;
   m_request.tp    =tp;
//--- order send
   if(!OrderSend(m_request,m_result))
     {
      Print("Неудача с отправкой ордера при TRADE_ACTION_SLTP");
      return(false);
     }
//--- ok
   return(true);
  }
 
T-G:

Retourne 3 - vous obtenez donc SYMBOL_TRADE_EXECUTION_MARKET

Le problème semble être ailleurs.

void OnStart()
  {
   Print("SYMBOL_TRADE_EXECUTION_MARKET=",SYMBOL_TRADE_EXECUTION_MARKET);
  }
La valeur "3" n'est en aucun cas retournée :) Après tout, les énumérations sont numérotées à partir de zéro.