Domande da un "manichino" - pagina 140

 

Potete dirmi, sto cercando di impostare take profit e stop loss, l'ordine è aperto e SL e TP non sono impostati, qual è il problema e come risolverlo?

 

Controlla la proprietàSYMBOL_TRADE_EXEMODE per lo strumento, che può essere uno dei valori dell'enumerazione ENUM_SYMBOL_TRADE_EXECUTION:

ENUM_SYMBOL_TRADE_EXECUTION

Identificatore

Descrizione

RICHIESTA DI ESECUZIONE DI SCAMBIO DI SIMBOLI

Commercio su richiesta

SYMBOL_TRADE_EXECUTION_INSTANT

Commercio a prezzi di streaming

SIMBOLO_COMMERCIO_MERCATO_DI_ESECUZIONE

Esecuzione_mercato

SCAMBIO DI SIMBOLI

Esecuzione dello scambio

SL e TP non sono richiestiper il trading in modalità SYMBOL_TRADE_EXECUTION_MARKET.

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

Potete dirmi, sto cercando di impostare take profit e stop loss, l'ordine è aperto e SL e TP non sono impostati, qual è il problema e come risolverlo?

Qual è la modalità di esecuzione del mercato supportata dal broker? Se la modalità di esecuzione del mercato è supportata , allora SL e TP non sono impostati per essa.
 

Restituisce 3 - cioè SYMBOL_TRADE_EXECUTION_MARKET

Cosa intendi per non fornire SL e TP e se hai bisogno di livelli, cosa fai? O intendete modificarlo dopo l'apertura? Se lo modificate, potete darmi una funzione di esempio, grazie.

 
T-G:

Restituisce 3 - cioè SYMBOL_TRADE_EXECUTION_MARKET

Cosa intendi per non fornire SL e TP e se hai bisogno di livelli, cosa fai? O intendete modificarlo dopo l'apertura? Se lo modificate, potete darmi una funzione di esempio, grazie.

Se usate ordini limite, potete impostare sia stop che take. Quanto vicino al mercato può essere impostato un ordine limite? Dipende dal broker, da zero pip (cioè al prezzo di mercato).
 
Ho aperto un ordine e cosa devo fare se non posso impostare un TP e uno SL?
 
Документация по MQL5: Стандартные константы, перечисления и структуры / Структуры данных / Структура торгового запроса
Документация по MQL5: Стандартные константы, перечисления и структуры / Структуры данных / Структура торгового запроса
  • www.mql5.com
Стандартные константы, перечисления и структуры / Структуры данных / Структура торгового запроса - Документация по MQL5
 
T-G:

E se ho bisogno di seguire il mercato? Ho aperto un ordine e cosa devo fare se non posso impostare il TP e lo SL?
Dopo aver aperto/modificato una posizione , puoi usare una richiesta separata per impostare i livelli SL e TP.
 
T-G: O intendete modificarlo dopo l'apertura? Se modificato, puoi dare una funzione di esempio, grazie.

Qui è dove dice il Riferimento MQL5 / Costanti, enumerazioni e strutture standard / Strutture di dati / Struttura di una richiesta di scambio:

SL & TP Modification

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

action 
symbol 
sl 
tp 

Quindi il codice è più o meno così (dopo aver controllato la posizione):

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:

Restituisce 3 - quindi si ottiene SYMBOL_TRADE_EXECUTION_MARKET

Il problema sembra essere altrove.

void OnStart()
  {
   Print("SYMBOL_TRADE_EXECUTION_MARKET=",SYMBOL_TRADE_EXECUTION_MARKET);
  }
Il valore "3" non viene restituito in alcun modo :) Dopo tutto, le enumerazioni sono numerate da zero.