- Hallo hier im Forum und schon mal viel Erfolg!
- Wie sprechen hier deutsch.
- Wenn Du Code postest, dann verwende aus der Editierzei8le </> (oder Alt+S)!
- Um den Algorithmus eines EAs, Indikators oder Skripts zu verstehen ist im Editor der Debugger (Strg+F5) am besten geeignet!
So sieht man den Ablauf und die Veränderung der Werte in den Variablen!!
Wahrscheinlich ist der Ursprung dieses Codes hier https://www.mql5.com/de/code/785
Wieder so ein Code, wo man vor lauter Kommentar den Inhalt nicht mehr erkennen kann.
Und dort wo Kommentar sinnvoll wäre um die Berechnungen nachvollziehen zu können, ist natürlich keine Erklärung vorhanden. Grauenhafter Programmierstil.
@volker: was willst du denn genau wissen?
- www.mql5.com
Hallo Leute Danke erstmal.
Ja grauenhafter Stil, den ich als Informatiker nicht mal blicke.
Ich möchte wissen, wie die einzelnen Punkte (Quadrate) berechnet werden, da ich einen Expert Advisor zum Automatischen Traden zum Teil
daraus bauen möchte.(Als Grundlage)
Da die berechneten Punkte zum Buy und Sell schon recht gut sind. Ich blicke nur die Berechnung und Generierung nicht. Eigentlich mag ich
eine Funktion daraus schreiben denen ich Zwei Werte als Pointer bBuy and bSell mitgeben kann und diese auf OnTick ausführen. Aber nur Copy
und Paste reicht mir nicht, da ich gerne verstehe was ich tue.
Ja genau ist dieser Code: https://www.mql5.com/de/code/785
Das nächste mal halte ich mich an die Regel wie Code zu pasten ist. Habe es ja versucht bunt zu machen, damit man wenigstens die einzelnen Funktionen und Deklarationen auseinander halten kann.
Wäre lieb wenn ihr die wichtigsten Teile für mich Kommentieren könntet und die Code wieder hier pastet.
Grüße
Volker
Ich habe schon gesehen das er einen SMA mit 14 und den ATR mit 60 verwendet. Aber WTF macht er damit ;)
Habe die Indikatoren auf dem Chart zur seinen Buy Sell Quadraten anzeigen lassen, aber keinen Zusammenhang erkennen können.
input uint MA_Period=14;
- www.mql5.com
Der Supertrend Indikator ist sehr ähnlich https://www.mql5.com/de/code/527
Ich habe den Code überarbeitet damit er für mich lesbar wurde. Ich hänge den da dran.
Du kannst diesen Code nicht direkt in einen EA packen.
Du musst mit iCustom() bzw. mit i.......(zb iMA()) das handle zum Indikator erzeugen und mit CopyBuffer() den Buffer des Indikators auslesen.
Wie Carl so oft geschrieben hat "verwende die F1 Taste und dir wird geholfen".
Hast noch eine langen Weg vor dir ;)
- www.mql5.com
Danke erstmal,
Ich verstehe nur die Mathematik( Algorithmus) dahinter in dem BuySell nicht, das ist mein Problem
Die dann zu
implementieren, darüber mach ich mir keinen Kopf.
Grüße
Volker
Danke erstmal,
Ich verstehe nur die Mathematik( Algorithmus) dahinter in dem BuySell nicht, das ist mein Problem
Die dann zu implementieren, darüber mach ich mir keinen Kopf.
Grüße
Volker
Die Berechnung ist sehr simpel.
Im ersten Schritt wird der MA und der ATR gelesen.
for(bar=limit; bar>=0; bar--) // first calculation { if(MA[bar]>MA[bar+1]) // falls der MA steigt DnBuffer[bar]=MA[bar];//-ATR[bar]; // vom MA wird ATR abgezogen else DnBuffer[bar]=0.0; // MA fällt oder ist gleich, setze buffer auf 0.0 if(MA[bar]<MA[bar+1]) // falls der MA fällt UpBuffer[bar]=MA[bar];//+ATR[bar]; // zu MA wird ATR addiert else UpBuffer[bar]=0.0; // MA steigt oder ist gleich, setze buffer auf 0.0 }
Ich habe das etwas umgeformt um es im Debugger leichter verfolgen zu können.
Den ATR einzurechnen verfälscht imho den Eindruck den der Indi erzeugt. Probiere Testhalber den ATR auszukommentieren wie in meinem Beispiel.
Dann sitzen die Signale direkt am MA.
Im Zweiten Schritt wird nur der Trendwechsel berechnet und angezeigt.
Auch diesen Teil habe ich etwas umcodiert.
for(bar=limit; bar>=0; bar--) // second calculation { if(UpBuffer[bar+1]&&DnBuffer[bar]) // Trendwechsel ? BuyBuffer [bar]=DnBuffer[bar]; else BuyBuffer [bar]=0.0; if(DnBuffer[bar+1]&&UpBuffer[bar]) // Trendwechsel ? SellBuffer[bar]=UpBuffer[bar]; else SellBuffer[bar]=0.0; }
Die Korrektur von limit dazwischen kann man getrost entfernen.
Die Besonderheit dieses Indikators ist, daß er in den for-schleifen quasi von hinten aufgerolltr wird. Also mit bar-- nicht mit bar++
Der Indikator ist in der bar[0] extrem 'repainting'.
Es war für mich sehr aufschlußreich diesen Indi zu analysieren. Ich werde den überarbeiten und einen Grenzwert für die Steigung des MAs einarbeiten, damit sollte das 'repainting' verringert werden.
Den stelle ich dann hier rein, evtl. auch in die Codebase.
LG Otto
Hier die überarbeitete Version vom BuySell Indikator.
Ich glaube nicht, daß man mit diesem Indi glücklich(=reich) wird.
Er ist nur ein anders dargestellter Moving Average und der ATR wird nur zur Darstellung verwendet.
Grüße
Otto
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Hey guys, i would need your help.
I try to understand the code of the mentioned indicator. I puts Squares on the Chart for buy and sell seperate.
I just dont get the function behind it how and when he does the printout. And how he calculates out of the SMA and the ATR these things.
Regards and thanks for your help
Volker
#property copyright "Copyright © 2008, bobik"