Come ottimizzare correttamente un consulente - pagina 5

 
Loring писал (а) >>
Non pretendo di essere onnipotente... >> È ancora grezzo, ma sembra avere diritto alla vita... Ho bisogno di persone che la pensino come me (programmatori) che possano aiutare con l'idea... Da qualche parte e io li aiuterò. Ho esperienza...

Puoi essere più specifico? Se sei timido (scherzo), le coordinate sono nel profilo.

 

Vinin, controlla la tua email... Sto leggendo il tuo VininE Game in questo momento. Molto elegante. La Russia è ricca di persone intelligenti...

 
Ho trovato uno sfortunato errore nel calcolo della dimensione del lotto. Mi scuso in anticipo... Senza offesa... Sfondo pedagogico...
       double lot = NormalizeDouble(AccountFreeMargin() * MaximumRisk/100000/step,1); //*step
Grande algoritmo di reinvestimento. Non capisco. Guarderò i manuali mentre l'Expert Advisor è in esecuzione nel tester...
 
Loring писал (а) >>
Ho trovato uno sfortunato errore nel calcolo della dimensione del lotto. >> Mi scuso in anticipo... Senza offesa. Sfondo pedagogico. Algoritmo di grande reinvestimento. Non capisco. Guarderò i manuali mentre il mio Expert Advisor è in funzione nel tester...

Forse mi sono dimenticato di moltiplicare per il passo. E l'arrotondamento dello 0.

 

Al contrario, ho fatto una moltiplicazione extra... Il lotto è diminuito immediatamente di un ordine di grandezza e l'algoritmo lo ha sempre smussato a 0,1... Ho la sensazione che potrebbe non funzionare in giapponese. Dividi per un coefficiente fisso, e dovrebbe, come sembra, essere dominato da Punto... Lo controllerò più tardi.

Ma il modo in cui ha ingoiato molto... Il profitto cresce a passi da gigante. Solo il rischio non è assolutamente chiaro (capisco 1/MaximumRisk). Lo convertirò in percentuali per me stesso... È bene quando ho il codice sorgente, altrimenti mi chiedevo perché il rischio è impostato come un intero, e con un punto decimale....

 
Loring писал (а) >>

Al contrario, ho fatto una moltiplicazione extra... Il lotto è diminuito immediatamente di un ordine di grandezza e l'algoritmo lo ha sempre smussato a 0,1... Ho la sensazione che potrebbe non funzionare in giapponese. Dividi per un coefficiente fisso, e dovrebbe, come sembra, essere dominato da Punto... Lo controllerò più tardi.

Ma il modo in cui ha ingoiato molto... Il profitto cresce a passi da gigante. Solo il rischio non è assolutamente chiaro (capisco 1/MaximumRisk). Lo convertirò in percentuali per me stesso... È bene quando ho il codice sorgente, ho avuto molto tempo per capire perché il rischio è dato come un intero, e con un punto decimale....

Ecco la mia funzione.

double getLots() {
   if (MaximumRisk>0) {
      double minlot=MarketInfo(Symbol(),MODE_MINLOT);
      double maxlot = MarketInfo(Symbol(), MODE_MAXLOT);       
      double step=MarketInfo(Symbol(),MODE_LOTSTEP);

      double lot = NormalizeDouble(AccountFreeMargin() * MaximumRisk / 100000.0/step, 0)*step; 
      lot=MathMax(MathMin(lot,maxlot),minlot);
      
   }
   else lot=Lots;
   return(lot); 
}
E la lettera fu letta e rispose. Ma ci sono più domande che risposte.
 

Grazie per la risposta...

E NormalizeDouble arrotonda a un intero e il passo del lotto è 0,1 ... Il risultato è lotto =0 e

lot=MathMax(MathMin(lot,maxlot),minlot);
lo allinea a minlot... Testato più di una volta da semplici stampe di log... Dopo che l'arrotondamento è stato corretto è uscita una moltiplicazione extra per passo... Controllato anche... Se lo sostituisci con la mia variante, allora l'algoritmo di reinvestimento è abilitato e ogni lotto successivo cresce con il rischio consentito... o non capisco il programma... Vi mostrerò quello che ho.
 
Loring писал (а) >>

Grazie per la risposta...

E NormalizeDouble arrotonda a un intero e il passo del lotto è 0,1 ... Il risultato è lotto =0 e

>> lo pareggia a minlot... Controllato più di una volta da semplici stampe di registro... Dopo che l'arrotondamento è stato corretto, è uscita la moltiplicazione extra per passo... Controllato anche... Se lo sostituisci con la mia variante, allora l'algoritmo di reinvestimento è abilitato e ogni lotto successivo cresce con il rischio consentito... o non capisco il programma... Vi mostrerò quello che ho...

Forse c'è uno 0 in più nella divisione.

E vorrei vedere il risultato.

 

Quindi questo è quello che è venuto fuori ...

 
e di conseguenza