Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
Ho impostato il parametro use moneymanagement a false.... ma per quanto riguarda i parametri Lots, non si tratta dei Lots ma del numero di ordini aperti. Non voglio che l'ea apra più di 5 ordini......in un dato momento, per questo ho impostato il parametro NumberofTrades a 5, sui parametri di input ma mi sfiderà comunque, e prenderà più di 5 ordini, minacciando così il mio moneymanagement!
Mastercash
Questo è il risultato di un test:
Come potete vedere non ha mai aperto più di 5 ordini per lo stesso simbolo e lo stesso numero magico allo stesso tempo
Ok, capisco...solo non voglio che prenda più di 5 ordini per diversi simboli....e.g, diciamo che ci sono segnali di trading da 10 simboli negli ultimi 20 minuti....l'ea dovrebbe prendere solo i primi 5 segnali di trading, poi quando uno di questi cinque ordini si chiude, può prenderne un altro, assicurandosi che gli ordini in corso su vari simboli non superino i 5. Ma continua a superare i 5, non importa.....A volte prende 5 stessi ordini dallo stesso simbolo, che è anche sbagliato.
Mastercash
Questo è il risultato del test:
Come potete vedere non ha mai aperto più di 5 ordini per lo stesso simbolo e lo stesso numero magico allo stesso tempoOk, capisco...solo non voglio che prenda più di 5 ordini per diversi simboli....e.g, diciamo che ci sono segnali di trading da 10 simboli negli ultimi 20 minuti....l'ea dovrebbe prendere solo i primi 5 segnali di trading, poi quando uno di questi cinque ordini si chiude, può prenderne un altro, assicurandosi che gli ordini in corso su vari simboli non superino i 5. Ma continua a superare i 5, non importa.....A volte prende 5 stessi ordini dallo stesso simbolo, che è anche sbagliato.
Se vuoi che abbia al massimo 5 ordini su tutti i simboli, vai alla linea 144(if( OrderSymbol() != Symbol() ) continue;) e cancellala. E mantieni lo stesso numero magico per tutte le istanze su tutti i simboli (in modo che possa contare gli ordini aperti solo da quell'EA su tutti i simboli)
Ciao Mladen
Ho un bell'indi che non si rinfresca quando è impostato su un TF più alto.
Come puoi vedere sul grafico quando non lo modifico, rimane bloccato. Potresti aiutarmi a risolvere questo problema?
Aggiungo l'indicatore e uno screenshot
Ciao Mladen
Ho un bell'indi che non si rinfresca quando è impostato su un TF più alto.
Come potete vedere sul grafico quando non lo modifico, rimane bloccato. Potreste aiutarmi a risolvere questo problema?
Aggiungo l'indicatore e uno screenshotwolfsch
Questo può accadere solo nei backtest visivi (questo è un errore che metatrader non ha corretto per almeno 7-8 mesi, ed è un errore di metatrader non dell'indicatore) e succede a tutti gli indicatori multi time frame quando vengono testati visivamente.
Nell'uso normale funziona bene (l'ho testato proprio ora, per sicurezza, e tutto funziona come si suppone che funzioni sui grafici regolari)
Grazie, ci lavorerò sopra e ti risponderò......
Se vuoi che abbia un massimo di 5 ordini su tutti i simboli, vai alla linea 144(if( OrderSymbol() != Symbol() ) continue;) e cancellala. E mantieni lo stesso numero magico per tutte le istanze su tutti i simboli (in modo che possa contare solo gli ordini aperti da quell'EA su tutti i simboli)
TFI
Il buffer 3 è quello corretto (è il buffer "trend" che ha valori 1 per la pendenza verso l'alto e -1 per la pendenza verso il basso). Stai usando gli shift 1 e 2, quindi sta testando la prima barra chiusa.
La parte di codice relativa all'acquisto è corretta.
Hai tralasciato il
if(trendc!=trendp)
dalla parte venduta formica che potrebbe essere la causa del problemaCiao Mladen,
grazie mille per il tuo aiuto. Ho cambiato il codice secondo
secondo il tuo suggerimento, il trading va bene, anche il calcolo dei pip va bene.
Ma ora non apre più posizioni corte (potrebbe essere anche una strategia ;-)).
Sta solo chiudendo le posizioni lunghe.
Potresti per favore consigliarmi ancora una volta?
extern double maxshorttrades = 2;
extern double maxlongtrades = 2;
//+-----------------------------------------------------+
//| BUY |
//+-----------------------------------------------------+
for (i=OrdersTotal()-1;i>=0; i--)
if(OrderType()==OP_BUY && OP_BUY<maxlongtrades) break; // Check Traded Positions.
{
if(trendc!=trendp)
{
if(trendc==1 && (CCIFilter<80)) // code for buy
OpenBuy();
return(0);
}
openedOrders++;
}
//+----------------------------------------------------+
//| SELL |
//+----------------------------------------------------+
for (i=OrdersTotal()-1;i>=0; i--)
if(OrderType()==OP_SELL && OP_SELL<maxshorttrades) break; // Check Traded Positions.
{
if(trendc!=trendp)
{
if(trendc==-1 && (CCIFilter>80)) // code for sell
OpenSell();
return(0);
}
openedOrders++;
}
}
Si prega di vedere lo screenshot allegato per i dettagli.
Grazie in anticipo!
Con cordiali saluti,
TFI
Ciao Mladen,
Grazie mille per l'aiuto. Ho cambiato il codice secondo
secondo il tuo suggerimento, sta facendo trading senza problemi, anche il calcolo dei pip va bene.
Ma ora non apre più posizioni corte (potrebbe essere anche una strategia ;-)).
Sta solo chiudendo le posizioni lunghe.
Potresti per favore consigliarmi ancora una volta?
extern double maxshorttrades = 2;
extern double maxlongtrades = 2;
//+-----------------------------------------------------+
//| BUY |
//+-----------------------------------------------------+
for (i=OrdersTotal()-1;i>=0; i--)
if(OrderType()==OP_BUY && OP_BUY<maxlongtrades) break; // Check Traded Positions.
{
if(trendc!=trendp)
{
if(trendc==1 && (CCIFilter<80)) // code for buy
OpenBuy();
return(0);
}
openedOrders++;
}
//+----------------------------------------------------+
//| SELL |
//+----------------------------------------------------+
for (i=OrdersTotal()-1;i>=0; i--)
if(OrderType()==OP_SELL && OP_SELL<maxshorttrades) break; // Check Traded Positions.
{
if(trendc!=trendp)
{
if(trendc==-1 && (CCIFilter>80)) // code for sell
OpenSell();
return(0);
}
openedOrders++;
}
}
Si prega di vedere lo screenshot allegato per i dettagli.
Grazie in anticipo!
Con cordiali saluti,
TFITFI
Prova qualcosa del genere:
extern double maxlongtrades = 2;
//-----------------------------------------------------
//
//-----------------------------------------------------
int clongs = 0;
int cshorts = 0;
for (i=OrdersTotal()-1;i>=0; i--)
{
if(OrderType()==OP_BUY) clongs++; // Check Long Traded Positions.
if(OrderType()==OP_SELL) cshorts++; // Check Short Traded Positions.
}
if(trendc!=trendp)
{
if(clongs < maxlongtrades && trendc== 1 && (CCIFilter<80)) OpenBuy();
if(cshorts 80)) OpenSell();
// Check the CCI condition
// it is not symetrical to buy condition
}
mladen,
Ho fatto il cambiamento nel numero 144 e ho unificato il numero magico, "MagicNumber" attraverso i simboli istanze....It è ora prendere un massimo di 5 operazioni alla volta, ma ora ripete le operazioni sullo stesso simbolo allo stesso tempo, ad esempio, se ricevere un segnale di trading SELL su EURUSD, sarà posto che EURUSD vendere ordine 5 volte. Vedi l'immagine dell'ordine live che ha preso così:
Grazie, ci lavorerò sopra e vi farò sapere......
mladen, ho fatto il cambiamento nel numero 144 e ho unificato il numero magico, "MagicNumber" attraverso i simboli istanze....It è ora prendere un massimo di 5 operazioni alla volta, ma ora ripete le operazioni sullo stesso simbolo allo stesso tempo, ad esempio, se ricevere un segnale di trading SELL su EURUSD, sarà posto che EURUSD vendere ordine 5 volte. Vedi l'immagine dell'ordine live che ha preso in questo modo:
Questo non dipende da quella parte di codice
Devi aggiungere un controllo nel resto del codice per non aprire un ordine sulla stessa barra e sullo stesso simbolo