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
mladen
prima spero che tu non sia più arrabbiato con me...
secondo ho un errore nel tentativo di caricare l'EAdasssi
Prova a rinominare l'EA (a causa della lettera francese nel nome potrebbe causarti un problema - nessun altro problema può essere la causa di questo dato che è un EA molto semplice)
grazie, ora funziona/
non sembra buono sul tester di strategia
grazie, ora funziona/ non ha un bell'aspetto sullo strategy tester
È solo un esempio di come un indicatore dovrebbe essere chiamato da un EA quando si tratta di segnali. Lontano dall'essere un EA completo (date un'occhiata ai nuovi EA nella sezione elite e avanzata e confrontate il codice - vedrete cosa intendo). Quindi, era solo un aiuto per After-rage per risolvere il suo problema di codifica
Grazie !!! Funziona bene per inserire posizioni. Non so perché il mio EA non ha funzionato ma non importa. Ho provato ad aggiungere del codice per chiudere gli ordini ma non funziona. Strano perché ho preso come codice di struttura per entrare posizioni e ho solo raddoppiato il volume del lotto. Puoi dare un'occhiata?
Grazie !!! Funziona bene per inserire posizioni. Non so perché il mio EA non ha funzionato ma non importa. Così ho provato ad aggiungere il codice per chiudere gli ordini ma non funziona. Strano perché ho preso come codice di struttura per entrare posizioni e ho solo raddoppiato il volume del lotto. Puoi dare un'occhiata?
Dopo la rabbia
Un modo per farlo (chiudere un ordine aperto quando il segnale cambia) è nel codice ora
Grazie mille! Funziona molto bene. Lavorerò su questo e vedrò perché ho sbagliato.
Qualcuno sa se è possibile cambiare l'impostazione di un indicatore sul tempo di esecuzione via codice? per esempio vorrei avere un CCI dove il periodo è uguale all'ATR così quando l'ATR cambia anche il periodo del CCI cambia...come inittare l'indicatore ad ogni nuova barra... Il problema è che non so come re-inittare l'indi via codice...ho provato a chiamare l'init() quando la nuova barra è aperta e il periodo cambia correttamente ma l'indicatore non si aggiorna...il valore dell'ultima barra è corretto ma voglio che l'intero indi si ridisegni con le nuove impostazioni...spero di essere stato chiaro...grazie
Qualcuno sa se è possibile cambiare l'impostazione di un indicatore sul tempo di esecuzione via codice? per esempio vorrei avere un CCI dove il periodo è uguale all'ATR così quando cambia l'ATR cambia anche il periodo del CCI...come se si avviasse l'indicatore ad ogni nuova barra... Il problema è che non so come re-inittare l'indi via codice...ho provato a chiamare l'init() quando la nuova barra è aperta e il periodo cambia correttamente ma l'indicatore non si aggiorna...il valore dell'ultima barra è corretto ma voglio che l'intero indi si ridisegni con le nuove impostazioni...spero di essere stato chiaro...grazie
Se volete ridisegnare tutti i valori degli indi, semplicemente impostate il conteggio del ciclo principale all'inizio a Bars-1 e calcolate i valori con le nuove impostazioni
Grazie mladen per la tua rapida risposta...
per favore dai un'occhiata a questo esempio:
extern int IndicatorPeriod = 10;
extern int AtrPeriod= 10;
extern bool DynamicPeriod = TRUE;
int init()
{
if (DynamicPeriod)
{
double atr = NormalizeDouble(100*iATR(0,0,AtrPeriod,0),0);
IndicatorPeriod = atr;
}
}
int start()
{
datetime lastBarOpenTime;
datetime thisBarOpenTime = Time[0];
if (DynamicPeriod)
{
if(thisBarOpenTime != lastBarOpenTime)
{
lastBarOpenTime = thisBarOpenTime;
init();
}
}
int i,counted_bars=IndicatorCounted();
if(counted_bars<0) return(-1);
if(counted_bars>0) counted_bars--;
// is this what you are talking about?
int limit=MathMin(Bars-counted_bars,Bars-1);
for(i=limit; i>=0; i--) //MAIN LOOP
{
wherever calculation
}
}
Grazie mladen per la tua rapida risposta...
si prega di dare un'occhiata a questo esempio:
extern int IndicatorPeriod = 10;
extern int AtrPeriod= 10;
extern bool DynamicPeriod = TRUE;
int init()
{
if (DynamicPeriod)
{
double atr = NormalizeDouble(100*iATR(0,0,AtrPeriod,0),0);
IndicatorPeriod = atr;
}
}
int start()
{
datetime lastBarOpenTime;
datetime thisBarOpenTime = Time[0];
if (DynamicPeriod)
{
if(thisBarOpenTime != lastBarOpenTime)
{
lastBarOpenTime = thisBarOpenTime;
init();
}
}
int i,counted_bars=IndicatorCounted();
if(counted_bars<0) return(-1);
if(counted_bars>0) counted_bars--;
// is this what you are talking about?
int limit=MathMin(Bars-counted_bars,Bars-1);
for(i=limit; i>=0; i--) //MAIN LOOP
{
wherever calculation
}
}
AtApi
Se vuoi salvare i valori nel buffer (un valore per tempo esatto per quella barra) allora sì, questo è il modo corretto. Ma se vuoi che tutte le barre siano "ridipinte", allora imposta il linit per essere sempre uguale aBars-1