Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Da nessuna parte senza di te - 6. - pagina 563

 
AlexeyVik:

Bene, allora devi capire cosa vuoi scrivere prima, un EA o un indicatore...

Forse mi sono perso qualcosa, ma la mia comprensione è che sarebbe un indicatore...

Ho già un indicatore. Anche EA, ma non sono soddisfatto della velocità di ottimizzazione.

Ho cambiato alcune corde e sembra che la velocità sia migliorata. Non so se è corretto?

int counted_bars=IndicatorCounted(),
   i,limit1,limit2,limit3,limit4; 
limit1=Bars-counted_bars-1;
   limit2=limit1;
   limit3=limit2;
   limit4=limit3;
   if(limit1>0) 
     {
      limit1=limit1-Period_MA_1-1;
      limit2=limit1-p2;
      limit3=limit2-p3;
      limit4=limit3-p4;
     }

Ho sostituito Bars all'interno dell'operatore condizionale con limit1.

Se ho capito bene

limit1=Bars-counted_bars;//расчитываем количество непосчитанных баров

e poi sottraiamo il periodo e calcoliamo il resto delle variabili.

Una cosa che non capisco, se Bars è il numero di barre nella finestra, si sottraggono le barre non contate.

Più ne abbiamo di non contati, meno il numero che otteniamo dopo la sottrazione e quindi meno iterazioni nel ciclo.

Ma è viceversa. Quindi, IndicatorCounted(), in parole povere, è quante barre più vecchie della prima?

Il codice originale è a p. 560. Solo senza queste linee:

double impuls;
   if(counted_bars<0) return(-1);
   if(counted_bars>0) counted_bars--;
 

come questo

int start()
  {
   int counted_bars=IndicatorCounted(),
   i,limit1,limit2,limit3,limit4;
   double impuls;
   if(counted_bars<0) return(-1);
   if(counted_bars>0) counted_bars--;
 
   limit1=Bars-counted_bars-1;
   for(i=limit1;i>=0;i--) ExtMapBuffer1[i]=Close[i]-Close[i+Period_MA_1];
   for(i=limit1;i>=0;i--) ExtMapBuffer2[i]=iMAOnArray(ExtMapBuffer1, 0, p2, 0, MODE_EMA,i);
   for(i=limit1;i>=0;i--) ExtMapBuffer3[i]=iMAOnArray(ExtMapBuffer2, 0, p3, 0, MODE_EMA,i);
   for(i=limit1;i>=0;i--) ExtMapBuffer4[i]=iMAOnArray(ExtMapBuffer3, 0, p4, 0, MODE_EMA,i);
   return(0);
  }
 
alxm:

L'etichetta non segue il grafico...

Ora ho provato laproprietà OBJPROP_XSIZE dell'oggetto LABEL, ma non funziona. Cioè restituisce 0. Non è stato implementato?
 
alxm:

Ora ho provato ausare la proprietà OBJPROP_XSIZE dell'oggetto LABEL, ma non funziona neanche questo. Restituisce 0. Non è stato implementato?

Non ho controllato con OBJ_LABEL, ma funziona con OBJ_EDIT. A proposito, potete ancheusarlo al posto di OBJ_LABEL, ancora più interessante e potete impostare il colore dello sfondo e della cornice. Se impostiamo OBJPROP_READONLY = true,non lo distinguerete da OBJ_LABEL.


Sembra così. SPREAD 30 è OBJ_LABELe il resto è OBJ_EDIT .

Sì, ho controllato, non funziona con OBJ_LABEL.

 
AlexeyVik:

Non ho controllato con OBJ_LABEL, ma funziona con OBJ_EDIT. A proposito, si può ancheusare OBJ_LABEL invece di OBJ_LABEL, ancora più interessante e si può impostare il colore dello sfondo e della cornice. Se impostate OBJPROP_READONLY = true,non lo distinguerete da OBJ_LABEL.


Sembra così. SPREAD 30 è OBJ_LABELe il resto è OBJ_EDIT .

Sì, ho controllato, non funziona con OBJ_LABEL.


Grazie! Potete dirmi come usare TextOut per visualizzare una linea di testo sullo schermo. Non sono riuscito a capirlo con l'aiuto di
 
alxm:

Grazie! Potete dirmi come usare TextOut per visualizzare una linea di testo sullo schermo. Non sono riuscito a capirlo dalla guida.
Non ho cercato di capirlo. Forse qualcuno di MQ può dirmelo.Che possano spiegare anche OBJPROP_XSIZE dell'oggetto OBJ_LABEL ...
 
AlexeyVik:
Non ho cercato di capirlo. Forse qualcuno di MQ può dirmelo.Possono anchespiegare OBJPROP_XSIZE dell'oggetto OBJ_LABEL ...


A quale ramo devo fare una domanda?
 
Dimmi il nome dello script - mostra la storia dei trade in un conto demo.
 
Per favore consigliate come spiegare all'EA di chiudere tutto quando la bollinger viene toccata.
 
Ciao a tutti .... potete dirmi come fissare il valore di una variabile in uno script?
Motivazione: