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

 
999666:

Ecco la funzione

Il consigliere stesso è allegato


Strani nomi di variabili, lo fa il decompilatore)))
 
artmedia70:

Merda, Boris. Ho già scritto prima. Bene, fai una simulazione di spread fluttuante direttamente nel tuo EA. Cosa ti impedisce di aggiungere un numero casuale nell'intervallo di spread fluttuante all'offerta e di aprire con ordini stop. E chiudere per valore, non per ordini di stop. È più complicato che impostare uno spread statico più grande, ma se ne hai davvero bisogno, puoi farlo. Allo stesso tempo, nel tester, impostare lo spread minimo.

Questo è solo ... Questo è solo un modo di pensare.

Ho controllato e, purtroppo, questa non è la soluzione! Errore 138! È abbastanza chiaro che ora il tester e l'Expert Advisor hanno diversi Ask! È per questo che rakevotes! Adattare l'algoritmo allo spread non ha senso!

Per ora userò la diffusione costante aumentata. Forse gli sviluppatori imiteranno lo spread che cambia e i ritardi nell'esecuzione degli ordini!

Se fossi a Mosca ti inviterei a mangiare frittelle! :))

Ma qui ho solo crepes. :(( Ma ti avrei invitato comunque!

 

Saluti agli utenti del forum!

Puoi consigliare a un principiante perché il codice di cui sopra cancella ogni altro oggetto? Ne rimane la metà. Cosa c'è che non va?

int deinit()
  {
  int    obj_total=ObjectsTotal();
  
  for(int i=0;i<obj_total;i++)
      {
      ObjectDelete(ObjectName(i)); 
      }
   return(0);
  }
 
Parkhom:

Saluti agli utenti del forum!

Puoi consigliare a un principiante perché il codice di cui sopra cancella ogni altro oggetto? Ne rimane la metà. Cosa c'è che non va?

E così:

int deinit()
  {
  ObjectsDeleteAll();
  return(0);
  } 
 
r772ra:

E così:


OK, mettilo in riserva :) Se non si può fare in altro modo.

ObjectsDeleteAll() - cancella tutto. Voglio che sia bello e che cancelli glioggetti disegnati dall'indicatore.

 
Parkhom:


Per esempio: "Ok, l'ho lasciato in standby :) Se non c'è altro modo.

ObjectsDeleteAll() - cancella tutto. Ma voglio che sia carino e che cancelli glioggetti disegnati dall'indicatore.

int deinit() {
// -------- Блок удаления всех объектов, построенных на графике --------
   string Name_Del[1]; 
   int Quant_Del=0;                    
   int Quant_Objects=ObjectsTotal();   
   int LenPref=StringLen(Prefix);
   ArrayResize(Name_Del,Quant_Objects);
   for(int k=0; k<Quant_Objects; k++) {
      string Obj_Name=ObjectName(k);   
      string Head=StringSubstr(Obj_Name,0,LenPref);
      if (Head==Prefix) {                              
         Quant_Del+=1;        
         Name_Del[Quant_Del-1]=Obj_Name;
         }
     }
   for(int i=0; i<Quant_Del; i++) ObjectDelete(Name_Del[i]); 
// ----- Конец блока удаления всех объектов, построенных на графике -----
   return(0);
}

In init(), dovete anche inizializzare la variabile Prefix dichiarata globalmente

Per esempio:

int init() {
   IndicatorShortName("IB_"+Symbol());
   Prefix="IB_"+Symbol();
//-----------------------------
   SetIndexBuffer(0, isbup);
   SetIndexStyle(0,DRAW_ARROW);
   SetIndexArrow(0,181);
   SetIndexEmptyValue(0,0.0);
   SetIndexLabel(0,"Long Signal");
//-----------------------------
   SetIndexBuffer(1, isbdn);
   SetIndexStyle(1,DRAW_ARROW);
   SetIndexArrow(1,181);
   SetIndexEmptyValue(1,0.0);
   SetIndexLabel(1,"Short Signal");
//-----------------------------
   SetIndexBuffer(2, arrup);
   SetIndexStyle(2,DRAW_LINE);
   SetIndexArrow(2,159);
   SetIndexEmptyValue(2,EMPTY_VALUE);
   SetIndexLabel(2,"Long Level");
//-----------------------------
   SetIndexBuffer(3, arrdn);
   SetIndexStyle(3,DRAW_LINE);
   SetIndexArrow(3,159);
   SetIndexEmptyValue(3,EMPTY_VALUE);
   SetIndexLabel(3,"Short Level");
//-----------------------------
   return(INIT_SUCCEEDED);
}
 
borilunad:

Ho controllato e purtroppo non è la risposta! Appare l'errore 138! È abbastanza comprensibile che il tester e l'esperto abbiano ora domande diverse! È per questo che rakevotes! Adattare l'algoritmo allo spread non ha senso!

Per ora userò la diffusione costante aumentata. Forse gli sviluppatori imiteranno lo spread che cambia e i ritardi nell'esecuzione degli ordini!

Se fossi a Mosca ti inviterei a mangiare frittelle! :))

E qui ho solo crepes. :(( Ma ti avrei invitato comunque!

Ti ho detto di non aprire sul mercato, ma di usare gli ordini di stop. Te l'ho detto subito.

E grazie per le frittelle. Puoi mandarmeli via Skype. ;)

 
Parkhom:


L'ho messo in attesa :) Se non c'è altro modo.

ObjectsDeleteAll() - cancella tutto. Ma voglio avere un bell'effetto e cancellare glioggetti disegnati dall'indicatore.


Volete cercarli e cancellarli per nome? O forse avete mezzo migliaio di oggetti lì?


E se in un ciclo, vale la pena provare la sequenza inversa in un ciclo

 for(int i=obj_total-1;i>=0;i--)
      {
      ObjectDelete(ObjectName(i)); 
      }
 
Ho iniziato a testare il mio Expert Advisor, ho iniziato ad avere problemi con il tester, vorrei chiedere ai tester esperti quanto può aggravare il tester? Non sono sicuro di quanti problemi abbia il tester, ma mi piacerebbe sapere quanti ne ha il tester.
 
Burger:
Ho iniziato a testare il mio Expert Advisor, ho iniziato ad avere problemi con il tester, vorrei chiedere ai tester esperti quanto può aggravare il tester? Non so, ho iniziato a testare il mio tester, ha iniziato ad avere problemi con esso, vorrei chiedere ai "tester" esperti quanto il tester può peggiorare.
Cosa c'entra il tester?
Motivazione: