Participe de nossa página de fãs
Coloque um link para ele, e permita que outras pessoas também o avaliem
Avalie seu funcionamento no terminal MetaTrader 5
- Visualizações:
- 2485
- Avaliação:
- 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](https://c.mql5.com/i/code/script.png)
O script define uma grade de ordens pendentes acima do preço atual.
![History Deals and Orders](https://c.mql5.com/i/code/script.png)
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](https://c.mql5.com/i/code/expert.png)
O Expert Advisor usa o método de Burg para previsão linear.
![Carbophos](https://c.mql5.com/i/code/expert.png)
Expert Advisor que posiciona uma grade de ordens pendentes Sell Limit e Buy Limit.