Se leggiamo direttamente gli ordini dalla lista, i maghi saranno sparsi, cioè abbiamo bisogno di conoscere almeno i maghi, o di fare un ciclo all'interno del ciclo per trovare un mago nella seconda lista e aggiungere un profitto ad esso.
Dopo ArraySort() i maghi sono allineati in ordine. passiamo semplicemente attraverso l'array e sommiamo la seconda dimensione (profitto) non appena un mago nella prima dimensione è cambiato - emettiamo una variabile di testo:
int premagic = arr[0][0];
string text = "";
for(i=0;i=ArrayRange(arr,0);i++){
if(arr[i][0]==premagic){
profit += arr[i][1];
}else{
text = text + "MagickNum :"+premagic+" Profit :"+profit+"\n";
profit = arr[i][1];
premagic = arr[i][0];
}
}
Comment(text);
borilunad: Controlla esattamente la storia settimanale di W1!
Grazie, solo che scarico la cronologia al momento dell'installazione e controllo specificamente il periodo in cui non ci sono sicuramente buchi - le candele sono sul grafico.
Aiuto per un principiante! Non riesco a risolvere un problema. Un Expert Advisor apre fino a 100 ordini, mette sl e thr. Quando si supera un certo livello di segnale l'ordine viene modificato sl. e thr. Ogni ordine ha il suo livello di segnale individuale, sl e thr. Sl e thr per ulteriori modifiche è calcolato al momento dell'apertura dell'ordine. Non riesco a pensare a un algoritmo. Per favore, datemi una spinta!!!
Chiudiamo un lotto di ordini, circa 30 ordini per ciclo
Come controllare se tutti gli ordini sono chiusi o per fare un ciclo che pesta il broker fino a quando non smette di riquotare?
Ho solo abbozzato la prima cosa che mi è venuta in mente, è possibile farlo?
void close (int m)
{
for( int f=OrdersTotal()-1; f>=0; f--)
if ( OrderSelect(f,SELECT_BY_POS) )
if ( OrderSymbol()==Symbol() )
if ( OrderMagicNumber()==m )
if (OrderType()==0)
if (OrderClose(OrderTicket(),OrderLots(),Bid,Slip,Red)==true) continue;
else f++;
if (OrderType()==1)
if (OrderClose(OrderTicket(),OrderLots(),Ask,Slip,Red)==true) continue;
else f++;
}
Nel testare l'EA per giorni della settimana e ore, ha scritto il seguente codice:
Variabili "H", "D" uscita a:
externint H = 18;
externint D =19;
Nelle proprietà dell'EA ho impostato i valori iniziali delle variabili da 0 a 23, passo 1. Tutti i risultati sono respinti come non significativi. Altri EA hanno impostato l'intervallo di test, ma questo non funziona. Per favore, ditemi cosa c'è che non va?
E gli array?
Leggiamo l'elenco degli ordini in un array bidimensionale, la prima dimensione è un magik, la seconda è un profitto.
ArraySort() - gli ordini sono allineati da maghi nell'ordine, poi cominciamo a sommarli e a visualizzarli.
Questo è forte!
Cosa abbiamo all'intersezione delle dimensioni?
Se leggiamo direttamente gli ordini dalla lista, i maghi saranno sparsi, cioè abbiamo bisogno di conoscere almeno i maghi, o di fare un ciclo all'interno del ciclo per trovare un mago nella seconda lista e aggiungere un profitto ad esso.
Dopo ArraySort() i maghi sono allineati in ordine. passiamo semplicemente attraverso l'array e sommiamo la seconda dimensione (profitto) non appena un mago nella prima dimensione è cambiato - emettiamo una variabile di testo:
Controlla esattamente la storia settimanale di W1!
Grazie, solo che scarico la cronologia al momento dell'installazione e controllo specificamente il periodo in cui non ci sono sicuramente buchi - le candele sono sul grafico.
Un Expert Advisor apre fino a 100 ordini, mette sl e thr. Quando si supera un certo livello di segnale l'ordine viene modificato sl. e thr. Ogni ordine ha il suo livello di segnale individuale, sl e thr. Sl e thr per ulteriori modifiche è calcolato al momento dell'apertura dell'ordine.
Non riesco a pensare a un algoritmo. Per favore, datemi una spinta!!!
Come far ricordare all'EA che non si possono aprire più di due ordini su una certa candela?
Se dal mercato, ricorda l'ora di apertura di un ordine e imposta il numero di ordini aperti a uno.
Quando il prossimo ordine viene aperto, controlla il tempo, se non è andato oltre la barra, allora incrementa il numero di ordini aperti.
Il resto della logica è abbastanza facile da costruire.
un'altra domanda:
Chiudiamo un lotto di ordini, circa 30 ordini per ciclo
Come controllare se tutti gli ordini sono chiusi o per fare un ciclo che pesta il broker fino a quando non smette di riquotare?
Ho solo abbozzato la prima cosa che mi è venuta in mente, è possibile farlo?
Nel testare l'EA per giorni della settimana e ore, ha scritto il seguente codice:
Variabili "H", "D" uscita a:
Nelle proprietà dell'EA ho impostato i valori iniziali delle variabili da 0 a 23, passo 1.Tutti i risultati sono respinti come non significativi. Altri EA hanno impostato l'intervallo di test, ma questo non funziona.
Per favore, ditemi cosa c'è che non va?
Grazie, mi ci sono voluti tre giorni per calcolarlo manualmente.
L'unica cosa fastidiosa è che la percentuale di operazioni redditizie non è visibile nell'ottimizzazione, o c'è un modo per visualizzarla?