carrapatos do testador de estratégia mt5 - página 14

 
WhooDoo22:

Olá comunidade MQL5,

Tenho lido a documentação do site 'OrderSend' MQL5, os recursos .pdf e .chm,


nenhum fornece detalhes para'SYMBOL_TRADE_EXECUTION_REQUEST' mais do que uma breve 'Descrição' ('Execução por pedido'). Aparentemente há quatro tipos de identificadores para 'ENUM_SYMBOL_TRADE_EXECUTION_EXECUTION'.

Você leu isto (desça um pouco) :https://www.mql5.com/en/docs/constants/structures/mqltraderequest
Documentation on MQL5: Standard Constants, Enumerations and Structures / Data Structures / Trade Request Structure
Documentation on MQL5: Standard Constants, Enumerations and Structures / Data Structures / Trade Request Structure
  • www.mql5.com
Standard Constants, Enumerations and Structures / Data Structures / Trade Request Structure - Documentation on MQL5
 
angevoyageur:

Encontrado no fórum russo:

  • Execução imediata (Instant Execution) Nesta modalidade, a execução de uma ordem de mercado pelo preço oferecidopelocorretor. Ao enviar um pedido de execução, o terminal preencherá automaticamente a ordem pelos preços atuais. Se o corretor tomar o preço, a ordem será executada. Se o corretor não receber o preço solicitado, então existe a chamada "Perekotirovanie" (Pedido) - o corretor retorna os preços aos quais esta ordem pode ser executada.
  • Execução a pedido (Request Execution)
    Nesta modalidade, a execução de uma ordem de mercado ao preço previamente recebido do corretor. Antes de
    enviar uma ordem de mercado com seu corretor solicita o preço de sua execução. Após o recebimento, a execução de um mandado a este preço você pode confirmar ou negar.
  • Desempenho do mercado (Market Execution)
    Neste modo de execução da decisão de um preço de execução de ordem de mercado leva o corretor sem a aprovação do trader. Enviar uma ordem de mercado desta forma implica um acordo antecipado com o preço ao qual ela será executada.
  • A versão de Bolsa (Exchange Execution) Nesta modalidade, as operações de negociação realizadas no terminal são emitidas para o sistema de negociação externo (a bolsa de valores). As operações de negociação são realizadas com base nas ofertas de preço de mercado atuais.

Olá Alain,

Sim, eu acho que seu post contém conteúdo que eu estava procurando, obrigado gentilmente.


Não acho que o décimo segundo parâmetro enumerar_ordem_type_filling da 'OrderSend' seja usado na MQL4 e não tenho experiência anterior em aplicá-lo ao código de parâmetro da MQL5 'OrderSend'.

enum_order_type_filling

"um pedido pode ser preenchido somente na quantidade especificada".

Esta "quantidade especificada" é o tamanho do lote de um pedido?


"Se a quantia necessária de um instrumento financeiro estiver atualmente indisponível no mercado, a ordem não será executada".

O que é um "montante necessário de um instrumento financeiro"?

Como podem as quantias necessárias de um instrumento financeiro estar indisponíveis no mercado atualmente?


"O volume necessário pode ser preenchido usando várias ofertas disponíveis no mercado no momento".

O que é "volume necessário" e como ele pode ser preenchido usando "várias ofertas"?


Qual é a finalidade do enum_order_type_filling?


Obrigado.

 
RaptorUK:
Você leu isto (desça um pouco) :https://www.mql5.com/en/docs/constants/structures/mqltraderequest

Olá Simon,

"Você leu isto (desça um pouco)"

Eu o li, mas ainda não tinha lido o décimo segundo parâmetro enumerativo do 'OrderSend', enum_order_type_filling'. Não me interessei por isso, pois não havia um parâmetro para aplicar o conteúdo.


Sim, acho que o link do seu post contém o conteúdo que eu estava procurando, obrigado gentilmente.

Editado por moderador.

 
Olá Nathan, não é necessário repetir as mesmas perguntas em 2 posts ;-)
 
WhooDoo22:

"an order can be filled only in the specified amount".

Esta "quantidade especificada" é um lote de um pedido?

Sim. "amout especificado", "volume do pedido", "tamanho do lote" são todos iguais.


"Se a quantia necessária de um instrumento financeiro estiver atualmente indisponível no mercado, a ordem não será executada".

O que é uma "quantia necessária de um instrumento financeiro"?

Quando você passa um pedido, compre 1 lote, por exemplo, deve haver alguém que queira vender 1 lote. No Forex isto não é um problema, pois este mercado é muito grande, mas em algum mercado, não há necessariamente alguém para vender.


Como as quantidades necessárias de um instrumento financeiro podem estar indisponíveis no mercado atualmente?

Veja acima. Você pode passar uma ordem para 1 lote, e há apenas 0,5 lote disponível no mercado.


"O volume necessário pode ser preenchido utilizando várias ofertas disponíveis no mercado no momento".

O que é "volume necessário" e como ele pode ser preenchido utilizando "várias ofertas"?

Veja acima. Você quer comprar 1 lote, há 2 ofertas para vender 0,5 lote no mercado.


Qual é a finalidade do enum_order_type_filling?

Espero que seja mais claro com as respostas acima. Este parâmetro é definido pelo corretor. Você tem que verificar isso antes de passar um pedido.

Obrigado

Você é bem-vindo.
 
WhooDoo22:

Olá Alain,

Sim, eu acho que seu post contém conteúdo que eu estava procurando, obrigado gentilmente.


Não acho que o décimo segundo parâmetro enumerar_ordem_type_filling da 'OrderSend' seja usado na MQL4 e não tenho experiência anterior em aplicá-lo ao código de parâmetro da MQL5 'OrderSend'.

Acho que você nunca se deparou com oFill or Kill antes?
Fill Or Kill (FOK) Definition | Investopedia
Fill Or Kill (FOK) Definition | Investopedia
  • www.investopedia.com
A type of time-in-force designation used in securities trading that instructs a brokerage to execute a transaction immediately and completely or not at all. This type of order is most likely to be used by active traders and is usually for a large quantity of stock. The order must be filled in its entirety or canceled (killed). The purpose of a...
 
angevoyageur:
Oi Nathan, não é necessário repetir as mesmas perguntas em 2 posts ;-)

Percebi que dois postos quase idênticos eram desnecessários depois de ler ambos os postos, mas decidi simplesmente deixá-lo estar. Da próxima vez, tentarei designar minha resposta como um novo poste.

Obrigado

 
angevoyageur:
WhooDoo22:
Sim. "amout especificado", "volume do pedido", "tamanho do lote" são todos iguais.


Quando você passa um pedido, compre 1 lote, por exemplo, deve haver alguém que queira vender 1 lote. No Forex isto não é um problema, pois este mercado é muito grande, mas em algum mercado, não há necessariamente alguém para vender.


Veja acima. Você pode passar uma ordem para 1 lote, e há apenas 0,5 lote disponível no mercado.


Veja acima. Você quer comprar 1 lote, há 2 ofertas para vender 0,5 lote no mercado.


Espero que seja mais claro com as respostas acima. Este parâmetro é definido pelo corretor. Você tem que verificar isso antes de passar uma ordem.

Você é bem-vindo.
"Espero que seja mais claro com as respostas acima". Este parâmetro é definido pelo corretor. Você tem que verificar isso antes de passar uma ordem".


Depois que você ler e responder à minha resposta, eu o deixarei ser o juiz disso :)

//ENUM_ORDER_TYPE_FILLING identifiers
ORDER_FILLING_FOK

ORDER_FILLING_FOK é um procedimento que realiza apenas um de dois tipos de entrada no mercado, 1,00 comprar lote igual a 1,00 vender lote (tipo_1) ou 1,00 comprar lote igual a três vender lotes de tamanho 0,25, 0,25 e 0,50 (tipo_2). Se o tipo_1 ou tipo_2 não puder ser realizado, a ordem não entra no mercado.

//ENUM_ORDER_TYPE_FILLING identifiers
ORDER_FILLING_IOC
ORDER_FILLING_IOC é um procedimento que realiza apenas um tipo de entrada no mercado, 1,00 compra lote compatível com o tamanho do lote vendido atualmente disponível. O tamanho de lote de venda combinado pode ser qualquer tamanho até 1,00.
//ENUM_ORDER_TYPE_FILLING identifiers
ORDER_FILLING_RETURN
Qual é o procedimento do ORDER_FILLING_RETURN?

O que significa esta frase (documentação): "No caso de preenchimento parcial de um pedido de mercado ou limite com volume restante não é cancelado, mas processado posteriormente". (mal escrito, direto para cima)

Minha tradução da frase acima é: "se uma ordem de mercado/limite está sendo parcialmente preenchida, não é cancelada e seu volume restante não é cancelado, mas processado posteriormente".


Minha impressão é que o procedimento é realizado sob os seguintes critérios (tipos de pedido (três tipos) e tipos de símbolo (dois tipos)):

TIPOS DE PEDIDO:

tipo_1: ORDER_TYPE_BUY e SELL

type_2: ORDER_TYPE_BUY e SELL_LIMIT

type_3: ORDER_TYPE_BUY e SELL_STOP_LIMIT

TIPOS DE SÍMBOLO:

tipo_1: Execução do mercado

type_2: Execução de câmbio

Qual é a diferença entre eles
? Qual é a diferença entre eles?

"Para a ativação das ordens ORDER_TYPE_BUY_BUY_STOP_LIMIT e ORDER_TYPE_SELLL_STOP_LIMIT, é criada uma ordem de limite correspondente ORDER_TYPE_BUY_LIMIT/ORDER_TYPE_SELLL_LIMIT com o tipo de execução ORDER_FILLING_RETURN".
ORDER_TYPE_BUY_STOP_LIMIT//Upon reaching the order price, a pending Buy Limit order is places at the StopLimit price

ORDER_TYPE_SELL_STOP_LIMIT//Upon reaching the order price, a pending Sell Limit order is places at the StopLimit price

Estou assumindo que uma ordem de compra limite é enviada se o preço atingir o "preço limite" (o preço acima do preço atual de mercado) e uma vez que o preço atingir o "preço limite" a ordem se torna uma ordem de compra ou venda limite (dependendo do código) e a ordem novamente espera que o preço chegue abaixo do preço atual chegando ao preço limite de compra (ordem de compra limite) ou continua a subir acima do preço atual chegando ao preço limite de venda (ordem de venda limite). Uma ordem de limite de compra é uma ordem de parada primeiro e depois se torna uma ordem de limite segundo. Isto é correto, sim?

As ordens de stop limit não estão incluídas na MQL4 e não tenho experiência anterior em codificação e'm.

Obrigado.

 
RaptorUK:
Acho que você nunca se deparou com oFill or Kill antes?

Você adivinhou bem :)

Obrigado.

 

Olá comunidade MQL5,

Ao codificar no meta editor, tentei usar a função tipo de ordem e fui alertado por um erro na caixa de ferramentas do meta editor (ver foto abaixo).

tipo de pedido indefinido

Como você deve ver, a função de tipo de ordem ainda não está definida pelos documentos(https://www.mql5.com/en/docs/standardlibrary/tradeclasses/chistoryorderinfo/chistoryorderinfoordertype).

Uma condição que estou tentando

if(OrderType()==ORDER_TYPE_BUY)

Como a função tipo de ordem pode ser usada no meta editor se não estiver definida?

Obrigado.