Preço médio dos pedidos (vários números mágicos)
4 respostas
ramacan
11 anos atrás #111190
Como posso calcular o preço médio dos pedidos (vários números mágicos) ponderado por lotes?
Cumprimentos.
Marca Fric
11 anos atrás #121712
você pode verificar a função sqGetOrdersAveragePrice() no código gerado pelo EA.
Marcar
EstratégiaQuant arquiteto
ramacan
11 anos atrás #121731
Marca,
Você está dizendo que eu deveria usar sqGetOrdersAveragePrice() na área de funções personalizadas? Como não sou programador, peço que me dê um exemplo de como recuperar o preço médio ponderado por lotes para Magic#1 e Magic#2.
Cumprimentos.
Marca Fric
11 anos atrás #121833
Olá,
Desculpe-me pela resposta insuficiente.
Você pode adicionar o seguinte código ao arquivo {EA Wizard}/code/CustomFunctions.mq4.
Isso fará com que o Assistente de EA adicione essa função a todos os códigos de EA gerados.
double GetMultiOrdersAveragePrice(int magic1, int magic2) {
double sum = 0,0;
double cnt = 0,0;
para (int cc = OrderTotal() - 1; cc >= 0; cc-) {
se (!OrderSelect(cc, SELECT_BY_POS) ) continuar;
Se((OrderMagicNumber() == magic1 || OrderMagicNumber() == magic2) && OrderSymbol() == Symbol()) {
Se (OrderType() == OP_BUY && OrderCloseTime() == 0) {
sum += OrderLots() * OrderOpenPrice ();
cnt += OrderLots();
}
se(OrderType() == OP_SELL && OrderCloseTime() == 0) {
sum += OrderLots() * OrderOpenPrice ();
cnt += OrderLots();
}
}
}
Se (NormalizeDouble (cnt, Digits) == 0) retornar (0);
return(sum / cnt);
}
Em seguida, nas regras do EA Wizard, você pode usar essa nova função como Functions -> Custom Function: GetMultiOrdersAveragePrice(1000, 2000)
para obter o preço médio das ordens com os números mágicos 1000 e 2000.
Marcar
Marcar
EstratégiaQuant arquiteto
ramacan
11 anos atrás #121843
Visualizando 4 respostas - 1 até 4 (de um total de 4)