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

 
granit77:
Probabilmente avete una bozza o un codice incompleto. L'indicatore è cablato e nessuna delle variabili esterne è usata nel codice.

Quello che ho scaricato è quasi tutto. Ho ritagliato solo le coordinate.
 
Dersu:
Li ho scaricati quasi tutti. Ho ritagliato solo le coordinate.

Qualcosa di incompiuto, ma funziona così. Mostra la differenza tra l'OBV e la sua linea smussata. Emesso l'unico parametro che influisce su qualcosa (grado di lisciatura), nient'altro da cambiare.

//---- indicator settings
#property indicator_separate_window
#property indicator_buffers 1
#property indicator_color1 Silver
//---- indicator parameters
extern int SignalSMA=10;
//---- indicator buffers
double ind_buffer1[];
double ind_buffer2[];
double ind_buffer3[];
double ind_buffer4[];

//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- 2 additional buffers are used for counting.
IndicatorBuffers(4);
//---- drawing settings
SetIndexStyle(0,DRAW_LINE);
SetIndexDrawBegin(0,SignalSMA);
IndicatorDigits(MarketInfo(Symbol(),MODE_DIGITS)+2);
//---- 3 indicator buffers mapping
if(!SetIndexBuffer(0,ind_buffer1) &&
!SetIndexBuffer(1,ind_buffer2) &&
!SetIndexBuffer(3,ind_buffer4) &&
!SetIndexBuffer(2,ind_buffer3))
Print("cannot set indicator buffers!");
//---- name for DataWindow and indicator subwindow label
  IndicatorShortName("OBV_M");
//---- initialization done
return(0);
}
//+------------------------------------------------------------------+
//| Moving Average of Oscillator |
//+------------------------------------------------------------------+
int start()
{
int limit;
int counted_bars=IndicatorCounted();
//---- check for possible errors
if(counted_bars<0) return(-1);
//---- last counted bar will be recounted
if(counted_bars>0) counted_bars--;
limit=Bars-counted_bars;
//---- macd counted in the 1-st additional buffer
for(int i=0; i<limit; i++)
ind_buffer2[i]=iOBV(NULL, 0, PRICE_CLOSE, i);
//---- signal line counted in the 2-nd additional buffer
for(i=0; i<limit; i++) {
ind_buffer3[i]=iMAOnArray(ind_buffer2,Bars,SignalSMA,0,MODE_SMA,i);
//ind_buffer4[i]=iMAOnArray(ind_buffer2,Bars,3,0,MODE_SMA,i);
}
//---- main loop
for(i=0; i<limit; i++)
ind_buffer1[i]=ind_buffer2[i]-ind_buffer3[i];
//---- done
return(0);
}
//+------------------------------------------------------------------+
 

Grazie, granit77.

Ho cancellato il parametro ("OBV_M") lì, scusate.

Capisco la situazione in generale e la accetto.

E il tuo primo commento chiarisce tutto, mi ha dato la conoscenza, grazie.

 
Ho controllato e tutto è a posto.
 

Buona giornata!

Nella scheda Esperti ho ricevuto questo messaggio "Gli esperti sono disabilitati perché l'account è stato cambiato".

Qual è la ragione, qualcuno ha incontrato questo?


Ho deciso di chiarirlo.

Ho ricevuto questo messaggio in entrambi i terminali di una stessa società di intermediazione.

Uno di questi è il conto demo e l'altro è il conto reale.

 
Quando si cambia account sul terminale, gli EA sono bloccati per impostazione predefinita. Deseleziona la casella in Service-Settings-Advisors-Disable EAs when changing accounts.
 
Roger, ma non ho cambiato i conti.
 
Potrebbe essere dovuto all'installazione di un altro terminale dello stesso CC?
 
Potete dirmi perché a volte quando cerco di creare un ordine un messaggio di errore 130. Anche se lo stop è ok. naturalmente, l'Expert Advisor può cercare di piazzare un ordine vicino al mercato, ma perché l'errore 130 - come posso combattere questo?
 
T-G:
Potete dirmi perché a volte quando cerco di creare un ordine un messaggio di errore 130. Anche se lo stop è ok. naturalmente, l'Expert Advisor può cercare di piazzare un ordine vicino al mercato, ma perché l'errore 130 - come posso combattere questo?
Puoi darmi il codice? E troveranno l'errore... :)
Motivazione: