apprenez comment gagner de l'argent avec les villageois [Episode 2] ! - page 122

 
vladds:

Les Roms se sont retrouvés coincés avec la présentation ! Je suppose qu'il a façonné le Graal lui-même ! :)

Roma ! !! On t'attend !

Je reviens du sauna...

Je le posterai demain. Ce n'est pas un graal - c'est un système de trading basé sur l'algorithme d'Ilan... :-)

 
Roman.:

Seulement - juste à côté du sauna...


Comme les filles ???? Où sont les photos ? ??? :)))))))))))))
 
BeerGod:
Dois-je l'exposer, avec la paire recommandée et le calendrier, ainsi que le type de dépo dont j'ai besoin ?

OK ! Je vais d'abord présenter la description et les paramètres de l'EURUSD à titre d'exemple.

Je n'ai pas encore commencé à choisir les instruments réels et les paramètres pour ce TS, parce que jusqu'à présent j'utilise le reverse martin sur le même système, seulement ici quand vous atteignez le stop, la moyenne se produit dans la direction de l'ordre initial, et dans le reverse se produit avec le renversement de la position précédente, ici et là sur des volumes plus importants. J'ai commencé à travailler sur reverse martin encore plus tôt et je voulais plus ou moins l'améliorer. Je l'ai fait. Si j'ai plus de profit, je commencerai à utiliser cette variante d'Ilan également. Je le posterai dans un fil demain. Ne me donnez pas de coup de pied pour un code, car certaines questions ont été résolues directement, par exemple, le calcul des volumes en fonction d'une variante de moyennage (il était possible de l'écrire par des formules, par exemple, pour la progression arithmétique, je l'ai fait seulement pour la variante classique d'Ilan, les autres types de moyennage sont faits par l'opérateur cas :), exemple de code :

... 
// Ордер закрылся с убытком - считаем количество усреднений, новый lots, усредняем цену открытия  в ТОМ ЖЕ направлении
            // при условии, что общее количество усреднений не выше максимального по соответствующему варианту ММ для усреднения  
         
          if (Iteration <= Max_Iteration && VAR_MM == 0)                  
              // Последующие лоты открываются по множителю в соответствие с числами ФИБО           
               switch(Iteration)                                  // Заголовок switch 
                   {                                              // Начало тела switch                  
                     case 1 : Lots_New = lastLots * 1; lots = lastLots; Print("Iteration = ", Iteration, " Lots_New = ", Lots_New );break; //расчет нового объема       
                     case 2 : Lots_New = lots * 2;    Print("Iteration = ", Iteration, " Lots_New = ", Lots_New);  break;   
                     case 3 : Lots_New = lots * 3;    Print("Iteration = ", Iteration, " Lots_New = ", Lots_New);  break;      
                     case 4 : Lots_New = lots * 5;    Print("Iteration = ", Iteration, " Lots_New = ", Lots_New);  break;  
                     case 5 : Lots_New = lots * 8;    Print("Iteration = ", Iteration, " Lots_New = ", Lots_New);  break;     
                     case 6 : Lots_New = lots * 13;   Print("Iteration = ", Iteration, " Lots_New = ", Lots_New);  break;      
                    ...       
                     case 16: Lots_New = lots * 1597; Print("Iteration = ", Iteration, " Lots_New = ", Lots_New);  break;    
                     case 17: Lots_New = lots * 2584; Print("Iteration = ", Iteration, " Lots_New = ", Lots_New);  break;
                     case 18: Lots_New = lots * 4181; Print("Iteration = ", Iteration, " Lots_New = ", Lots_New);  break;
                     case 19: Lots_New = lots * 6765; Print("Iteration = ", Iteration, " Lots_New = ", Lots_New);  break;                                                   
                     case 20: Lots_New = lots * 10946;Print("Iteration = ", Iteration, " Lots_New = ", Lots_New);  break;                           
                     default: Lots_New = lots * 17711; {Iteration = 0; Print("Выход за пределы. Iteration = ", Iteration, " Lots_New = ", Lots_New ); }                      
                   }                                    // Конец тела switch      
                    
           if (Iteration <= Max_Iteration && VAR_MM == 1)
              //Последующие лоты открываются по ИЛАНУ через экспоненту: iLots = NormalizeDouble(Lots * MathPow(LotExponent, NumOfTrades), lotdecimal);
               switch(Iteration)                        // Заголовок switch 
                   {                                    // Начало тела switch    
                  // case 0 : Lots_New = lots;  Print("старт, Lots_New = ", Lots_New );break; // СТАРТ                
                     case 1 : Lots_New = lastLots * 1; lots = lastLots; Print("Iteration = ", Iteration, " Lots_New = ", Lots_New );break; //расчет нового объема                                                                                                                        
                     // расчет последующих объемов, открываемых позиций, начиная с объема ПЕРВОЙ-case 1
                     default: Lots_New = lots * MathPow(LotExponent, Iteration); Print("Iteration = ", Iteration, " Lots_New = ", Lots_New);                                                                    
                   }                                   // Конец тела switch  
                
          if (Iteration <= Max_Iteration && VAR_MM == 2)// Последующие лоты открываются в соответствие с классическим мартином - удвоение           
               switch(Iteration)                       // Заголовок switch 
                   {                                   // Начало тела switch                       
                     case 1 : Lots_New = lastLots * 1; lots = lastLots; Print("Iteration = ", Iteration, " Lots_New = ", Lots_New );break; //расчет нового объема       
                     case 2 : Lots_New = lots * 2;    Print("Iteration = ", Iteration, " Lots_New = ", Lots_New);  break;   
                     case 3 : Lots_New = lots * 4;    Print("Iteration = ", Iteration, " Lots_New = ", Lots_New);  break;      
                     case 4 : Lots_New = lots * 8;    Print("Iteration = ", Iteration, " Lots_New = ", Lots_New);  break;  
                    ...                                              
                     case 16: Lots_New = Lots * 32768;Print("Iteration = ", Iteration, " Lots_New = ", Lots_New);  break;
                     case 17: Lots_New = Lots * 65536;Print("Iteration = ", Iteration, " Lots_New = ", Lots_New);  break;                                                                  
                     default: Lots_New = lots * 65536; {Iteration = 0; Print("Выход за пределы. Iteration = ", Iteration, " Lots_New = ", Lots_New ); }                      
                   }                          
                   
         if (Iteration <= Max_Iteration && VAR_MM == 3)// Последующие лоты открываются в соответствие с членами ар прогрессии           
               switch(Iteration)                       // Заголовок switch 
                     {                                 // Начало тела switch         
                     case 1 : Lots_New = lastLots * 1; lots = lastLots; Print("Iteration = ", Iteration, " Lots_New = ", Lots_New );break; //расчет нового объема            
                     case 2 : Lots_New = lots * 3;    Print("Iteration = ", Iteration, " Lots_New = ", Lots_New );  break;   
                     case 3 : Lots_New = lots * 5;    Print("Iteration = ", Iteration, " Lots_New = ", Lots_New );  break;   
...
 
TEXX:

Comment vont les filles ???? Où sont les photos ? ??? :)))))))))))))

Gud... :-)

 

Je colle une variante de combat (IMHO, parce que je n'ai aucun problème avec la gestion des erreurs (requotes, etc.)) de ILAN_OSMA_2012_NEW pour le commerce réel avec l'indicateur JQS iOsMA et avec un ensemble pour l'optimisation. Les niveaux de prise et d'arrêt sont virtuels, et non pas pour montrer leur valeur réelle. Largeur du canal - dynamique, calculée en utilisant l'indicateur ATP. Le code - fonctionnel (pas la version finale) - "Not a clue" - ouvert pour d'autres modifications et tests.

Les variables sont commentées dans le code.

Notes :

Si la négociation du pourcentage MaxRisk du solde a une valeur non nulle, par exemple 0,05, alors la valeur de la variable Lots doit être rendue égale à zéro.

La valeur de la variable s_signal_period = 15, chargée de travailler au TF correspondant dans le test, doit être égale au TF du test, par exemple, ici pour M15 cette valeur est 15.

J'ai supprimé le chalut, car la pratique a montré qu'il n'est pas vraiment nécessaire sur les petites TF et ce type de TS... :-)

En d'autres termes, il n'y a pas de limite de temps pour entrer sur le marché avec l'ordre de départ, de sorte qu'il fonctionne tout le temps :

extern int Filter.Hour=0;       //  Д-Фильтр: торговля по часам, вне этих часовых рамок новые сделки не открывать, но текущие усреднения завершать
extern int     Start=0;
extern int      End=23;


Il est donc possible d'opter pour des outils par une recherche manuelle des TF (de M5 à H4), car, comme la pratique l'a montré, il est préférable de le faire que d'opter pour des TF, car l'optimisation de la meilleure TF ne donne pas toujours les bons résultats.

En haut à gauche s'affichent les paramètres requis pour le trading, tester par les prix d'ouverture, le testeur montre que la moyenne se produit lorsque la largeur du canal est dépassée, en appuyant sur pause dans le testeur et à travers le réticule vous pouvez voir que la moyenne se produit STRICTEMENT lorsque la largeur du canal est dépassée :


Le testeur refuse de sauvegarder le rapport, c'est pourquoi je joins des photos d'une des options pour le test des eurobucks sur l'historique Alpari sur TF M15, optimisation de début 2010 à aujourd'hui :

Dans cette variante, les volumes suivants sont piqués en fonction des nombres Fibo, paramètre VAR_MM = 0 :

Je serais reconnaissant si quelqu'un pouvait poster et exposer les paramètres de travail pour les instruments plats.

Si la largeur du canal est trop grande, alors l'outil est peut-être trop plat, mais je ne sais pas comment le choisir... Si la largeur du canal est trop étroite, alors l'outil est peut-être trop étroit.

Si la largeur du canal est trop grande, les transactions et les profits seront peu nombreux, et si la largeur du canal est trop petite, la probabilité de perte augmentera.

Pour les Ilans et les Avalanches, si c'est inférieur à 100% par an, c'est BON ! IMHO !

Dossiers :
_.zip  49 kb
 

Буду благодарен, если кто пооптит и выложит рабочие настройки!

C'est parti ! :)
 
Ça ne marche pas encore très bien !
 
vladds:
Il y a quelque chose qui ne marche pas très bien jusqu'à présent !

Ce n'est pas un processus rapide... :-)

Encore une fois, je suis partisan d'un tel rendement qui peut atteindre 100 % par an - c'est déjà une bonne chose pour Ilan/Lavina ! IMHO !

Mais pas de manière à ce qu'un DEP, disons 1000$ soit battu en 10 parties et ensuite successivement à partir de 100$ - commence avec la possibilité de retirer 1000% et avec une probabilité beaucoup plus élevée d'être drainé, c'est-à-dire

des transactions relativement plus sûres pour le dépôt, c'est-à-dire avec un rendement annuel d'environ 100 % et avec une probabilité plus élevée de ne pas perdre ce dépôt ! Que - un 100 - flush, deux - 100 - flush, trois 100 - flush, quatre 100 - flush à 2000 $ pour six mois, disons. Je n'aime pas ce commerce.


 
Je ne vois pas dans les paramètres SL et TP comment les configurer ?
 
vladds:
Je ne vois pas dans les paramètres SL et TP comment les régler ?
De la valeur de l'indicateur APR sur la volatilité quotidienne (plus elle est élevée, plus le canal est large) :
extern int Period_ATR = 30;       // значение АТР для расчета динамического канала
extern double Mul_TP = 4.0;       // целевая прибыль в единицах волатильности (АТР)
extern double Mul_Sl = 0.8;       // защитная остановка с последующим усреднением при ее сработке уже 
                                  // увеличенным лотом в единицах волатильности (АТР)