L'étiquette du marché ou les bonnes manières dans un champ de mines - page 32

 
paralocus писал(а) >>

Vous pouvez le faire, mais ce n'est pas pratique, car chaque appel ultérieur à Comment() "bouchera" les résultats de la sortie précédente, puisqu'elle sera effectuée en utilisant les mêmes coordonnées graphiques que la précédente. C'est pourquoi Print() est plus efficace ;

paralocus, installez Matkad et ne vous occupez pas de l'interface. Déboguez le maillage et implémentez-le dans votre MKL.

Vous gagnerez beaucoup de temps, même en vous adaptant au nouvel environnement.

 

Je l'ai acheté hier. Je l'installe maintenant, car le bon MQL m'a vraiment déconcerté !

Mais la grille apprend en 3 époques à en juger par le dump des échelles et semble être sans problème :

------------------------------------------------------------------------------------------------------------------------

ÉCHELLES DE VIDANGE

------------------------------------------------------------------------------------------------------------------------

2009.05.22 18:17:48 Nero AUDUSD,M30 : W : -0.1456 | 7.3647 | 1.1477 | 0.1959 | 0.197 |-0.1281 | -0.8441 | -0.4209 | -0.1956 | -0.044 | 0.0458 | 0.7074 | -0.1706
2009.05.22 18:17:48 Nero AUDUSD,M30 : W : -0.1456 | 7.3647 | 1.1477 | 0.1959 | 0.197 | -0.1281 | -0.8441 | -0.4209 | -0.1956 | -0.044 | 0.0458 | 0.7074 | -0.1706
2009.05.22 18:17:48 Nero AUDUSD,M30 : W : -0.1456 | 7.3647 | 1.1477 | 0.1959 | 0.197 | -0.1281 | -0.8441 | -0.4209 | -0.1956 | -0.044 | 0.0458 | 0.7074 | -0.1706
2009.05.22 18:17:48 Nero AUDUSD,M30 : W : -0.1456 | 7.3647 | 1.1477 | 0.1959 | 0.197 | -0.1281 | -0.8441 | -0.4209 | -0.1956 | -0.044 | 0.0458 | 0.7074 | -0.1706
2009.05.22 18:17:48 Nero AUDUSD,M30 : W : -0.1456 | 7.3647 | 1.1477 | 0.1959 | 0.197 | -0.1281 | -0.8441 | -0.4209 | -0.1956 | -0.044 | 0.0458 | 0.7074 | -0.1706
2009.05.22 18:17:48 Nero AUDUSD,M30 : W : -0.1456 | 7.3647 | 1.1477 | 0.1959 | 0.197 | -0.1281 | -0.8441 | -0.4209 | -0.1956 | -0.044 | 0.0458 | 0.7074 | -0.1706
2009.05.22 18:17:48 Nero AUDUSD,M30 : W : -0.1456 | 7.3647 | 1.1477 | 0.1959 | 0.197 | -0.1281 | -0.8441 | -0.4209 | -0.1956 | -0.044 | 0.0458 | 0.7074 | -0.1706
2009.05.22 18:17:48 Nero AUDUSD,M30 : W : -0.1456 | 7.3647 | 1.1477 | 0.1959 | 0.197 | -0.1281 | -0.8441 | -0.4209 | -0.1956 | -0.044 | 0.0458 | 0.7074 | -0.1706
2009.05.22 18:17:48 Nero AUDUSD,M30 : W : -0.1 | 6.0564 | 1.1419 | 0.1999 | 0.2118 | -0.11 | -0.821 | -0.4656 | -0.1458 | -0.037 | 0.0564 | 0.7267 | -0.1584
2009.05.22 18:17:48 Nero AUDUSD,M30 : W : 0.1164 | 3.5091 | 1.2495 | 0.3147 | 0.3362 | 0.0168 | -0.6902 | -0.8039 | -0.0126 | 0.0312 | 0.1206 | 0.8339 | -0.0615
 

C'est ça ! Matcad a été installé. Je vais apprendre à le connaître ce week-end.

Neutron, "...et pourtant il tourne !" La couche unique fonctionne, apprenez. C'est juste que j'ai essayé d'en parler sur M30, et là - vous savez ce que sont les "modèles".

Mais sur H4 - regarde ce que ça fait. Et, chose intéressante, faites attention au nombre d'entrées et au nombre d'époques :

Ici D=7, 24 époques :



Et ici D = 5, également 24 époques :


 
Neutron >> :

Non, Petya a arraché tous les buissons de la cour - on lui a demandé de trouver la racine carrée :-)

Et Vasily Ivanovich aiguisait son damier - on lui a demandé de diviser un monominant par un polynominant...

 
paralocus писал(а) >>

C'est ça ! Matcad a été installé. Je vais faire connaissance ce week-end.

Neutron, "...et pourtant il tourne !" . C'est une couche unique, c'est l'apprentissage. J'ai essayé de l'évoquer sur le M30, mais vous savez quelles sont les "régularités" là-bas.

Mais sur H4 - regarde ce que ça fait. Et ce qui est intéressant, c'est de faire attention au nombre d'entrées et au nombre d'époques :

Ici D = 7, 24 époques :

Et ici D = 5, également 24 époques :

Félicitations pour avoir réussi à le faire fonctionner !

En fait, vous ne devriez pas faire de bruit sur la M30... Si l'idée fonctionne, elle fonctionnera aussi sur la M5. Et une autre question, le résultat avec M5 ne serait-il pas plus élevé au total qu'avec H4. Récemment, j'ai comparé le H1 et le M5 (voir le fil de discussion ci-dessus) - au M5, j'ai obtenu plus de la moitié de ce que j'ai obtenu au H1 sur les mêmes 10 000 barres. Et le facteur temps, comme vous le savez, est de 12...

Je n'ai jamais réussi à obtenir un résultat raisonnable sur M1.

 
YDzh >> :

J'ai récemment comparé le H1 et le M5 (voir plus haut dans le fil de discussion) - sur le M5, j'ai collecté plus de la moitié de ce que j'ai collecté sur le H1 pour les mêmes 10 000 barres. Et le facteur temps, comme vous le savez, est de 12...

Pour ce qui est du "ratio de courbe" égal à 12, j'ai de grands doutes : comparez les "longueurs" de la courbe Close sur ces TF. Avant l'expérience du modèle, je pensais qu'ils devaient différer d'un facteur d'environ sqrt( 12 ). En principe, c'est à peu près le cas, mais il y a quand même des différences (surtout si les périodes sont très différentes). Hearst a dû faire des recherches ici. Voici le code (_bars - nombre de barres d'historique sur une période peu profonde) :


extern int _grosserPeriod = PERIOD_H1;
extern int _lesserPeriod  = PERIOD_M5;
extern int _bars          = 100000;


int lesser2grosser( int sh )
{
   int dt = iTime( NULL, _lesserPeriod, sh );
   return( iBarShift( NULL, _grosserPeriod, dt, false ) );
}


double len( int from, int period )
{
   double sum = 0;
   for( int i = 0; i < from; i ++ )    
      sum += MathAbs( iClose( NULL, period, i ) - iClose( NULL, period, i + 1 ) );
   return( sum );
}


int start()
{
   double ratio = len( _bars, _lesserPeriod ) / len( lesser2grosser( _bars ), _grosserPeriod );
   double ratioSquared = ratio * ratio;
   int periodsRatio = _grosserPeriod / _lesserPeriod;
   double one = ratioSquared / periodsRatio;
   Print( "one equals " + one );
   return( 0 );
}
//+------------------------------------------------------------------+
 

Salut Alexey, je ne sais pas de quelles courbes tu parles ? Expliquez, si vous le voulez bien, s'il vous plaît.

Au fait, comment ça se passe avec les fibres ?

Pour YDzh je n'aime pas du tout les timeframes... Pas du tout. Je les utilise uniquement en raison du caractère inévitable de ce mal pour moi, à ce niveau de mes connaissances et de mes compétences. Cependant, j'ai les résultats de mon expérience :

Ma grille n'a que deux paramètres externes - le nombre d'entrées et le nombre d'époques d'apprentissage. La grille est monocouche, auto-apprenante, et fonctionne sur une série de premières différences d'OPEN. Alors, ayant soupçonné, comme le dit Neutron, "ma copine" d'être fortement dépendante de la superposition de ces deux paramètres, je l'ai branché hier dans l'optimiseur pour voir...

L'optimiseur s'est creusé les méninges pendant environ une heure et ne m'a donné que 8 résultats ! Il n'était pas difficile de voir le meilleur d'entre eux. Mais il n'y a pas de résultats pour TF 30. C'est-à-dire qu'il n'existe pas (à une centaine près) un tel nombre d'entrées (pour cette grille) et un tel nombre d'époques d'apprentissage qui ne permettraient pas à la grille d'échouer. Et par conséquent, la question rhétorique "...sera-t-elle ou non meilleure sur M5 que sur H4" doit être considérée dans le contexte de la théorie générale de la relativité - c'est-à-dire pour qui (quoi)... le sera-t-il ? Pour ma grille, ce ne sera pas le cas - certainement pas, mais pour la vôtre, ce sera peut-être la meilleure solution...

 

Je suis en train de travailler sur les statistiques de mon 2-couches. Il s'avère que sur les quotients, le NS détermine encore mieux le signe du mouvement attendu si les poids sont conservés d'époque en époque. D'après les résultats des expériences, il s'avère qu'environ 20 % contre 23 % de devinettes correctes. La différence, bien sûr, n'est pas grande, mais si l'on considère que ce pourcentage va jusqu'au 4ème degré dans la rentabilité des TS ... - a une grande valeur. L'effet devient notable si les poids d'une époque à l'autre passent par w=g*th(w), où g est un coefficient de l'ordre de 0,005 plutôt que de 1.

 
Neutron >> :

L'effet devient sensible si les poids d'une époque à l'autre sont passés par g*th(), où g est un coefficient de l'ordre de 0,005.

Je sens dans mes tripes qu'il y a certaines "limites" à la modification des poids... mais je n'ai pas assez de connaissances pour la formuler correctement. En d'autres termes, je sais qu'à cet "endroit", le poids n'est pas aussi important que la position relative des poids (d'un neurone particulier) sur l'axe numérique, si cela pouvait être sondé d'une manière ou d'une autre... alors, en cas de succès, nous pourrions dire que si le neurone unitaire avec D entrées est entraînable en principe (sur le vecteur donné), il peut être entraîné de manière optimale dans la plage des poids -/+1, ou +/-U, où U = F(D). Un paradigme d'apprentissage entièrement différent, "biologique", pourrait alors émerger. Ma spéculation intuitive à ce sujet est partiellement confirmée par vos résultats sur l'utilisation de g*th(). En fait, d'une époque à l'autre, vous rassemblez tous les poids dans une stalle d'une certaine valeur empirique, sans leur permettre de se disperser sur l'étendue de l'axe numérique.

 
Super formulation !
Raison: