Assista a como baixar robôs de negociação gratuitos
Encontre-nos em Twitter!
Participe de nossa página de fãs
Script interessante?
Coloque um link para ele, e permita que outras pessoas também o avaliem
Você gostou do script?
Avalie seu funcionamento no terminal MetaTrader 5
Scripts

Pending orders DOWN - script para MetaTrader 5

Visualizações:
2367
Avaliação:
(38)
Publicado:
2017.11.17 12:30
Atualizado:
2018.02.28 16:05
Precisa de um robô ou indicador baseado nesse código? Solicite-o no Freelance Ir para Freelance

O script "Pending orders DOWN" posiciona uma grade de ordens pendentes ABAIXO do preço atual.


Parâmetros de entrada

  • Gap for pending orders DOWN from the current price (in pips) - o recuo do preço atual para colocar a primeira ordem pendente.
  • Step between orders DOWN (in pips) - distância entre as ordens pendentes.
  • Type of pending orders DOWN - tipo da ordem pendente (pode ser Buy Limit ou Sell Stop).
  • DOWN quantity - número de ordens a serem colocadas.
  • Lots - volume da cada ordem pendente.
  • Stop Loss (in pips).
  • Take Profit (in pips).

O script garante o envio mais rápido possível de pedidos para colocar ordens pendentes devido ao uso do modo assíncrono de operações de negociação:

   m_trade.SetAsyncMode(true);

Aqui está um exemplo de envio de pedidos para cinco ordens pendentes:

2017.08.28 09:00:30.227 Scripts script Pending orders DOWN (AUDCAD,Daily) loaded successfully
2017.08.28 09:00:35.272 Trades  '6121033': sell stop 0.01 AUDCAD at 0.98893 sl: 0.99143 tp: 0.98693
2017.08.28 09:00:35.272 Trades  '6121033': sell stop 0.01 AUDCAD at 0.98743 sl: 0.98993 tp: 0.98543
2017.08.28 09:00:35.273 Trades  '6121033': sell stop 0.01 AUDCAD at 0.98593 sl: 0.98843 tp: 0.98393
2017.08.28 09:00:35.273 Trades  '6121033': sell stop 0.01 AUDCAD at 0.98443 sl: 0.98693 tp: 0.98243
2017.08.28 09:00:35.273 Trades  '6121033': sell stop 0.01 AUDCAD at 0.98293 sl: 0.98543 tp: 0.98093
2017.08.28 09:00:35.274 Scripts script Pending orders DOWN (AUDCAD,Daily) removed

Cinco pedidos foram enviados em 1 milissegundo!

Aqui está o relatório completo, desde o início do script até a sua remoção (a data da primeira ordem enviada foi 2017.08.28 09:00:35.272):

2017.08.28 09:00:30.227 Scripts script Pending orders DOWN (AUDCAD,Daily) loaded successfully
2017.08.28 09:00:35.272 Trades  '6121033': sell stop 0.01 AUDCAD at 0.98893 sl: 0.99143 tp: 0.98693
2017.08.28 09:00:35.272 Trades  '6121033': sell stop 0.01 AUDCAD at 0.98743 sl: 0.98993 tp: 0.98543
2017.08.28 09:00:35.273 Trades  '6121033': sell stop 0.01 AUDCAD at 0.98593 sl: 0.98843 tp: 0.98393
2017.08.28 09:00:35.273 Trades  '6121033': sell stop 0.01 AUDCAD at 0.98443 sl: 0.98693 tp: 0.98243
2017.08.28 09:00:35.273 Trades  '6121033': sell stop 0.01 AUDCAD at 0.98293 sl: 0.98543 tp: 0.98093
2017.08.28 09:00:35.274 Scripts script Pending orders DOWN (AUDCAD,Daily) removed
2017.08.28 09:00:35.340 Trades  '6121033': accepted sell stop 0.01 AUDCAD at 0.98893 sl: 0.99143 tp: 0.98693
2017.08.28 09:00:35.341 Trades  '6121033': order #164992356 sell stop 0.01 / 0.01 AUDCAD at market done in 68.657 ms
2017.08.28 09:00:35.341 Trades  '6121033': accepted sell stop 0.01 AUDCAD at 0.98743 sl: 0.98993 tp: 0.98543
2017.08.28 09:00:35.342 Trades  '6121033': order #164992357 sell stop 0.01 / 0.01 AUDCAD at market done in 69.645 ms
2017.08.28 09:00:35.342 Trades  '6121033': accepted sell stop 0.01 AUDCAD at 0.98593 sl: 0.98843 tp: 0.98393
2017.08.28 09:00:35.343 Trades  '6121033': order #164992358 sell stop 0.01 / 0.01 AUDCAD at market done in 70.006 ms
2017.08.28 09:00:35.343 Trades  '6121033': accepted sell stop 0.01 AUDCAD at 0.98443 sl: 0.98693 tp: 0.98243
2017.08.28 09:00:35.343 Trades  '6121033': order #164992359 sell stop 0.01 / 0.01 AUDCAD at market done in 70.346 ms
2017.08.28 09:00:35.343 Trades  '6121033': accepted sell stop 0.01 AUDCAD at 0.98293 sl: 0.98543 tp: 0.98093
2017.08.28 09:00:35.343 Trades  '6121033': order #164992360 sell stop 0.01 / 0.01 AUDCAD at market done in 70.312 ms

O momento em que a confirmação da última ordem pendente foi confirmada é 2017.08.28 09:00:35.343. Totalmente, todas as operações levaram apenas 71 milissegundos!

No início da operação do script, a correção do volume especificado de ordens pendentes é verificada:

//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//---
   if(InpLots<=0.0)
     {
      Print("The \"Lots\" can't be smaller or equal to zero");
      return;
     }
//---
   if(!m_symbol.Name(Symbol())) // sets symbol name
      return;
   if(!RefreshRates())
      return;

   string err_text="";
   if(!CheckVolumeValue(InpLots,err_text))
     {
      Print(err_text);
      return;
     }
//---

Traduzido do russo pela MetaQuotes Ltd.
Publicação original: https://www.mql5.com/ru/code/19025

Pending orders UP Pending orders UP

O script define uma grade de ordens pendentes acima do preço atual.

History Deals and Orders History Deals and Orders

O script "History Deals and Orders" mostra absolutamente todas as propriedades de negócios e ordens do histórico de negociação em um determinado intervalo de tempo.

Burg Extrapolator Burg Extrapolator

O Expert Advisor usa o método de Burg para previsão linear.

Carbophos Carbophos

Expert Advisor que posiciona uma grade de ordens pendentes Sell Limit e Buy Limit.