[Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate. Non posso andare da nessuna parte senza di te. - pagina 784

 

Non capisco bene il principio di funzionamento... se non vi dispiace un semplice esempio... per esempio C= A + B

Grazie)

 

Ciao. Voglio sapere come impostare l'Expert Advisor per aprire un ordine all'incrocio. Se chiuderà l'ordine con più o meno, dovrebbe aspettare il prossimo segnale di inversione.

La tattica è semplice

8EMA>26EMA

MACD(5,13,1)>0 (alla seconda candela MACD viene aperto un ordine)

RSI 21 >(50) OPEN BUY

8EMA<26EMA

MACD(5,13,1)<0 (ordine aperto sulla seconda candela MACD)

RSI 21 <(50) APRIRE VENDERE

Grazie per l'attenzione.

 
Ciao, il problema è questo. Quando eseguo il tester, non ci sono operazioni.
 

Qualcuno può suggerire un algoritmo per controllare se gli ultimi ordini X per un dato simbolo erano

erano poco redditizie? Ho un'idea su cosa fare, ma ho paura che non sarà la migliore opzione, mentre i criteri principali sono

velocità di controllo e carico minimo sul processore.

Grazie!

 
chief2000:

Qualcuno può suggerire un algoritmo per controllare se gli ultimi ordini X per un dato simbolo erano

erano poco redditizie? Ho un'idea di cosa fare, ma ho paura che non sia l'opzione migliore, mentre i criteri principali sono

velocità di controllo e carico minimo sul processore.

Grazie!

double GetLastOrderProfit()
{
    double profit = 0;
    datetime lastCloseTime = 0;
    int cnt = OrdersHistoryTotal();
    for (int i=0; i < cnt; i++)
    {
        if (!OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)) continue;
        if (OrderSymbol() != Symbol()) continue;
        if (OrderMagicNumber() != MagicNumber) continue;

        if (lastCloseTime < OrderCloseTime())   // find most recent order
        {
            lastCloseTime = OrderCloseTime();
            profit = OrderProfit();
        }
    }
    return (profit);
}

la funzione non è mia, ma non credo sia difficile adattarla alle condizioni
 

aiuto che può.... qualcuno sa come fare un trailing stop non lineare.... e non costante, ma solo un dato numero di volte

per esempio quando il prezzo si muove verso A pips di perdita si muove verso B pips.... e poi quando si muove verso C si muove verso D

dove le lettere non hanno lo stesso valore ma sono diverse....

 
IgorM:

La funzione non è mia, ma penso che sia facile modificarla secondo le condizioni necessarie

Sono i "fiori" :) La parte più interessante inizia dopo.

Ho pensato nel primo ciclo di ordinare gli ordini per un dato simbolo e creare un array per biglietto.

Nel secondo ciclo, ordinate l'array per tempo di chiusura.

Ma poi dovremmo ottenere i profitti degli ordini dal loro tempo di chiusura - è possibile collegarli in qualche modo?

senza passare per tutti gli ordini? - Altrimenti avremo troppi loop.

 
chief2000:

Sono i "fiori" :) La parte più interessante inizia dopo.

Ho pensato nel primo ciclo di ordinare gli ordini per un dato simbolo e creare un array per biglietto.

Nel secondo ciclo, ordinate l'array per tempo di chiusura.

Ma poi dovremmo ottenere i profitti degli ordini dal loro tempo di chiusura - è possibile collegarli in qualche modo?

senza passare per tutti gli ordini? - Altrimenti si ottengono troppi loop.



significa che i biglietti dovrebbero essere memorizzati in array immediatamente quando un ordine viene effettuato con successo, e poi l'analisi può essere fatta sui biglietti

Un'altra variante è quella di creare un Expert Advisor aggiuntivo che si occupi di questo - "ripristinare la storia" del terminale e produrre i dati pronti per essere inviati a un file

 
IgorM:


Questo significa che dovreste memorizzare i biglietti in array subito, quando un ordine viene effettuato con successo, e poi analizzarli

Come opzione, vorrei creare un ulteriore Expert Advisor che faccia questo - "ripristinare la storia" del terminale e scaricare i dati finiti in un file

Non voglio avere a che fare con i file per una questione di principio, per non legare l'Expert Advisor a un certo computer...

Sembra che dovrò creare nel primo ciclo un nuovo array per il biglietto di un simbolo specificato. E poi, in due cicli, lo smistamento

per data, ricordando i biglietti nel nuovo array. Dall'array risultante, eseguire un nuovo ciclo per controllare il profitto

per gli ultimi ordini.

 
chief2000:

Non voglio incasinare i file per una questione di principio, per non legare l'EA a un computer specifico...

Sembra che dovrò creare un nuovo array nel primo ciclo per i biglietti di un dato simbolo. E poi, in due cicli, lo smistamento

per data, ricordando i biglietti nel nuovo array. Dall'array risultante, eseguire un nuovo ciclo per controllare il profitto

per gli ultimi ordini.


Integer ha pubblicato del codice per lavorare con la storia. Ordinamento per apertura, ordinamento per chiusura. Devo solo cercarlo.
Motivazione: