![MQL5 - Linguagem para estratégias de negociação inseridas no terminal do cliente MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
Quem utilizou a função OrderCheck.
Esta é uma construção:
request.action=TRADE_ACTION_DEAL;
request.symbol=_Symbol;
request.volume=volume_exe;
request.price=SymbolInfoDouble(_Symbol, SYMBOL_ASK);
request.sl=0;
request.tp=0;
request.deviation=SymbolInfoInteger(_Symbol, SYMBOL_SPREAD)*2;
request.type=ORDER_TYPE_BUY;
request.type_filling=ORDER_FILLING_CANCEL;
MqlTradeResult result;
OrderCheck(request, result);
if(OrderSend(request, result)==false)
Ao compilar, recebo um erro: 'resultado' - a conversão de parâmetros não é permitida.
Se remover OrderCheck, tudo se compila normalmente e a posição abre no testador.
Dê uma vista de olhos à descrição da função. Diz sobre a estrutura de resposta MqlTradeCheckResult.
Muito obrigado.
Eis o que é...
Deve contar os lucros dos negócios a partir da data especificada. Dá um resultado completamente diferente do que realmente é. Por exemplo, obtive 611 em vez de um resultado de cerca de 2000. Comecei a verificar por dia (linha comentada). Há(!!) dias em que o resultado é o mesmo, mas normalmente não é o que deveria ser...(não consegui encontrar qualquer regularidade). E o depurador produz o mesmo ciclo exacto para toda a quantidade de negócios. Embora só possa rastrear apenas este número de negócios porque não são exibidos valores para quaisquer outras variáveis excepto para as variáveis int (Expressão não pôde ser avaliada).
Este código está correcto e estou a usar correctamente o depurador?
O circuito de transacção deve ser
No depurador, utilizar 'Step in' (F11). Depois, a introdução de uma função onde uma variável ou expressão é definida, mostrará o seu valor.O ciclo de transacção deve ser
No depurador, utilizar 'Passo com Entrada' (F11). Depois, quando se introduz uma função onde uma variável ou expressão é definida, ela mostrará o seu valor.digamos que o ciclo começa do zero... embora onde está escrito que os números do negócio começam de zero? A julgar pelo facto de agora termos 10611 (antes era 611, em vez de cerca de 2000), ou seja, mais o tamanho do depósito original, não tenho a certeza ... mesmo que seja zero mesmo um ainda não entendo de onde vem 10.000
Depurador, estou a ver, F11.
digamos que o ciclo começa do zero... embora onde está escrito que os números do negócio começam de zero? A julgar pelo facto de agora recebermos 10611 (antes era 611, em vez de cerca de 2000), ou seja, mais o tamanho do depósito original, não tenho a certeza ... mesmo que seja zero mesmo um ainda não entendo de onde vem 10.000
Depurador, estou a ver, F11.
O primeiro negócio é normalmente um depósito. Parece que os negócios são contados na história a partir do 0. Assim, se não me engano, o 0-ésimo negócio será um depósito.
Posso esclarecer a fórmula pela qual é calculado o lucro do negócio?
PS
Se a memória me serve correctamente, o resultado deve ser calculado desta forma - TotalProfit = Lucro+Swap-Commision;
Porque é que SymbolInfoDouble(Symbol(),SYMBOL_VOLUME_LIMIT), devolve zero?
A primeira transacção é normalmente um depósito. Portanto, se não estou enganado, o 0º comércio será um depósito.
Pode especificar a fórmula utilizada para calcular o lucro sobre o negócio?
PS
Se a memória me serve correctamente, o resultado deve ser calculado desta forma - TotalProfit = Lucro+Swap-Commision;
na última página em código completo
por este código, o depósito não deve em caso algum ser tido em conta
a comissão é também mais - é menos.
No início o compilador queixou-se que "#importar "lbS7N_Servis.ex5"" estava em falta.
Depois de apagar esta linha, ela cedeu:
2010.08.28 22:19:51 Servis[1] (EURUSD,H1) L1=1016990000 L2=1016990000 L3=6617010000 M1=1016990000
2010.08.28 22:19:51 Servis[1] (EURUSD,H1) A=101699 B=101699 C=661701
2010.08.28 22:19:51 Servis[1] (EURUSD,H1) --- OnInit() --- 1 --- !
Quando substituí o número de conta no código pelo meu número de conta, recebi:
2010.08.28 22:26:46 Servis[1] (EURUSD,H1) L1=1016990000 L2=1016990000 L3=1016990000 M1=1016990000
2010.08.28 22:26:46 Servis[1] (EURUSD,H1) A=101699 B=101699 C=101699
2010.08.28 22:26:46 Servis[1] (EURUSD,H1) --- OnInit() --- 1 --- !
Servidor MQ, construir 316.
e a minha M1 não correspondeu.
Significa que também tem um insecto, mas menos do que eu.
Talvez devesse procurá-lo na ligação do programa ao sistema.
Que tipo de sistema tem?
Tenho uma licença Core2duo 1.3 Ghz 64 Win7 HB, 4GB ddr 2 RAM, construir. 316
E existem até três situações únicas. Estes são os detectados. E quantos não foram detectados?
E com este estado de coisas a MetaQuotes vai começar o Campeonato 2010 dentro de um mês?
Oh, quantas "maravilhas" o MetaTrader 5 nos reserva...