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)
-   -   Grafische Darstellung von Trade-Ergebnissen (http://www.expert-advisor.com/forum/showthread.php?t=6653)

janbuk63 09.05.20 11:09

Grafische Darstellung von Trade-Ergebnissen
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo!
ich habe zwar ein ähnliches Thema gefunden hier: "Rectangles = optimale, graph. Darstellg. von TradingResults" von Piptrade aber es wurde schon längst geschlossen und nicht zu Ende behandelt.
Ich habe mir genau das gleiche wie Piptrade erdacht und auch realisiert aber mit eine Sache bin ich nicht zufrieden: mit Text in dem Rechteck!
Ich dachte ich könnte es leicht verändern aber es funzt nix...:(
Egal was ich versuche der Beschreibung Text de Object Rectangle bleibt gleich klein und in der linken unteren Ecke stehen!
Ich wollte es aber in der Mitte und fettige haben damit ich es auch eindeutige und schneller erkennen kann.
Sonst die Idee mit den Rechtekcken auf dem Chart die farbig darstellen ob der Trade ein Gewinn oder Verlust war finde ich sehr hilfreich!
Ich hatte mal so einen Indikator mal gehabt aber irgendwie ist es mir verloren gegangen und habe es mir selbst gebastelt! Nur fehlt mir die Beschreibung noch damit eben besser sichtbar die Ergebnisse auf dem Chart
zu lesen sind!
Die unterschiedliche Farben sind für die unterschiedlichen Tradesarten gedacht. Auf diese Weise kann ich besser sofort erkennen ob es ein Sell-Verlust oder Sell-Gewinn oder Buy-Verlust oder Buy- Gewinn war!
Nur die Schrifft ist zu klein!
Kann mir jemand da helfen ? Wäre echt nett!:cool:

AVT 09.05.20 13:42

Zitat:

Zitat von janbuk63 (Beitrag 43630)
...
Egal was ich versuche der Beschreibung Text de Object Rectangle bleibt gleich klein und in der linken unteren Ecke stehen!
Ich wollte es aber in der Mitte und fettige haben damit ich es auch eindeutige und schneller erkennen kann.
Kann mir jemand da helfen ?

Dazu brauche ich den Code wie die jetzt erstellt werden. AVT

janbuk63 09.05.20 16:53

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

Zitat von AVT (Beitrag 43632)
Dazu brauche ich den Code wie die jetzt erstellt werden. AVT

na klar!
hier mit Kopieren und Einfügen(sieht aber ander aus als im MetaTrader Editor) daher füge ich dennoch Screenshot zu!
Bei dem ersten Teil wo Buy mit Gewinn abgeschlossen wird sind meine misslungene Versuche zu sehen: Zeile mit " OBJPROP_XDISTANCE" zum Beispiel. Das ist ein Versuch von vielen die ich schon ausprobiert habe!
Der Code ist natürlich ein Teil von der Schleife
"if(!OrderSelect(i,SELECT_BY_POS,MODE_HISTORY) "
wo der Order-History Pool abgefragt wird!
:
//------------------------------------Ergebnis als Quadraten
if(OrderType()== OP_BUY)
{if(OrderProfit()>0)
{
ObjectCreate("Kwadrat"+IntegerToString(OrderTicket (),0,0),OBJ_RECTANGLE,0,OrderOpenTime(),OrderOpenP rice(),OrderCloseTime(),OrderClosePrice());
ObjectSet("Kwadrat"+IntegerToString(OrderTicket(), 0,0),OBJPROP_COLOR,clrBlue);
//ObjectSetText("Kwadrat"+IntegerToString(OrderTicke t(),0,0),"EUR: "+DoubleToStr(OrderProfit(),2),10 ,NULL,clrLightGoldenrod );
ObjectSetText("Kwadrat-TEXT"+IntegerToString(OrderTicket(),0,0),"EUR: "+DoubleToStr(OrderProfit(),2),10 ,NULL,clrLightGoldenrod );
ObjectSet("Kwadrat-TEXT"+IntegerToString(OrderTicket(),0,0),OBJPROP_X DISTANCE,OrderOpenTime()-OrderCloseTime()/2);

}
if(OrderProfit()<0)
{
ObjectCreate("Kwadrat"+IntegerToString(OrderTicket (),0,0),OBJ_RECTANGLE,0,OrderOpenTime(),OrderClose Price(),OrderCloseTime(),OrderOpenPrice());
ObjectSet("Kwadrat"+IntegerToString(OrderTicket(), 0,0),OBJPROP_COLOR,clrLightPink);
ObjectSetText("Kwadrat"+IntegerToString(OrderTicke t(),0,0),"EUR: "+DoubleToStr(OrderProfit(),2),10 ,NULL,clrBlue);
}
}

if(OrderType()== OP_SELL)
{
if(OrderProfit()>0)
{
ObjectCreate("Kwadrat"+IntegerToString(OrderTicket (),0,0),OBJ_RECTANGLE,0,OrderOpenTime(),OrderClose Price(),OrderCloseTime(),OrderOpenPrice());
ObjectSet("Kwadrat"+IntegerToString(OrderTicket(), 0,0),OBJPROP_COLOR,clrDarkViolet);
ObjectSetText("Kwadrat"+IntegerToString(OrderTicke t(),0,0),"EUR: "+DoubleToStr(OrderProfit(),2),10 ,NULL,clrBlack );

}
if(OrderProfit()<0)
{
ObjectCreate("Kwadrat"+IntegerToString(OrderTicket (),0,0),OBJ_RECTANGLE,0,OrderOpenTime(),OrderOpenP rice(),OrderCloseTime(),OrderClosePrice());
ObjectSet("Kwadrat"+IntegerToString(OrderTicket(), 0,0),OBJPROP_COLOR,clrLightSalmon);
ObjectSetText("Kwadrat"+IntegerToString(OrderTicke t(),0,0),"EUR: "+DoubleToStr(OrderProfit(),2),10 ,NULL,clrBlue);
}
}
//------------------------------------------------------------------------
im Anhang füge ich den Teil des Codes als Scrennshot zu!
Gruß

AVT 10.05.20 12:20

Liste der Anhänge anzeigen (Anzahl: 1)
1. Wenn Du Code einfügen willst, dann entweder das # Zeichen (4. von rechts über dem Eingabekasten) benutzen. Wo Du den Text eingibst, erscheint dann in Rechteck-Klammern "CODE" Hier kommt Dein Code rein, und am Ende wieder in Rechteck-Klammern "/CODE" - oder Du fügst den Code als Anhang an (unten unter Zusätzliche Einstellungen - Anhänge verwalten).

2. Anmerkungen: Hast Du mal überlegt, was passiert, wenn Du mehrere Trades hast, die einander alle überlappen - dann wird es schnell unübersichtlich. Wenn Du farbige Rechtecke nimmst, dann "heben sich die Farben gegenseitig auf" (setze einfach mal ein paar Rechtecke wild übereinander auf einen Chart, dann verstehst Du, was ich meine).
Schriftart und Größe haben auch einen Einfluß auf das Aussehen. Ich nehme an, Du weißt, wie man im Editor die Referenz aufruft, um im Text Teil zusätzliche ObjectSet... einzufügen.

So, ich habe Dir eine Funktion geschrieben mit Erkärungen drin, im Anhang. Ich hoffe das ist das, was Du Dir vorgestellt hast. AVT

janbuk63 10.05.20 13:58

Oh! Dankeschön!
wenn es um mehrere Vierecke auf dem Chart geht dann mag sein dass es sehr schnell unübersichtlich wird wenn vorausgesetzt mehrere Trades gleichzeitg laufen!
Bei dem EA dass ich mir mit der Methode Versuch/Irrtum selber gebastelt habe wird nur ein Trade aktiviert.
Ich behaupte jetzt nicht eine besondere Strategie entdeckt zu haben!
Es läuft sehr stabil über Monate auf Backtests. Jetzt läuft es auf Demo und mal schauen was daraus wird.
Natürlich wird ständig nachkorrigiert und verbessert! Ist fast Vollzeitjob wenn man kein Profi ist. Aber es macht auch Spaß muss ich zugeben!
Die Referenz von MQL4 ist leider nur für Leute die schon die Sprache sehr gut beherrschen. Als Nachschlagewerk bestimmt eine gute Hilfe aber für jemanden wie mich ist es sehr schwer es überhaupt zu verstehen! Also nur bedingt als Hilfe anzusehen!
Also bei meinem EA wird grundsätzlich nur ein Trade eröffnet über mehrere Stunden manchmal ! Es läuft- sagen wir- ganzen Tag und ich komme dazu nach ein Paar Stunden da ein Blick zu werfen. Dann war es oft für mich sehr mühsam das ganze zu überblicken:- weil um gut zu testen laufen mehrere Instrumente gleichzeitig!
Dann schaue ich auf den Bildschirm und wenn es noch mehrere Charts gleichzeitig laufen mit den gleichen EA auf verschiedenen Instrumenten wird es sehr schnell sehr unübersichtlich für mich nachzuvollziehen was da alles gelaufen ist.
Es steht zwar alles in der History aber eben ein Bild sagt mehr als 1000 Worte.
Ich sehe also die Rechtecke - die noch farbig sind- und mich sofort auf Ersten Blick erkennen lassen was da gelaufen ist und nur die kleine Schrift mit Ergebnissen hat mich ein bisschen irritiert !
Ich dachte zuerst dass es nicht schwer sein wird so was wie Text Größe zu ändern aber.... doch das habe ich nicht geschafft!
Ich habe noch nicht geguckt auf die Funktion von Dir aber ich danke Dir für die Mühe!
LG:):)


Alle Zeitangaben in WEZ +2. Es ist jetzt 17:54 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