Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools
Zurück   Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools > Metatrader 4 > Programmierung MQL4

Programmierung MQL4 Hier gehts rund ums Programmieren in MQL4.


Portalsuche


Werbung

Login
Benutzername:
Kennwort:


Statistik
Themen: 3784
Beiträge: 36807
Benutzer: 5.988
Aktive Benutzer: 484
Links: 80
Wir begrüßen unseren neuesten Benutzer: Geccco
Mit 483 Benutzern waren die meisten Benutzer gleichzeitig online (21.04.16 um 17:12).
Neue Benutzer:
vor einem Tag
- Geccco
vor einem Tag
- forexadven...
vor einem Tag
- mikedyke
vor 2 Tagen
- dmaha
vor 4 Tagen
- Take2

Onlineuser
'Wer ist online' anzeigen Benutzer: 0
Gäste: 38
Gesamt: 38
Team: 0
Team:  
Benutzer:  
Freunde anzeigen

Empfehlungen

Werbung

Thema geschlossen
 
Themen-Optionen Thema durchsuchen Ansicht
  #1 (permalink)  
Alt 13.12.16
Mitglied
 
Registriert seit: Apr 2014
Beiträge: 92
Trader6666 befindet sich auf einem aufstrebenden Ast
Standard Machbar im MT4???

Hallo zusammen,

da man im MT4 ja keine Charts extern in Fenstern generieren kann (außer ich bin falsch informiert),würde ich gerne eine Lösung dafür finden.

Als Beispiel , ich möchte eine Analyse machen nach Markttechnik einmal für Long und einmal für Short. Damit ich nicht mehrere Charts her nehmen muss, möchte ich quasi ein Abbild meiner beiden Analyse speichern und über einen Button die Analysen "durchschalten". Dazu müsste ich ja quasi ein Chartbild "Speichern" hat jem ne Idee wie man das am besten angehen könnte????

Ich weiß man kann auch 2 separate charts nehmen, aber bei mehreren Alternativen wirds eben zu viel, deswegen der Gedanke.

Möchte jetzt keinen code oder ähnliches, nur paar Ideen wären klasse.

LG Trader
  #2 (permalink)  
Alt 13.12.16
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 1.857
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

per Script über die MQL4-Funktion

bool WindowScreenShot(
string filename, // file name
int size_x, // width
int size_y, // height
int start_bar=-1, // first visible bar
int chart_scale=-1, // scale
int chart_mode=-1 // mode
);

traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis.
  #3 (permalink)  
Alt 13.12.16
Benutzerbild von Kronenchakra
Mitglied
 
Registriert seit: Feb 2016
Ort: 2100 Österreich
Beiträge: 291
Kronenchakra befindet sich auf einem aufstrebenden Ast
Standard

Falls ich dich richtig verstanden habe, sehe ich 2 Möglichkeiten:

1. Ctrl+Print (Strg+Druck) kopiert das aktuelle Fenster in die Zwischenablage, dann im Paint mit Ctrl+V aus der Zwischenablage holen.

2. Mit dem 'Snipping Tool' vom Bildschirm kopieren.

Grüße Otto
__________________
Das Gras wächst nicht schneller wenn man daran zieht
  #4 (permalink)  
Alt 13.12.16
Mitglied
 
Registriert seit: Apr 2014
Beiträge: 92
Trader6666 befindet sich auf einem aufstrebenden Ast
Standard

danke für eure Antworten, ich hab mich vllt nicht ganz klar ausgedrückt,

es geht nicht um eine Speicherfunktion wo der Chart einfach Kopiert und als Bild wiedergegeben wird.


Als beispiel ich mach ne analyse händisch, beschrifte Zonen, mach mir markierungen /fibos /channels das volle Programm.

Damit ich keine 4 Charts mit dem gleichen Pair habe , möchte ich in einem chart die Objekte/Labels/Fibo´s, an den von mir hinterlegten Positionen zwischenspeichern als "Alternative Long", dann mach ich das ganze für short und möchte wieder alle Objekte etc. speichern.

Durch einen Buttondruck möchte ich dann durch die verschiedenen Alternativen durchschalten und die Objekte sollen sich genauso wieder an Ihrer "abgespeicherten" Position befinden.

Ich hoffe das diese Erklärung verständlicher war


Meine Idee hierzu wäre über ObjectsTotal mir alle Objekte zu holen und sie in Arrays zu speichern die Frage is nur wie ich das vernünftig anstelle

Code:
if(sparam == "Alt1")
  {

   int O_Total= (ObjectsTotal());Print("Anzahl der Objeke:  "+O_Total);
   for(int i=0;i<O_Total;i++)
     {
       string name = ObjectName(i);
       int ObjektTyp= ObjectType(i);
       Print("Name: "+name+ "    Typ: "+ObjektTyp);
       if(ObjektTyp == OBJ_LABEL)
         {
          Print ("Objekt ist ein Label");
         }
     }
   
  }

Anzahl bekomm ich wie erwaret zurück nur bei den ObjectType steh ich grad aufn schlauch wegen den ID´s habs mit nummern versucht oder mit den Enums direkt aber überall bekomm ich nur -1 zurück . Sieht man im Anhang. Denk, wenn ich die Werte der Objekte also sprich Name und Typ ermitteln kann, ist es auch möglich, auf die Positionen/Werte der Objekte zuzugreifen. So müsste das ja klappen. Nur häng ich grad bei den ID´s der Objekte fest
Angehängte Grafiken
Dateityp: png Bsp1.png (15,4 KB, 3x aufgerufen)
  #5 (permalink)  
Alt 13.12.16
Mitglied
 
Registriert seit: Apr 2014
Beiträge: 92
Trader6666 befindet sich auf einem aufstrebenden Ast
Standard

hab den fehler grad selber im code gesehen -.-

Code:
   int O_Total= (ObjectsTotal());Print("Anzahl der Objeke:  "+O_Total);
   for(int i=0;i<O_Total;i++)
     {
       string name = ObjectName(i);
       int ObjektTyp= ObjectType(name);
       
       if(ObjektTyp != OBJ_LABEL)
         {
          Print("Name: "+name+ "    Typ: "+ObjektTyp);
          Print ("Objekt ist Kein Label");
         }
     }
so is es richtig und klappt auch mit der Ausgabe.

Geändert von Trader6666 (13.12.16 um 22:19 Uhr)
  #6 (permalink)  
Alt 13.12.16
Benutzerbild von Kronenchakra
Mitglied
 
Registriert seit: Feb 2016
Ort: 2100 Österreich
Beiträge: 291
Kronenchakra befindet sich auf einem aufstrebenden Ast
Standard

Wenn du jetzt die Datei \Include\ChartObjects\ChartObjectsTxtControls.mqh einbindest ist alles paletti.
Code:
#include "ChartObjects\ChartObjectsTxtControls.mqh"
Die Objekte dort besitzen alle die Methoden Load und Save
Code:
class CChartObjectLabel : public CChartObjectText
  {
public:
                     CChartObjectLabel(void);
                    ~CChartObjectLabel(void);
   //--- methods of access to properties of the object
   int               X_Distance(void) const;
   bool              X_Distance(const int X) const;
   int               Y_Distance(void) const;
   bool              Y_Distance(const int Y) const;
   int               X_Size(void) const;
   int               Y_Size(void) const;
   ENUM_BASE_CORNER  Corner(void) const;
   bool              Corner(const ENUM_BASE_CORNER corner) const;
   //--- change of time/price coordinates is blocked
   bool              Time(const datetime time) const { return(false); }
   bool              Price(const double price) const { return(false); }
   //--- method of creating the object
   bool              Create(long chart_id,const string name,const int window,const int X,const int Y);
   //--- method of identifying the object
   virtual int       Type(void) const { return(OBJ_LABEL); }
   //--- methods for working with files
   virtual bool      Save(const int file_handle);
   virtual bool      Load(const int file_handle);
  };
Ich hoffe das hilft dir weiter, ist aber im MT4 nicht getestet.
Aber dort wird es ja auch eine Standardlibrary geben.
__________________
Das Gras wächst nicht schneller wenn man daran zieht
  #7 (permalink)  
Alt 14.12.16
Mitglied
 
Registriert seit: Apr 2014
Beiträge: 92
Trader6666 befindet sich auf einem aufstrebenden Ast
Standard

danke Otto!
Thema geschlossen

Lesezeichen

Stichworte
chart, exter, extern chart, externe charts, mql4, programmierung, programmierung metatrader, programmierung mql4


Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are aus
Pingbacks are aus
Refbacks are aus




Alle Zeitangaben in WEZ +2. Es ist jetzt 14:26 Uhr.



spam firewall
-----------------------------------------------------------------------------------------------------------------------------
Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Powered by vBCMS® 2.7.0 ©2002 - 2017 vbdesigns.de
SEO by vBSEO 3.6.1
Copyright ©2009 - 2017 by Expert-Advisor.com - Das Metatrader Forum
MetaTrader bzw. MetaTrader 4 und MetaTrader 5 sind eingetragene Marken der MetaQuotes Software Corp.
-----------------------------------------------------------------------------------------------------------------------------