Diskussion zum Artikel "Genetische Algorithmen - Leicht gemacht!" - Seite 19

 
Andrey Dik:
Sie haben vor, etwas zu optimieren, nicht wahr? Also müssen Sie dieses "etwas" in Form von FF darstellen, es kann zum Beispiel die Anzahl der Gewinnpunkte auf den Indikatorsignalen sein. Das ist die FF.
Ich habe etwas zu fragen, über FF, zum Beispiel, wenn es wie die Beratung gegeben ist, wo die Optimierung Materie, ob diese UGA kann die Möglichkeit der Gewinn, der gesagt wurde oder etwas anderes zu speichern, und ob bei der Einstellung der optimalen Indikator-Parameter, ob es sollte ich tun, virtuelle Tests wie der EA-Beispiel, das ich sehe, und sorry, wenn dies beleidigt, Genetische Algorithmen sind zufällig, wie können wir sicher sein, es ist optimal, und wenn möglich geben wir eine gute Bedingung, um genetische Algorithmen optimieren Parameter Indikatoren, zum Beispiel können wir es von historischen Kauf und Gewinn Bedingungen mit wie viele Punkte und genetische Algorithmen verwenden ähnliche Daten in der Zukunft und führen Sie die Optimierung, ist das ein guter Weg, es zu benutzen, ich kann nicht an etwas anderes denken, wenn es falsch ist, sagen Sie mir bitte eine gute Verwendung Beispiel, wenn ohne, weil und wenn es ausgeführt wird dann optimale Ergebnisse herauskommen, wie die Eingabe von Zufallszahlen, u Glücklich jetzt, geben Sie die Zufallszahl wieder und dann verlieren, und so weiter, ist es nicht mehr eine Vermutung.
 
SALEH:
Ich habe etwas zu fragen, über FF, zum Beispiel, wenn es wie die Beratung gegeben ist, wo die Optimierung Materie, ob diese UGA kann die Möglichkeit der Gewinn, der gesagt wurde oder etwas anderes zu speichern, und ob bei der Einstellung der optimalen Indikator-Parameter, ob es sein sollte, ich tun virtuelle Tests wie die EA-Beispiel, das ich sehe, und sorry, wenn dies beleidigt, Genetische Algorithmen sind zufällig, wie können wir sicher sein, es ist optimal, und wenn möglich geben wir eine gute Bedingung, um genetische Algorithmen optimieren Parameter Indikatoren, zum Beispiel können wir es von historischen Kauf und Gewinn Bedingungen mit wie viele Punkte und genetische Algorithmen verwenden ähnliche Daten in der Zukunft und führen Sie die Optimierung, ist das ein guter Weg, es zu benutzen, ich kann nicht an etwas anderes denken, wenn es falsch ist, bitte sagen Sie mir eine gute Verwendung Beispiel, wenn ohne, weil und wenn es ausgeführt wird dann optimale Ergebnisse herauskommen, wie die Eingabe von Zufallszahlen, u Glücklich jetzt, geben Sie die Zufallszahl wieder und dann verlieren, und so weiter, ist es nicht mehr eine Vermutung.

Genetische Algorithmen verwenden nicht von sich aus Zufallszahlen, sondern eine Wahrscheinlichkeitsverteilung. Da niemand die Zukunft kennt, verwenden die Menschen immer die Wahrscheinlichkeitsverteilung, um JEDE Entscheidung zu treffen.Sie können die gesamte Iteration der Parameter verwenden, aber Sie werden nicht alle verwenden. Sie müssen entscheiden, welche Option Sie verwenden wollen, oder? - Das Ergebnis einer solchen manuellen Auswahl in der Zukunft ist im Voraus ungewiss, d. h. es ist nicht deterministisch.

 
Andrey Dik:

Genetische Algorithmen verwenden Zufallszahlen nicht von sich aus, sondern unter Verwendung einer Wahrscheinlichkeitsverteilung. Da niemand die Zukunft kennt, verwenden die Menschen immer die Wahrscheinlichkeitsverteilung, um JEDE Entscheidung zu treffen. Sie müssen entscheiden, welche Option Sie verwenden wollen, oder? - Das Ergebnis der Anwendung einer solchen manuellen Auswahl in der Zukunft ist im Voraus ungewiss, d. h. es ist nicht deterministisch.

Wenn ja, geben Sie mir Ratschläge, welche ist gut zu optimieren, wenn es eine Frage der Parameter Indikatoren, die ich etwas nicht einverstanden, weil die Parameter häufig ändern. ist es besser, in takeprofit und stoploss gelten oder gibt es eine andere bessere Möglichkeit. Vielen Dank für Ihre Antwort, und wenn Sie irgendwelche Vorschläge haben, ich danke Ihnen. Ich möchte die Ergebnisse des Experiments zu teilen und vielleicht ein wenig Hilfe bei der Erprobung dieser UGA weiter.
 
SALEH:
Wenn ja, geben Sie mir Ratschläge, welche ist gut zu optimieren, wenn es eine Frage der Parameter Indikatoren, die ich etwas nicht einverstanden, weil die Parameter häufig ändern. ist es besser, in takeprofit und stoploss gelten oder gibt es einen anderen besseren Weg. Vielen Dank für Ihre Antwort, und wenn Sie irgendwelche Vorschläge haben, ich danke Ihnen. Ich würde gerne die Ergebnisse des Experiments und vielleicht ein wenig Hilfe bei der Erprobung dieser UGA weiter zu teilen.

es ist schwierig, Ratschläge zu geben, ohne etwas über das Handelssystem zu wissen

 
Herzlichen Glückwunsch zum Inhalt! Ich war jedoch nicht in der Lage, die Codes oder das erwähnte Beispiel zu kompilieren. Der Fehler scheint in der Zeile "ServiceFunction ();" zu liegen.
 
Rafael Ladeia:
Herzlichen Glückwunsch zum Inhalt! Ich war jedoch nicht in der Lage, die Codes oder das erwähnte Beispiel zu kompilieren. Der Fehler scheint in der Zeile "ServiceFunction ();" zu liegen.

Vielen Dank für das Feedback in 11 Jahren!))) leider können Fehler auftreten. Sieht so aus, als wäre es Zeit für mich, die Codes zu aktualisieren, wenn ich nur Zeit dafür habe...

 

Ich habe derzeit ein Optimierungsproblem, und ich experimentiere mit dieser Bibliothek, um zu sehen, ob sie mir helfen kann. Leider bin ich mir nicht ganz im Klaren darüber, wie ich die Bibliothek richtig einrichte.

In meinem Beispiel möchte ich die beste (maximale) Zusammensetzung der Losgrößen berechnen, um das geringste Risiko für mich selbst zu haben.

Dazu habe ich einfach 6 Zeichen für den Test genommen und für diese Zeichen sollen die besten Losgrößen gefunden werden. In der Fitnessfunktion berechne ich dann den erwarteten ROI für diese Vermögenswerte und das erwartete Risiko bei den von UGA vorgeschlagenen Losgrößen...

Wenn das Risiko unter meinem Schwellenwert liegt, speichere ich den erwarteten ROI zur Maximierung in Colony[0][chromos].....

Hier ist mein Code:

void CPortfolioRiskMan::GetOptimalWeights()
  {

   double ReplicationPortion_P  = 100.0;
   double NMutationPortion_P    = 10.0;
   double ArtificialMutation_P  = 10.0;
   double GenoMergingPortion_P  = 20.0;
   double CrossingOverPortion_P = 20.0;
   double ReplicationOffset_P   = 0.5;
   double NMutationProbability_P= 5.0;
//-----------------------Variables-------------------------------------
//Vorbereitung der globalen Variablen für UGA
   ChromosomeCount=6; //Anzahl der Chromosomen in der Kolonie
   GeneCount      =6;       //Anzahl der Gene
   RangeMinimum   =0.01;    //Minimum des Suchbereichs
   RangeMaximum   =1;    //Maximum des Suchbereichs
   Precision      =0.01;       //Suchschritt
   OptimizeMethod =2;  //1-Minimum, jedes andere-Maximum

   ArrayResize(Chromosome,GeneCount+1);
   ArrayInitialize(Chromosome,0);
   Epoch=50;                     //Anzahl der Epochen ohne Verbesserung




//Start der Hauptfunktion von UGA
   UGA
   (
      ReplicationPortion_P, //Anteil der Replikation.
      NMutationPortion_P,   //Anteil der natürlichen Mutation.
      ArtificialMutation_P, //Abschnitt der künstlichen Mutation.
      GenoMergingPortion_P, //Anteil der Übernahme von Genen.
      CrossingOverPortion_P,//Abschnitt der Überfahrt.
      ReplicationOffset_P,  //Rate der Verschiebung der Intervallgrenzen
      NMutationProbability_P//Wahrscheinlichkeit der Mutation eines jeden Gens in %
   );



  }



void FitnessFunction(int chromos)
  {
//-----------------------Variables-------------------------------------

   double weight=0.0;
   double ClosePrices[]= {1.21,0.98,1.31,1.22,0.99,0.86};
   string symbols[]= {"EURUSD","GBPUSD","AUDNZD","EURAUD","NZDJPY","GBPJPY"};
   double tickvalues[]= {0.94,0.78,0.56,0.76,0.45,0.94};
   double tickstep=0.00001;
   double Lotsizes[6];
   double av_return=0;

//----------------------------------------------------------------------


   for(int u=1; u<=GeneCount; u++)
     {
      Lotsizes[u-1]=Colony[u][chromos];
      av_return+=Lotsizes[u-1]*tickvalues[u-1]*tickstep*ClosePrices[u-1];
     }

   double risk=CalculateVaR(symbols, Lotsizes);

   if(risk>50)
      Colony[0][chromos]=-10000000.0;
   else
      Colony[0][chromos]=NormalizeDouble(av_return,2);


   AmountStartsFF++;
  }
 
Filip #:

Ich habe derzeit ein Optimierungsproblem, und ich experimentiere mit dieser Bibliothek, um zu sehen, ob sie mir helfen kann. Leider bin ich mir nicht ganz im Klaren darüber, wie ich die Bibliothek richtig konfiguriere.

Für mein Beispiel möchte ich die beste (maximale) Zusammensetzung der Losgrößen berechnen, um das geringste Risiko für mich selbst zu haben.

Dazu habe ich einfach 6 Zeichen für den Test genommen und für diese Zeichen sollen die besten Losgrößen gefunden werden. In der Fitnessfunktion berechne ich dann die erwartete Rendite für diese Vermögenswerte und das erwartete Risiko bei den von UGA vorgeschlagenen Losgrößen...

Wenn das Risiko unter meinem Schwellenwert liegt, behalte ich den erwarteten ROI zur Maximierung in Colony[0][chromos].....

Hier ist mein Code:

Ich habe den Sinn der Frage nicht verstanden, bitte erklären Sie mehr.

Im Allgemeinen ist dies eine sehr alte Version des Algorithmus, sie (die Version) hält sich nicht an das anwendungsfreundlichere Algorithmus-Schema in den aktuellen "Population Optimisation Algorithms" Artikeln.

Ich kann empfehlen, den SDS-Algorithmus oder einen anderen Algorithmus aus der Tabelle zu verwenden oder auf eine aktualisierte Version von UGA zu warten (ich weiß nicht, ob es angemessen ist, ein neues Aussehen in einem Artikel über diesen alten, aber sehr leistungsfähigen Algorithmus zu veröffentlichen).

Ich würde diesen Artikel generell neu schreiben, mit der Aufnahme von UGA in die Ranking-Tabelle, ich weiß nicht - ob es möglich und notwendig ist, dies zu tun.

ZY: Ich denke, es ist nicht möglich, den bestehenden Artikel neu zu schreiben, er wurde bereits in viele Sprachen übersetzt.

 
wird nicht kompiliert. viele Fehler.
 
gardee005 #:
lässt sich nicht kompilieren. viele Fehler.
Bitte zeigen Sie mir die Liste der Fehler. Der Code ist sehr alt, aber es gibt nichts zu brechen auch nach 14 Jahren.