Diskussion zum Artikel "Clusteranalyse (Teil I): Die Steigung von Indikatorlinien"

 

Neuer Artikel Clusteranalyse (Teil I): Die Steigung von Indikatorlinien :

Die Clusteranalyse ist eines der wichtigsten Elemente der künstlichen Intelligenz. In diesem Artikel versuche ich, mit der Clusteranalyse die Steigung eines Indikators zu analysieren, um Schwellenwerte zu erhalten für die Bestimmung, ob ein Markt sich seitwärts bewegt (flat) oder ob er einem Trend folgt.

Als Indikator verwende ich den "HalfTrend" von MQ, der unten angehängt ist. Er zeigt längere Passagen, in denen er horizontal verläuft:

HalfTrend EURUSD M15 in einer Seitwärtsbewegung


Meine Frage an diesen Indikator war nun, ob es eine klare Trennung, d.h. Schwelle gibt, die als Zeichen für die Seitwärtsbewegung und eine Schwelle, die einen Trend signalisiert, sei es nach oben oder unten, interpretiert werden kann. Natürlich sieht jeder sofort, dass wenn dieser Indikator genau waagerecht ist, der Markt flach ist. Aber bis zu welcher Höhe der Steigung sind die Veränderungen im Markt so gering, dass der Markt noch als flach zu betrachten ist und ab welcher Höhe muss man einen Trend annehmen. Man stelle sich vor, der EA sieht nur eine Zahl, in der sich das gesamte Chartbild konzentriert und nicht, wie im obigen Bild, das größere Bild. Dies soll durch die Clusteranalyse gelöst werden. Doch bevor wir uns der Clusteranalyse zuwenden, betrachten wir zunächst die Änderungen, die im Indikator vorgenommen wurden.

Autor: Carl Schreiber

 

Vielen Dank für den Artikel und die Dateien, Carl.

Könnten Sie die MQ5-Datei noch einmal überprüfen, da es zahlreiche Fehler gibt, wenn man versucht zu kompilieren.

 
EricForex:

Vielen Dank für den Artikel und die Dateien, Carl.

Könnten Sie die MQ5-Datei noch einmal überprüfen, da es zahlreiche Fehler gibt, wenn man versucht zu kompilieren.

Hier kompiliert sie ohne Probleme.

Bitte zeigen Sie, warum und was der Compiler bemängelt.

 
Carl Schreiber:

Hier kompiliert er ohne Probleme.

Bitte zeigen Sie, warum und was der Compiler beschwert.


Danke Carl, das Problem lag bei mir, ich hatte meinen MT5 aktualisiert und jetzt ist alles in Ordnung.

 

Hallo Carl,


ich bin sehr an Ihrer Arbeit interessiert. Ich habe einen Ansatz zur Analyse der Indikatorsteigungen in Erwägung gezogen, aber das hier scheint mir viel besser zu sein, daher werde ich Ihre Artikel aufmerksam verfolgen.

Es wäre sehr hilfreich, wenn Sie Ihrem Ausdruck Spaltenüberschriften und Zeilennummern hinzufügen könnten. Wenn Sie dazu bereit sind, werde ich das tun und Ihnen die Ergebnisse zukommen lassen.

Ich freue mich schon auf Ihren nächsten Artikel.

 
CapeCoddah:

Hallo Carl,


ich bin sehr an Ihrer Arbeit interessiert. Ich habe einen Ansatz zur Analyse der Indikatorflanken in Erwägung gezogen, aber dieser scheint viel besser zu sein, so dass ich Ihre Artikel aufmerksam verfolgen werde.

Es wäre sehr hilfreich, wenn Sie Ihrem Ausdruck Spaltenüberschriften und Zeilennummern hinzufügen könnten. Wenn Sie dazu bereit sind, werde ich das tun und Ihnen die Ergebnisse zukommen lassen.

Ich freue mich schon auf Ihren nächsten Artikel.

?

Haben Sie nicht die Überschrift gesehen:

GBPUSD PERIOD_D1 HalfTrd 2          ID                Cluster      Num. (tot  %)          µ   (mult*µ)            σ (Range %)           min -          max

gefolgt von den Zeilen mit den Zahlen:

GBPUSD PERIOD_D1 HalfTrd 2      100100      learn 100% all[9]      7266 (100.0%)      217.6   (1.00*µ)       1800.0   (1.21%)           0.0 -     148850.0
 
Die Artikel dürfen nicht moderiert werden.
Die Übersetzung ist von schlechter Qualität.
 
input uint Amplitude=10;
uint CorrelationDefination, CorrelationDefination2;
int OnInit()
  {
//---
    CorrelationDefination=iCustom(NULL,Period(),"half-trend-analysingTrend",10,false,false,false,false,false,false,false,1,PRICE_CLOSE);
    CorrelationDefination2=iCustom(NULL,Period(),"half-trend-analysingTrend",10,false,false,false,false,false,false,false,1,PRICE_CLOSE);
//-
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Experten-Deinitialisierungsfunktion|
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
   
  }
//+------------------------------------------------------------------+
//| Experten-Tick-Funktion|
//+------------------------------------------------------------------+
void OnTick()
  {
//--- 
   double short_period[];
   double long_period[];
   ArraySetAsSeries(short_period,true);
   ArraySetAsSeries(long_period,true);
   CopyBuffer(CorrelationDefination,1,0,3,short_period);
   CopyBuffer(CorrelationDefination2,1,0,3,long_period);
   double shortValue0=short_period[0];
   double longValue0=long_period[0];
   double shortValue1=short_period[1];
   double longValue1=long_period[1];
   Comment("shortValue0: ",shortValue0," shortValue1 ",shortValue1,"\n",
           "longValue0: ",longValue0," longValue1 ",longValue1);
  }

Hallo Carl, ich kann mich nicht daran erinnern, als castom Indikator, ich füge den Code. Nur Arbeit mit der DOWN Schallwand (shortValue)

 
SergioTForex:

Hallo Carl, ich kann mich nicht daran erinnern, wie castom Indikator, ich füge den Code. Nur Arbeit mit der DOWN Schallwand (shortValue)

Was ist das Problem? Du musst etwas geändert haben (wegen PRICE_CLOSE, was übrigens ok ist), aber so kann ich dir nicht helfen.

Können Sie es auf dem Chart starten?

 
es ist ein Teil des EA, der Indikatorwerte schreibt. im visuellen Modus liest er mir nur die roten (kurzen) Werte, aber schreibt nicht die langen Werte, siehe beigefügte Bilder
Dateien:
value_long.jpg  348 kb
value_short.jpg  364 kb
 
SergioTForex:
Es ist ein Teil des EA, der Indikatorwerte schreibt. Im visuellen Modus liest er mir nur die roten (kurzen) Werte vor, schreibt aber nicht die langen Werte, siehe beigefügte Bilder
Wenn Sie sich den Indikator genau ansehen, würden Sie feststellen, dass immer nur einer der beiden Werte UP und DN gültig ist, der andere ist auf 0 gesetzt. Schauen Sie in OnInit des Indikators.