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: 3824
Beiträge: 36914
Benutzer: 6.076
Aktive Benutzer: 496
Links: 80
Wir begrüßen unseren neuesten Benutzer: Spitzmaus
Mit 483 Benutzern waren die meisten Benutzer gleichzeitig online (21.04.16 um 17:12).
Neue Benutzer:
vor 16 Stunden
- Spitzmaus
vor 19 Stunden
- juleslesqu...
vor einem Tag
- hmf44
vor 2 Tagen
- Crossa
vor 2 Tagen
- snatshit

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

Empfehlungen

Werbung

Like Tree1Likes
Thema geschlossen
 
Themen-Optionen Thema durchsuchen Ansicht
  #21 (permalink)  
Alt 06.03.16
Mitglied
 
Registriert seit: Feb 2016
Beiträge: 103
Lena befindet sich auf einem aufstrebenden Ast
Standard

@Traderdoc: Da arbeitet der MT4 aber äußerst ineffizient wenn jedesmal der abgefragte Indikator komplett geladen und wieder gelöscht wird. Da erscheint es fast sinnvoller die vom Indikator vorgenommene Berechnung direkt in den EA zu integrieren.
  #22 (permalink)  
Alt 06.03.16
Mitglied
 
Registriert seit: Oct 2015
Ort: Karlshagen
Beiträge: 199
ralfbenker befindet sich auf einem aufstrebenden Ast
Standard

Also ich beschäftige mich auch erst ein paar Monate mit mql4 und mir ist egal ob der Indikator bei iCustom jedesmal neu geladen wird oder nicht.

Fakt ist, das bei Einsatz von iCustom Strategietests über mehrere Jahre unendlich lange dauern. Auch wenn ich iCustom nur bei jedem neuen Bar einmal aufrufe geht das nicht schneller. Dass da alle Werte die ich eh nicht brauche neu berechnet werden kann ich mir gut vorstellen.

Demgegenüber läuft die direkte Indikatorabfrage mit, z.B. iIchimoku() wesentlich schneller. Hier wird wohl wirklich nur der in shift angegebene Wert berechnet.

Bei den Standardindikatoren nehme ich nie iCustom und bei denen, die nicht standardmäßig verfügbar sind schaue ich mir den Code des Indikators an und versuche die Berechnung über eine Funktion im EA direkt nachzubilden.

Für viele Dinge benötigt man auch gar keinen Indikator weil's am Kurs ablesbar ist.
  #23 (permalink)  
Alt 07.03.16
Mitglied
 
Registriert seit: Feb 2016
Beiträge: 103
Lena befindet sich auf einem aufstrebenden Ast
Standard

So, alles was nicht wirklich bei jedem Tick abgefragt werden muss ist in eine Funktion ausgelagert. Ich hoffe das war die Mühe auch Wert und man bemerkt den Unterschied. Wobei das wohl nur bei Newszeiten einen Ausschlag macht. Naja, selbst wenn nicht habe ich dadurch mal wieder was gelernt.
  #24 (permalink)  
Alt 07.03.16
Mitglied
 
Registriert seit: Feb 2016
Beiträge: 103
Lena befindet sich auf einem aufstrebenden Ast
Standard

Mal was anderes, über die iCustom Funktion kann ich wenn ich es richtig verstanden habe nur im Buffer gespeicherte Werte abfragen, oder?
Wäre eine vielleicht sehr viel effizientere Lösung, zumindest wenn ich die MQL Datei des auszulesenden Indikators habe, den Indikator die von mir benötigten Werte in einer globalen Variablen zu speichern und dann direkt auch von dem EA auslesen zu lassen? So müsste zwar der Indikator in dem Chart geladen werden, dieser würde aber nicht ständig über iCustom initialisiert, durchgerechnet und gelöscht.
  #25 (permalink)  
Alt 07.03.16
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 1.875
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

Das ginge prinzipiell auch, denn viele Wege führen nach Rom.
Teste es doch einfach mal aus und Berichte uns dann bitte, was Deine Beobachtungen bzgl. der Ausführungsperformance waren.

Ich habe so im Gefühl, dass sich diese Methode eignen würde, wenn man nur wenige Indikatoren und gleichzeitig Charts offen hätte. Ich habe aber auch schon Programme für Kunden geschrieben, da wurden etwa 20 WP über alle TF mit mehreren Indikatoren jeweils auf Kerzenclose übe iCustom() abgefragt.
Mit Deiner Lösungsvariante hätte das eine Unzahl von Charts bedurft.

traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis.
  #26 (permalink)  
Alt 07.03.16
Premium Mitglied
 
Registriert seit: Apr 2015
Beiträge: 370
Raul0 befindet sich auf einem aufstrebenden Ast
Standard

Hallo,

allgemein gültig und auch für dieses Thema interessant:

VPS Entlastung und Energiesparen
__________________

Tradertool
  #27 (permalink)  
Alt 07.03.16
Mitglied
 
Registriert seit: Feb 2016
Beiträge: 103
Lena befindet sich auf einem aufstrebenden Ast
Standard

Ich denke meine Idee ist eher geeignet wenn man man nur verschiedene Werte von einem Chart beziehen muss. Wenn ich Werte aus verschiedenen Timeframes abfragen muss ist iCustom sicher die bessere Lösung.

Zu den globalen Variablen hätte ich aber auch eine Frage. Gibt es eine Möglichkeit den Variablennamen für eine globale Variable individuell generieren zu lassen? Weil angenommen ich will von einem Indikator zwei integerwerte als globale Variable speichern und nenne diese High und Low. Diese beiden Namen würde der Indikator ja dann jedesmal nehmen wenn ich den Indikator auf einen Chart lade und dementsprechend Chaos verursachen. Ich vermute es gibt keine Möglichkeit automatisch zum Beispiel einen Namen wie High_Symbol generieren zu lassen.
  #28 (permalink)  
Alt 07.03.16
Mitglied
 
Registriert seit: Sep 2012
Beiträge: 224
pako befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von traderdoc Beitrag anzeigen



Du bist mir noch die Erklärung bzgl. des Unterschieds zwischen Pferd und Esel schuldig.

traderdoc
Code:
//+------------------------------------------------------------------+
//|                         Unterschieds zwischen Pferd und Esel.mq4 |
//|                        Copyright 2014, MetaQuotes Software Corp. |
//|                                              http://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2014, MetaQuotes Software Corp."
#property link      "http://www.mql5.com"
#property version   "1.00"
#property strict
double MaWert=0.0;
ulong StartZeit;
ulong StopZeit;
datetime ZeitWert;
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//---
   StartZeit=GetMicrosecondCount();
   for(int i=0;i<1000000;i++)
     {
      MaWert=iMA(NULL,0,13,8,MODE_SMA,PRICE_CLOSE,0);
     }
   StopZeit=GetMicrosecondCount();
   Print("MaAbfrage: ",DoubleToString((StopZeit-StartZeit)/1000.0,3));
   StartZeit=GetMicrosecondCount();
   for(int i=0;i<1000000;i++)
     {
      ZeitWert=Time[0];
     }
   StopZeit=GetMicrosecondCount();
   Print("Time[0]Abfrage: ",DoubleToString((StopZeit-StartZeit)/1000.0,3));
  }
//+------------------------------------------------------------------+
Es gibt noch eine andere Lösung, ohne Pferd und Esel
  #29 (permalink)  
Alt 07.03.16
Mitglied
 
Registriert seit: Sep 2012
Beiträge: 224
pako befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Lena Beitrag anzeigen
Ich vermute es gibt keine Möglichkeit automatisch zum Beispiel einen Namen wie High_Symbol generieren zu lassen.
Code:
Print ( "High "+ Symbol() + MQLInfoString( MQL_PROGRAM_NAME));
  #30 (permalink)  
Alt 07.03.16
Mitglied
 
Registriert seit: Sep 2012
Beiträge: 224
pako befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Lena Beitrag anzeigen
Mal was anderes, über die iCustom Funktion kann ich wenn ich es richtig verstanden habe nur im Buffer gespeicherte Werte abfragen, oder?
iCustom ist Benutzerindikator
Thema geschlossen

Lesezeichen

Stichworte
icustom, icustom abfrage, icustom wert, mql4, programmierung, programmierung metatrader


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 +1. Es ist jetzt 13:28 Uhr.



Der Wavesnode - 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.
-----------------------------------------------------------------------------------------------------------------------------