Marktknigge oder gute Manieren im Minenfeld - Seite 32

 
paralocus писал(а) >>

Das ist zwar möglich, aber unpraktisch, da jeder nachfolgende Aufruf von Comment() die Ergebnisse der vorherigen Ausgabe "verstopft", da er unter Verwendung der gleichen grafischen Koordinaten wie die vorherige Ausgabe erfolgt. Deshalb ist Print() besser;

paralocus, installiere Matkad und kümmere dich nicht um die Schnittstelle. Debuggen Sie das Netz und implementieren Sie es in Ihre MKL.

Sie werden viel Zeit sparen, auch bei der Anpassung an die neue Umgebung.

 

Ich habe es erst gestern gekauft. Ich installiere es jetzt, denn das gute MQL hat mich wirklich verblüfft!

Aber das Gitter lernt in 3 Epochen, wenn man nach dem Skalendump urteilt, und es scheint keine Probleme zu geben:

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

DUMP-WAEGEN

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

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
 

Das war's! Matcad wurde installiert. Ich werde ihn dieses Wochenende kennenlernen.

Neutron, "...und doch dreht es sich!" Die einzelne Schicht funktioniert, lernen Sie. Es ist nur so, dass ich versucht habe, es auf M30 anzusprechen, und dort - Sie wissen ja, was "Muster" sind.

Aber auf H4 - sehen Sie, was es bewirkt. Interessanterweise sollten Sie auch auf die Anzahl der Eingaben und die Anzahl der Epochen achten:

Hier ist D = 7, 24 Epochen:



Und hier D = 5, also 24 Epochen:


 
Neutron >> :

Nein, Petya hat alle Büsche auf dem Hof ausgerissen - er sollte die Quadratwurzel finden:-)

Und Wassili Iwanowitsch schärfte sein Schachbrett - er wurde gebeten, einen Monominanten durch einen Polynominanten zu dividieren...

 
paralocus писал(а) >>

Das war's! Matcad wurde installiert. Ich werde mich dieses Wochenende damit vertraut machen.

Neutron, "...und doch dreht es sich!" . Es handelt sich um eine einzige Schicht, sie ist lernfähig. Ich habe gerade versucht, es auf die M30 zu bringen, aber Sie wissen ja, welche "Regelmäßigkeiten" es dort gibt.

Aber auf H4 - sehen Sie, was es bewirkt. Und was interessant ist, achten Sie auf die Anzahl der Einträge und die Anzahl der Epochen:

Hier ist D = 7, 24 Epochen:

Und hier D = 5, also 24 Epochen:

Herzlichen Glückwunsch, dass es geklappt hat!

Eigentlich sollte man auf M30 keinen Lärm machen... Wenn die Idee funktioniert, wird sie auch auf dem M5 funktionieren. Und noch eine Frage: Wäre das Ergebnis mit M5 nicht insgesamt höher als mit H4? Kürzlich verglich ich H1 und M5 (siehe obigen Thread) - bei M5 sammelte ich mehr als die Hälfte dessen, was bei H1 auf denselben 10.000 Takten. Und der Zeitfaktor ist, wie Sie wissen, 12...

Ich habe es nie geschafft, auf M1 ein vernünftiges Ergebnis zu erzielen.

 
YDzh >> :

Ich habe vor kurzem H1 und M5 verglichen (siehe oben im Thread) - auf M5 habe ich auf denselben 10.000 Balken mehr als die Hälfte dessen gesammelt, was auf H1. Und der Zeitfaktor ist, wie Sie wissen, 12...

Ob das "Kurvenverhältnis" gleich 12 ist, wage ich zu bezweifeln: Vergleichen Sie die "Längen" der Close-Kurve bei diesen TFs. Vor dem Modellversuch dachte ich, dass sie sich um einen Faktor von etwa sqrt( 12 ) unterscheiden sollten. Im Prinzip sind sie annähernd gleich, aber dennoch gibt es Unterschiede (insbesondere wenn die Zeiträume sehr unterschiedlich sind). Hearst muss hier etwas nachgeforscht haben. Hier ist der Code (_bars - Anzahl der Verlaufsbalken in einem flachen Zeitraum):


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 );
}
//+------------------------------------------------------------------+
 

Hallo Alexey, ich weiß nicht, von welchen Kurven du sprichst? Erklären Sie mir das bitte.

Übrigens, wie geht es Ihnen mit den Flunkereien?

Zu YDzh Ich mag Zeitrahmen überhaupt nicht... Ganz und gar nicht. Ich verwende sie nur, weil dieses Übel für mich auf dem Niveau meiner Kenntnisse und Fähigkeiten unvermeidlich ist. Aber ich habe die Ergebnisse meines Experiments:

Mein Gitter hat nur zwei externe Parameter - die Anzahl der Eingaben und die Anzahl der Lernepochen. Das Gitter ist einlagig, selbstlernend und arbeitet mit einer Reihe von ersten Unterschieden aus dem OPEN. Da ich also den Verdacht hatte, dass "meine Freundin", wie Neutron sagt, stark von der Überlagerung dieser beiden Parameter abhängig ist, habe ich sie gestern in den Optimierer gesteckt, um mir das anzusehen...

Der Optimierer hat sich etwa eine Stunde lang den Kopf zerbrochen und mir nur 8 Ergebnisse geliefert! Es war nicht schwer, den besten von ihnen zu finden. Es gibt jedoch keine Ergebnisse für TF 30. D.h. es gibt (innerhalb von hundert) nicht eine solche Anzahl von Eingaben (für dieses Gitter) und eine solche Anzahl von Trainingsepochen, die das Gitter nicht scheitern lassen würden. Und deshalb sollte die rhetorische Frage "...wird es auf M5 besser sein als auf H4 oder nicht" im Kontext der Allgemeinen Relativitätstheorie betrachtet werden - d.h. für wen (was)... wird es sein? Für mein Netz sicher nicht, aber für Ihres ist es vielleicht das Beste...

 

Ich arbeite gerade an den Statistiken für meine 2-Schicht. Es zeigt sich, dass der NS bei Quotienten das Vorzeichen der erwarteten Bewegung noch besser bestimmt, wenn die Gewichte von Epoche zu Epoche beibehalten werden. Nach den Ergebnissen von Experimenten, es stellt sich heraus, etwa 20% vs. 23% richtig erraten. Der Unterschied ist natürlich nicht groß, aber wenn man bedenkt, dass dieser Prozentsatz geht so viel wie die 4. - ist viel wert. Der Effekt macht sich bemerkbar, wenn die Gewichte von Epoche zu Epoche durch w=g*th(w) weitergegeben werden, wobei g ein Koeffizient in der Größenordnung von 0,005 anstelle von 1 ist.

 
Neutron >> :

Der Effekt wird deutlich, wenn die Gewichte von Epoche zu Epoche durch g*th() weitergegeben werden, wobei g ein Koeffizient in der Größenordnung von 0,005 ist.

Ich spüre in meinem Bauch, dass es ganz bestimmte "Grenzen" für die Veränderung der Gewichte gibt... aber ich habe nicht genug Wissen, um es richtig zu formulieren. Das heißt, ich weiß an diesem "Ort", dass das Gewicht nicht so wichtig ist wie die relative Position der Gewichte (eines bestimmten Neurons) auf der numerischen Achse, wenn dies irgendwie erforscht werden könnte... dann könnte man sagen, dass ein Einheitsneuron mit D Eingängen prinzipiell trainierbar ist (auf den gegebenen Vektor) und dass es optimal im Bereich der Gewichte -/+1 oder +/-U trainiert werden kann, wobei U = F(D). Dann könnte sich ein völlig anderes, "biologisches" Lernparadigma herausbilden. Meine intuitive Vermutung hierzu wird durch Ihre Ergebnisse zur Verwendung von g*th() teilweise bestätigt. Von Epoche zu Epoche werden alle Gewichte in einen Stall mit einem bestimmten Erfahrungswert gezwängt, damit sie nicht über die numerische Achse streuen können.

 
Coole Formulierung!
Grund der Beschwerde: