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: 36942
Benutzer: 6.081
Aktive Benutzer: 495
Links: 80
Wir begrüßen unseren neuesten Benutzer: DarthTrader
Mit 483 Benutzern waren die meisten Benutzer gleichzeitig online (21.04.16 um 17:12).
Neue Benutzer:
vor 8 Stunden
- DarthTrade...
vor 10 Stunden
- Eren
vor 18 Stunden
- Rene1504
vor 19 Stunden
- ibdafx
vor einem Tag
- Batangenyo

Onlineuser
'Wer ist online' anzeigen Benutzer: 1
Gäste: 63
Gesamt: 64
Team: 0
Team:  
Benutzer:  fxnoob
Freunde anzeigen

Empfehlungen

Werbung

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

Danke Traderdoc. Der Grund warum ich die Abfrage gerne auf 1 Mal je Bar begrenzen will ist, ich habe gelesen dass die iCustom Abfrage ein ziemlicher Ressourcenfresser ist. Ich denke es macht Sinn die Abfrage der 3 Indikatoren dann gebündelt in die if Abfrage zu integrieren um nur 1 Mal abgefragt zu werden.
  #12 (permalink)  
Alt 05.03.16
Mitglied
 
Registriert seit: Feb 2016
Beiträge: 135
RetepM befindet sich auf einem aufstrebenden Ast
Standard

Moin, Moin,
probier mal das:

datetime BarTime = 0;
double ValueLastClose;

void OncePerBar()
{

if (BarTime < Time[0])
{
// neue Kerze
BarTime = Time[0]; // open time neue Kerze
DataLastClose();

}
}

void DataLastClose()
{
ValueLastClose = Close[current+1];

}
  #13 (permalink)  
Alt 05.03.16
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 1.875
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

@RetepM, Ok und worin siehst Du jetzt den Vorteil, außer dem längeren Code?
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis.
  #14 (permalink)  
Alt 05.03.16
Gesperrter Benutzer
 
Registriert seit: Jan 2016
Beiträge: 62
pischinger befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Lena Beitrag anzeigen
ich habe gelesen dass die iCustom Abfrage ein ziemlicher Ressourcenfresser ist.
stimmt! ich hole mir via icustom für einen newsfilter aktuelle news und 5 werte,
pro chart sind das extra 50kb arbeitsspeicher, es waren zu beginn noch viel mehr, aber ich schaffte es den externen newsindikator, welcher wiederum die aktuelle newsliste als xml datei von ff.com fetched, zu bereinigen und zu reduzieren.
  #15 (permalink)  
Alt 05.03.16
Mitglied
 
Registriert seit: Feb 2016
Beiträge: 135
RetepM befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von traderdoc Beitrag anzeigen
@RetepM, Ok und worin siehst Du jetzt den Vorteil, außer dem längeren Code?
, ich hänge hinter den OncePerBar-Code häufig auch andere Funktionen und tu mich dann leichter mit Copy/Paste.
  #16 (permalink)  
Alt 05.03.16
Mitglied
 
Registriert seit: Feb 2016
Beiträge: 103
Lena befindet sich auf einem aufstrebenden Ast
Standard

@pischinger: Über effiziente Programmierung hatten wir ja auch schon grob in der ff gesprochen. Ohne die dort genannten Hinweise wäre ich auch nie auf den Gedanken gekommen. Es ist ja auch schwer vorstellbar dass eine so einfache Abfrage den PC in Anbetracht der aktuellen Rechenleistung einbremsen kann.
Aber ihr hattet natürlich vollkommen Recht, warum soll ein Wert teilweise bis zu 100 Mal in der Sekunde abgefragt und verarbeitet werden wenn man diesen nur 1 Mal benötigt.
Für mich macht das noch weniger Sinn, da ich ausschließlich auf Renkobasierten Charts arbeite und mich die Werte immer nur beim Wechsel eines Bricks interessieren.
  #17 (permalink)  
Alt 05.03.16
Mitglied
 
Registriert seit: Feb 2016
Beiträge: 135
RetepM befindet sich auf einem aufstrebenden Ast
Standard

Was mir zu dem Thema noch einfällt:
Wenn man über "everytick" Ordertriggers auslöst, macht es richtig Sinn, zuerst mit einem "Gibt es die Order schon" anzufangen.
Das hat bei mir die Performance, auch in Backtests drastisch! erhöht.
  #18 (permalink)  
Alt 05.03.16
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 1.875
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

Es ergibt alles Sinn, Programmteile nur dann aufzurufen, wenn sie auch wirklich benötigt werden.
Die einfachste Variante hatte ich hier weiter unten gepostet.
Man muß sich nur im Vorfeld genau überlegen, wann eben welche Funktion
benötigt werden.

Übrigens die iCustom()-Funktion benötigt deshalb so viel Speicher und Zeit, weil jedesmal beim Aufrufen aus dem EA heraus, dieser Indikator geladen, vollständig!! berechnet und wieder entladen werden wird.

Das kostet halt Performance. Im Notfall könnte man den entscheidenden Teil des Indiaktorcodes in den EA integrieren. Aber auf jeder neuen Kerze abfragen hilft schon beträchtlich.

traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis.
  #19 (permalink)  
Alt 05.03.16
Gesperrter Benutzer
 
Registriert seit: Jan 2016
Beiträge: 62
pischinger befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von traderdoc Beitrag anzeigen
Übrigens die iCustom()-Funktion benötigt deshalb so viel Speicher und Zeit, weil jedesmal beim Aufrufen aus dem EA heraus, dieser Indikator geladen, vollständig!! berechnet und wieder entladen werden wird.

Das kostet halt Performance. Im Notfall könnte man den entscheidenden Teil des Indiaktorcodes in den EA integrieren. Aber auf jeder neuen Kerze abfragen hilft schon beträchtlich.

traderdoc
ich habe eine für mich brauchbare lösung (workaround) gefunden, anstatt das mein newsindicator via mathrand() unkontrolliert jedesmal die komplette newswoche als xml abholt (http) lasse ich das powershell ver > 3 und task scheduler stündlich lokal durchführen und ablegen.
dann den newsindicator die pfade verändert und nun "saugt" er sich die news-xml-datei lokal rein, weniger speicher, performance gut, durch code bereinigung von anfangs 125kb auf 50kb arbeitsspeicherbedarf pro chart gedrückt. wenn ich zeit habe integriere ich den gesamten news indi noch in meinen ea, der ist aber so komplex da er sehr viele time import functions, win* dlls, grabweb routinen verwendet, das braucht zeit...
  #20 (permalink)  
Alt 05.03.16
Mitglied
 
Registriert seit: Sep 2012
Beiträge: 224
pako befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von traderdoc Beitrag anzeigen

Übrigens die iCustom()-Funktion benötigt deshalb so viel Speicher und Zeit, weil jedesmal beim Aufrufen aus dem EA heraus, dieser Indikator geladen, vollständig!! berechnet und wieder entladen werden wird.
traderdoc
nachweis bitte
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 09:24 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.
-----------------------------------------------------------------------------------------------------------------------------