Prezzo medio degli ordini (numeri magici multipli)
4 risposte
ramacan
11 anni fa #111190
Come posso calcolare il prezzo medio degli ordini (numeri magici multipli) ponderato per i lotti?
Saluti.
Mark Fric
11 anni fa #121712
è possibile controllare la funzione sqGetOrdersAveragePrice() nel codice generato dall'EA.
Marchio
Architetto StrategyQuant
ramacan
11 anni fa #121731
Mark,
Stai dicendo che dovrei usare sqGetOrdersAveragePrice() nell'area delle funzioni personalizzate? Se non sono un programmatore, mi faccia un esempio di come recuperare il prezzo medio ponderato per i lotti di Magic#1 e Magic#2.
Saluti.
Mark Fric
11 anni fa #121833
Salve,
Mi dispiace per la risposta insufficiente.
È possibile aggiungere il seguente codice al file {EA Wizard}/code/CustomFunctions.mq4.
In questo modo EA Wizard aggiungerà questa funzione a ogni codice EA generato.
double GetMultiOrdersAveragePrice(int magic1, int magic2) {
double sum = 0.0;
doppio cnt = 0,0;
per (int cc = OrdersTotal() - 1; cc >= 0; cc-) {
se (!OrderSelect(cc, SELECT_BY_POS) ) continuare;
if((OrderMagicNumber() == magic1 || OrderMagicNumber() == magic2) && OrderSymbol() == Symbol()) {
if(OrderType() == OP_BUY && OrderCloseTime() == 0) {
sum += OrderLots() * OrderOpenPrice ();
cnt += OrderLots();
}
if(OrderType() == OP_SELL && OrderCloseTime() == 0) {
sum += OrderLots() * OrderOpenPrice ();
cnt += OrderLots();
}
}
}
if (NormalizeDouble (cnt, Digits) == 0) return (0);
restituire(somma / cnt);
}
Quindi nelle regole di EA Wizard è possibile utilizzare questa nuova funzione come Funzioni -> Funzione personalizzata: GetMultiOrdersAveragePrice(1000, 2000)
per ottenere il prezzo medio degli ordini con i numeri magici 1000 e 2000.
Marchio
Marchio
Architetto StrategyQuant
ramacan
11 anni fa #121843
Stai visualizzando 4 risposte - da 1 a 4 (di 4 totali)