Perguntas de um "boneco" - página 140

 

Podem dizer-me, estou a tentar fixar o lucro e parar as perdas, a ordem é aberta e SL e TP não são fixados, qual é o problema e como resolvê-lo?

 

Verificar a propriedadeSYMBOL_TRADE_EXEMODE para a ferramenta, que pode ser um dos valores da enumeração ENUM_SYMBOL_TRADE_EXECUTION:

ENUM_SYMBOL_TRADE_EXECUTION

Identificador

Descrição

SYMBOL_TRADE_EXECUTION_REQUEST

Comércio a pedido

SYMBOL_TRADE_EXECUTION_INSTANT

Comércio a preços de streaming

SYMBOL_TRADE_EXECUTION_MARKET

Mercado_de_execução_execução

SYMBOL_TRADE_EXECUTION_EXCHANGE

Execução de câmbio

SL e TP não são necessáriospara comércio em modo SYMBOL_TRADE_EXECUTION_MARKET.

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

Podem dizer-me, estou a tentar fixar o lucro e parar as perdas, a ordem é aberta e SL e TP não são fixados, qual é o problema e como resolvê-lo?

Qual é o modo de Execução do Mercado suportado pelo corretor? Se o modo Market Execution for suportado , então SL e TP não são definidos para ele.
 

Devoluções 3 - i.e. SYMBOL_TRADE_EXECUTION_MARKET

O que quer dizer com não fornecer SL e TP e, se precisar de níveis, o que faz? Ou pretende modificá-lo após a abertura? Se o modificar, pode dar-me um exemplo de função, obrigado.

 
T-G:

Devoluções 3 - i.e. SYMBOL_TRADE_EXECUTION_MARKET

O que quer dizer com não fornecer SL e TP e, se precisar de níveis, o que faz? Ou pretende modificá-lo após a abertura? Se o modificar, pode dar-me um exemplo de função, obrigado.

Se utilizar ordens de limite, pode definir tanto parar como tomar. Quão perto do mercado pode ser estabelecida uma ordem de limite? Depende do corretor, a partir de zero pips (i.e. a preço de mercado).
 
E se eu precisar de seguir o mercado? Abri uma ordem e o que devo fazer se não conseguir definir um TP e um SL?
 
Документация по MQL5: Стандартные константы, перечисления и структуры / Структуры данных / Структура торгового запроса
Документация по MQL5: Стандартные константы, перечисления и структуры / Структуры данных / Структура торгового запроса
  • www.mql5.com
Стандартные константы, перечисления и структуры / Структуры данных / Структура торгового запроса - Документация по MQL5
 
T-G:

E se eu precisar de seguir o mercado? Abri uma ordem e o que devo fazer se não conseguir definir o TP e o SL?
Depois de abrir/modificar uma posição , pode utilizar um pedido separado para definir os níveis SL e TP.
 
T-G: Ou pretende modificá-lo após a abertura? Se for modificado, pode dar um exemplo de função, obrigado.

É aqui que diz a Referência MQL5 / Constantes, enumerações e estruturas padrão / Estruturas de dados / Estrutura de um pedido comercial:

SL & TP Modification

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

action 
symbol 
sl 
tp 

Assim, o código é mais ou menos assim (depois de verificar a posição):

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:

Retorna 3 - para que receba SYMBOL_TRADE_EXECUTION_MARKET

O problema parece estar noutro lugar.

void OnStart()
  {
   Print("SYMBOL_TRADE_EXECUTION_MARKET=",SYMBOL_TRADE_EXECUTION_MARKET);
  }
O valor "3" não é devolvido de forma alguma :) Afinal de contas, as enumerações são numeradas a partir do zero.
Razão: