Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools

Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools (http://www.expert-advisor.com/forum/index.php)
-   Programmierung MQL4 (http://www.expert-advisor.com/forum/forumdisplay.php?f=220)
-   -   MA programmieren der früher Signale gibt (http://www.expert-advisor.com/forum/showthread.php?t=6749)

MA-EA 16.08.20 18:46

MA programmieren der früher Signale gibt
 
Hallo.

Hatte vor längerer Zeit nen Thema geöffnet, mit ner Idee, wie man MAs allgemein wesentlich früher nen Trendwechsel- oder Ende oder was auch immer anzeigen lassen kann. Das Thema ist aber zu.

Hab keine Ahnung, obs was bringt, aber die Idee ist eigentlich ganz einfach:

1.
Ganz normalen MA deklarieren. Z.B.
Code:

double MA_Fa=iMA(Symbol(),TimeFrame,MA_Fast_Period,MA_Fast_Chart_Shift,MA_Fast_Method,PRICE_CLOSE,1);
2.
Dieser wird dann einfach durch nen Wert, den man in den GV eintragen kann, geteilt. Z.B. jetzt einfach mal 6.
Code:

extern double MA_dividieren_durch = 6.0;
Je nachdem, ob der Wert normalen, oben beschriebenen MA <1.0 ist oder nicht, muss er dann entsprechend berechnet werden mit dem globalen Wert. Z.B.
Code:

if( MA_Fa < 1.0 )  double Dividierter_MA = MA_Fa * MA_dividieren_durch;
if( MA_FA >= 1.0 ) Dividierter_MA = MA_Fa / MA_dividieren_durch;

Nen Indikator daraus zu machen, wär echt nicht schlecht, damit man ungefähr sieht, wie diese "schnelleren MAs" eigentlich aussehn. Die müssten dann in nem extra Unterfenster abgebildet werden, wie z.B. der CCI oder RSI oder Stochastic oder so.

Indikator-Trading 16.08.20 20:19

:confused:
Einfache Antwort:
Das ist Schwachsinn!

Der Mittelwert ist über 1 und dann teile ich ihn durch 6 und damit ist er schneller??
Hier ein Beispiel, das du vielleicht verstehst:
Du fährst in deinen Opel Corsa von 1997 auf der Autobahn.

Fährst du unter 100 km/h schnell, also z.B. 80, dann multiplizierst du den Wert mal 6, du fährst also 480 km/h!

Fährst du aber über 100 km/h, also z.B. 120km/h, dann teilst du deine Geschwindigkeit durch 6, somit denkst du also du fährst nur noch 20 km/h schnell.

Jetzt stell dir mal die Frage: Macht das irgend einen Sinn bzw. einen Mehrwert??
-> Nein, und nochmals nein, das ist hier die Antwort! So ist es halt

Verringerst du die Periodenlänge bei irgend einem Kriterium, dann kann das zumindest irgend einen fachlichen Sinn machen. Ob es dir beim Traden hilft, ist und wird auch für alle Zeit fraglich sein, mein lieber MA-EA....

AVT 16.08.20 21:45

Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von MA-EA (Beitrag 44251)
Nen Indikator daraus zu machen, wär echt nicht schlecht, damit man ungefähr sieht, wie diese "schnelleren MAs" eigentlich aussehn. Die müssten dann in nem extra Unterfenster abgebildet werden, wie z.B. der CCI oder RSI oder Stochastic oder so.

Hier hast Du Deinen Indikator, kannst damit so viel rumexperimentieren wie Du willst - und komm' mir nicht mit "... dann müßte man eben noch den Preis addieren oder subtrahieren" - das hatten wir schon mal.
Außerdem ist der Quellcode kommentiert und wenn Du schon EAs programmierst, dann kannst Du den Indikator auch selber ändern.
Ansonsten empfehle ich Dir, die Antwort von Indikator-Trading heranzuziehen.
AVT

MA-EA 18.08.20 00:16

Liste der Anhänge anzeigen (Anzahl: 1)
Tausend Dankeschöns. ;) :) Das hat mir geholfen. Im Anhang eine von mir etwas vereinfachte Vers. Die Multiplikation konnte raus. War nur wegen Dividieren/Multiplizieren von Werten <1.0 drin. Nebenbei:Es geht nicht um nen Tacho der mehr oder weniger als 100.0km/h anzeigt, sondern um kleiner oder größer als 1.0.


Wie man im Bild (hoffentlich) sehn kann, vollbringt das Ding keine Wunder, scheint aber Seitwärtsbewegungen einigermaßen gut umgehen zu können. Wenn ich irgendwas richtig erkennen kann, scheint es auf kleinere Bewegungen 1 oder 2 Kerzen früher zu reagieren, bei hoher Vola allerdings scheint er sogar manchmal hinterher zu hinken. :eek: Vielleicht braucht er auch nur lange, um den Wechsel von Trends in Seitwärtsbewegungen anzuzeigen. Bzw. umgedreht.

https://charts.mql5.com/25/827/eurus...trades-plc.png

Anscheinend ist es mit einfachem Teilen der Werte nicht getan.


Ich trau mich eigentlich kaum zu fragen. Aber wärs möglich, den Oszi im Anhang um was eigentlich Einfaches zu ergänzen? Eigentlich ganz easy: Zu dem dividierten MA soll die ganze Rechnerei noch mal mit dem Price, auf den der normale MA gelegt wird, gemacht werden. Also das Selbe wie mit dem MA:


1.
Ganz normalen Price deklarieren. Z.B.
Code:

double Close_Price = iClose(Symbol(),TF,1);
Dann die selbe Rechnerei wie mit dem MA. Eben bloß stattdessen mit z.B. dem ClosePrice Bar1.
Code:

    MAval=iMA(_Symbol,_Period,MAperiod,0,MAmethod,MAprice,i);  //Hole MA der Kerze
     
      if(MAval <1.0)MABuff[i]=MAval*MAdivis; // Wenn MAwert kleiner 1.0: mit Divisor multiplizieren
      if(MAval>=1.0)MABuff[i]=MAval/MAdivis;// Wenn MAwert größer/gleich 1.0: durch Divisor teilen


MA-EA 18.08.20 02:46

Liste der Anhänge anzeigen (Anzahl: 1)
Das Problem ist wohl, dass alle MA einfach nur nach unten verschoben werden und dementsprechend manchmal früher und manchmal später als die "originalen" MAs sich überschneiden. So müsste das Ganze wohl eher nen Sinn ergeben, indem sie ihren jeweiligen Verhältnissen zum ClosePrice entsprechend verändert werden:
Code:

extern int MA_Fast_Period=3;
extern int MA_Fast_Chart_Shift=0;
input ENUM_MA_METHOD MA_Fast_Method=0;
extern double MA_Fast_Divi=10.0;

extern int MA_Midd_Period=6;
extern int MA_Midd_Chart_Shift=0;
input ENUM_MA_METHOD MA_Midd_Method=0;
extern double MA_Midd_Divi=10.0;

extern int MA_Slow_Period=10;
extern int MA_Slow_Chart_Shift=0;
input ENUM_MA_METHOD MA_Slow_Method=0;
extern double MA_Slow_Divi=10.0;


double CP1=iClose(Symbol(),TF,1);


double MA_Fa=iMA(Symbol(),TF,MA_Fast_Period,MA_Fast_Chart_Shift,MA_Fast_Method,PRICE_CLOSE,1);

double MA_Mi=iMA(Symbol(),TF,MA_Midd_Period,MA_Midd_Chart_Shift,MA_Midd_Method,PRICE_CLOSE,1);

double MA_Sl=iMA(Symbol(),TF,MA_Slow_Period,MA_Slow_Chart_Shift,MA_Slow_Method,PRICE_CLOSE,1);


double CP1pluMAFa = CP1 + MA_Fa;

double CP1pluMAMi = CP1 + MA_Mi;

double CP1pluMASl = CP1 + MA_Sl;


if( CP1pluMAFa<1.0 )double di_Fa = CP1pluMAFa * MA_Fast_Divi;
else di_Fa = CP1pluMAFa / MA_Fast_Divi;

if( CP1pluMAMi<1.0 )double di_Mi = CP1pluMAMi * MA_Midd_Divi;
else di_Mi = CP1pluMAMi / MA_Midd_Divi;

if( CP1pluMASl<1.0 )double di_Sl = CP1pluMASl * MA_Slow_Divi;
  else di_Sl = CP1pluMASl * MA_Slow_Divi;

Vielleicht sind noch nen paar Fehler drin, im Großen und Ganzen müsste es so aber wohl eher funktionieren. :rolleyes:


Gute Nacht für heute.

Indikator-Trading 18.08.20 08:07

Zitat:

Zitat von MA-EA (Beitrag 44262)
… Nebenbei:Es geht nicht um nen Tacho der mehr oder weniger als 100.0km/h anzeigt, sondern um kleiner oder größer als 1.0.

Ach was, ich dachte du baust hier eine Autosteuerung ??? :confused:
Ich habe das extra nur für DICH deinen MA-Dividieren-Quatsch einfach und simpel an einem Beispiel erklärt, damit vielleicht auch DU verstehen kannst, dass das immer noch SCHWACHSINN ist, den du dir da ausgedacht hast. Aber selbst das war wohl zu kompliziert oder?

Also dein Toller EA wozu du sagst:
Zitat:

Vielleicht sind noch nen paar Fehler drin, im Großen und Ganzen müsste es so aber wohl eher funktionieren.
Nein, es wird weder im Großen noch im Ganzen funktionieren. Nicht bei solchen Fehlern wie diesen hier:
Code:

if( &&  Bid<CP1_D_Sel)
{ … }

:D
Insgesamt noch weitere Compilerfehler an weiteren sehr schönen stellen :rolleyes:

traderdoc 18.08.20 11:16

Mir fällt dazu nichts mehr ein. Ich bin nun seit 15 Jahren in einschlägigen Foren unterwegs, programmierte auftragsgemäß hunderte EAs und Indikatoren und habe schon die skurrilsten Handelsstrategien der Kunden umgesetzt. Aber kein Einziger hat mir jemals so einen, gelinde gesagt, Unsinn präsentiert.
Warum der @MA-EA auch immer so renitent gegenüber der Tipps und Hinweisen ist und permanent falsche Schlüsse zieht, entzieht sich meiner Kenntnis. Er tut mir fast schon etwas leid.
Wie oft wurde ihm bereits geschrieben, die Nase zunächst in Bücher und fertigen Code zu stecken und dann überrascht er uns immer wieder mit programmtechnischen Stilblüten der besonderen Art.

Ich habe leider auch keinen anderen Rat mehr.

traderdoc

MA-EA 18.08.20 12:21

Liste der Anhänge anzeigen (Anzahl: 1)
Was für skurrile Strategien? Erzähl mal nen paar interessante Geschichten. ;)

Der EA im Anhang oben ist noch nicht fertig. Hab den bloß hoch geladen, damit man besser nach vollziehen kann, wie die MA-Rechnerei im EA ausschaut. Bzw. wie der irgendwann mal funktionieren soll.

Gibt doch irgendwie Indikatoren, die MAs nur als Grundlage benutzen, um damit andere Berechnungen zu machen. Die irgendwie Abstände zwischen MAs oder zwischen Letzteren und irgendwelchen Preisen ausrechnen und darstellen. In dem EA oben soll Preis und der dazu gehörige MA addiert werden. Das Ergebnis soll dann durch nen einstellbaren Wert geteilt werden. Theoretisch hätte man dann die typische Glättung des Kurses, aber ohne 3-4 oder noch mehr Kerzen auf Kreuzungen warten zu müssen. Bei 3 normalen MAs sind die meisten Trends schon wieder fast zu Ende, bis sie registriert werden.

Im Anhang noch mal der Oszillator. Da müsste lediglich noch mal der ganz normale Kurs drin deklariert werden.

double ClosePrice = iClose(...usw.

Die Rechnerei müsste ich dann eigentlich selber hin bekommen. :confused:

Indikator-Trading 18.08.20 23:08

Zitat:

Zitat von MA-EA
Da müsste lediglich noch mal der ganz normale Kurs drin deklariert werden.

double ClosePrice = iClose(...usw.

Oh ja, den Closeprice zu bekommen, das ist schon die "hohe Kunst" in der MQL4 Programmierung.

Da helfe ich dir doch gerne:
https://docs.mql4.com/series/iclose

Jetzt musst du nur noch lesen können...

Zitat:

Zitat von MA-EA
Die Rechnerei müsste ich dann eigentlich selber hin bekommen. :confused:

Na dann viel Erfolg dabei :rolleyes:

TogoTiger 19.08.20 09:28

Zitat:

Zitat von MA-EA (Beitrag 44267)
Was für skurrile Strategien?

z.B. immer short und long gleichzeitig. Schon vor Jahren haben mehrere User dir geduldig aufzuzeigen versucht, warum diese Strategie nicht funktioniert.
Oder das, was du hier wieder präsentierst. Einfach nur Blödsinn.

Tips, die wirklich was bringen könnten, versuchst du nie umzusetzen.
Ich wiederhole mich jetzt:
Trend z.B. mit EMA in einer höheren Zeiteinheit bestimmen. Dann in einer kürzeren Zeiteinheit mit irgendeinem Indikator einsteigen, und zwar nur in der Richtung des höheren Trends. TRSI oder MACD funktionieren z.B. nicht schlecht. Wenn du kurzfristig handeln willst, dann nimmst z.B. EMA 200 in 30M oder 1H und TRSI oder MACD oder was auch immer in 5M. Du machst dann natärlich nicht 100 Trades am Tag, dafür ist die Mehrheit positiv.
Die Strategie ist ausbaufähig, z.B. den Ausstieg dynamisch suchen, je nach Stärke der Bewegung oder nach Stärke des höheren Trends.
Oder, wenn der Trade gut läuft, eine Nachkaufstrategie einbauen etc. etc.

Du solltest dich mal auf eine Strategie festlegen und die dann ausbauen. Das bringt eher ein positives Resultat als deine seltsamen Experimente.

So, und das wars jetzt wirklich. Wenn du es nicht selbst programmieren kannst, dann gib dem Traderdoc einen Auftrag. Vielleicht (aber nur vielleicht) nimmt er einen Auftrag von dir an. Ich würds nicht machen und meine funktionierenden EA's stehen nicht zum Verkauf :)


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:01 Uhr.

Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.6.1
Powered by vBCMS® 2.7.0 ©2002 - 2024 vbdesigns.de
Copyright ©2009 - 2023 by Expert-Advisor.com - Das Metatrader Forum