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: 36909
Benutzer: 6.082
Aktive Benutzer: 494
Links: 80
Wir begrüßen unseren neuesten Benutzer: idur
Mit 483 Benutzern waren die meisten Benutzer gleichzeitig online (21.04.16 um 17:12).
Neue Benutzer:
vor 45 Minuten
- idur
vor 20 Stunden
- DarthTrade...
vor 22 Stunden
- Eren
vor einem Tag
- Rene1504
vor einem Tag
- ibdafx

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

Empfehlungen

Werbung

Like Tree7Likes
Thema geschlossen
 
Themen-Optionen Thema durchsuchen Ansicht
  #1 (permalink)  
Alt 18.08.15
Premium Mitglied
 
Registriert seit: Apr 2015
Beiträge: 370
Raul0 befindet sich auf einem aufstrebenden Ast
Standard VPS Entlastung und Energiesparen

Hallo,

der EA durchläuft bei jedem Tick die Funktionen. Oft ist das nicht nötig, vorallem dann, wenn SL und TP fest mit der Order stehen.

Den EA optimieren, was wirklich benötigt wird

Hier kann Energie und Rechenleistung gespart werden. Mit einer einfachen Sleep() Funktion, welche nach Orderabgabe den EA nur z.B. aller 1 Minute, oder 5 Minuten durchlaufen läßt.
Wurde die Order geschlossen und befindet sich der EA auf der Suche nach neuen Möglichkeiten, so kann die Sleep() Funktion deaktiviert oder verringert werden.

Somit ist eine Energieoptimierung machbar, wenn es nicht um jeden Tick geht.
BlackPearl likes this.
  #2 (permalink)  
Alt 05.09.15
Gesperrter Benutzer
 
Registriert seit: Jan 2015
Beiträge: 477
BlackPearl befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Raul0 Beitrag anzeigen
Hallo,

der EA durchläuft bei jedem Tick die Funktionen. Oft ist das nicht nötig, vorallem dann, wenn SL und TP fest mit der Order stehen.

Den EA optimieren, was wirklich benötigt wird

Hier kann Energie und Rechenleistung gespart werden. Mit einer einfachen Sleep() Funktion, welche nach Orderabgabe den EA nur z.B. aller 1 Minute, oder 5 Minuten durchlaufen läßt.
Wurde die Order geschlossen und befindet sich der EA auf der Suche nach neuen Möglichkeiten, so kann die Sleep() Funktion deaktiviert oder verringert werden.

Somit ist eine Energieoptimierung machbar, wenn es nicht um jeden Tick geht.
Alternativ nur jeden xten Tick rechnen. In Zeiten hoher Volatilität ist das je nach Handelsstrategie evtl. besser als eine feste Zeit zu warten.
  #3 (permalink)  
Alt 07.10.15
Premium Mitglied
 
Registriert seit: Apr 2015
Beiträge: 370
Raul0 befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Alternativ nur jeden xten Tick rechnen.
Hättest Du dafür ein Codebeispiel?


Um das Thema fortzuführen habe ich ein Beispiel angelegt.
Es nützt etwas, wenn der Kurs von einem möglichen Orderziel eine höhere Entfernung aufweist und es keinen Sinn macht eine hohe Abtastung des Marktes vorzunehmen.

PHP-Code:
   int Barzahl_M1;//zu den globalen Variablen
   
   //Vergleich aktuelle Barsanzahl auf M1 Basis mit Variable Barzahl_M1
   
if( Bars(NULL,PERIOD_M1) > Barzahl_M1 ) {

      
//Beispiel mit gleitendem Durchschnitt
      
double MA200 iMA(NULL,0,200,0,MODE_SMA,PRICE_CLOSE,0);

   
//Entfernungsbedingungen mit entsprechender Wartezeit, hier wird die Variable Barzahl_M1 gesetzt
   //Da der Abstand drunter oder drüber sein kann, wird beides berücksichtigt
   
if( Close[0] >= MA200+150 || Close[0] <= MA200-150 Barzahl_M1 Bars(NULL,PERIOD_M1) + 15;//MA200+-150 Punkte hier ist der Abstand definiert, Durchlauf aller 15 Minuten
   
if( Close[0] < MA200+150 || Close[0] > MA200-150 Barzahl_M1 Bars(NULL,PERIOD_M1) - 2;//Durchlauf normal pro Tick, Verzögerungsfunktion ist unwirksam
   

Es können noch Zwischenstufen der Verzögerung definiert werden.
  #4 (permalink)  
Alt 08.10.15
Mitglied
 
Registriert seit: Jun 2011
Ort: Minsk, Weißrussland
Beiträge: 48
Bobs befindet sich auf einem aufstrebenden Ast
Bobs eine Nachricht über Skype™ schicken
Standard

Vielleicht, die Nutzung EventSetTimer() wird sicherer sein.
  #5 (permalink)  
Alt 08.10.15
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 1.875
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Bobs Beitrag anzeigen
Vielleicht, die Nutzung EventSetTimer() wird sicherer sein.
Falls fixe Zeiten gelten sollen, ist das definitiv die bessere Lösung!

Bei einer Anzahl Ticks, läßt man einfach einen Zähler laufen:

Code:
int Count = 0;
void OnTick() {
   Count++;
   if (Count < 10) return;
   ...
   Count = 0;
}
traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis.
  #6 (permalink)  
Alt 08.10.15
Mitglied
 
Registriert seit: May 2015
Beiträge: 124
yytrader befindet sich auf einem aufstrebenden Ast
Standard

Hallo,

ich finde die EventTime Idee sehr gut, ich verwende auch einen Timer für meinen EA.
Ich scanne alle verfügbaren Symbole, das hat zu einer sehr hohen Last geführt.

Was allerdings am meisten gebracht hat, war das komplette Umstricken des EA.
Er hat verschiedene Einstiegskriterien, die alle erfüllt sein müssen.
Hierzu berechne ich pro Symbol die verschiedenen Kriterien in Reihenfolge der aufsteigenden Last, so kann ich sofort abbrechen, wenn ein Kriterium nicht erfüllt ist.
So konnte ich die Last stark senden, vielleicht hilft dir eine ähnliches Vorgehen.


Gruß

yytrader
Ca$hDigger likes this.
  #7 (permalink)  
Alt 16.03.16
Premium Mitglied
 
Registriert seit: Apr 2015
Beiträge: 370
Raul0 befindet sich auf einem aufstrebenden Ast
Standard Weiter mit dem Beitrag zum sparen von Rechenleistung und Energie

Weiter mit dem Beitrag zum sparen von Rechenleistung und Energie. Diesmal geht es mit dem Metatrader selbst weiter.

Rechenleistung wurde auf dem VPS sichtlich gespart durch zwei Punkte:

- Symbole ausblenden. Rechte Maustaste auf Symbol welches nicht verwendet wird und "Verbergen". Hintergrund: Der MT holt permanent Daten von aktiven Symbolen ein und speichert diese.

- Marktübersicht bei verlassen des VPS wieder deaktivieren mit Strg+M, oder das dritte Symbol in der Menüleiste.
Aktien Andy and BlackPearl like this.
__________________

Tradertool
  #8 (permalink)  
Alt 16.03.16
Gesperrter Benutzer
 
Registriert seit: Jan 2015
Beiträge: 477
BlackPearl befindet sich auf einem aufstrebenden Ast
Standard

In den Optionen habe ich auch die News abgeschaltet und alle akustischen Signale. Das ist ja kein Glücksspielautomat. Leider gibt es etliche EA, die die Einstellung nicht abfragen und trotzdem Lärm machen, wie im Kindergarten an der Triangel oder am einarmig Banditen : Bing, Bing, Bing.
Zum Glück auf VPS und dadurch verschont davon.
Ich denke am meisten bringt das schon beschriebene Abschalten unnötiger Symbole, kostet auch Bandbreite, die in Zeiten höherer Volatilität gebraucht wird.
Raul0 likes this.
  #9 (permalink)  
Alt 16.03.16
Gesperrter Benutzer
 
Registriert seit: Jan 2016
Beiträge: 62
pischinger befindet sich auf einem aufstrebenden Ast
Standard

sinn macht auch alle iCustoms komplett in den ea zu integrieren, da via iCustom der gesamte code geladen wird!

des weiteren, wenn indikatoren/template angezeigt werden sollen, diese mittels button am chart immer aus und einschalten, da gerade alle chart graphik elemente viel speicher und rechenleistung brauchen.

wird der/das/die terminal(s) nicht gebraucht, immer auf minimieren, rechts oben pfeil nach unten klicken, das entlädt alle grafischen elemente aus dem speicher, welche bei maximieren des mt4 wieder geladen werden...zuerst beim aktiven chart und bei allen weiteren
Raul0 likes this.
  #10 (permalink)  
Alt 18.03.16
Mitglied
 
Registriert seit: Jun 2013
Beiträge: 220
Ca$hDigger befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von yytrader Beitrag anzeigen
so kann ich sofort abbrechen, wenn ein Kriterium nicht erfüllt ist.
Wie setzt man so einen Abbruch Programmtechnisch um? Mit goto oder schleife+break?

Gruß
Thema geschlossen

Lesezeichen

Stichworte
cpu, ea optimieren, energieverbrauch, mql4, performance, programmierung, programmierung metatrader, verbrauch, vps entlastung


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 20:49 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.
-----------------------------------------------------------------------------------------------------------------------------