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.

Login
Benutzername:
Kennwort:


Statistik
Themen: 4973
Beiträge: 43250
Benutzer: 7.219
Aktive Benutzer: 81
Links: 84
Wir begrüßen unseren neuesten Benutzer: Hopfen&Malz
Mit 2.475 Benutzern waren die meisten Benutzer gleichzeitig online (16.01.20 um 22:38).
Neue Benutzer:
vor einem Tag
- Hopfen&Mal...
vor 2 Tagen
- frankmicha...
vor einer Woche
- DFeck
vor einer Woche
- bb1107
vor 2 Wochen
- rg-trader

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

Empfehlungen

Like Tree7Likes
Thema geschlossen
 
Themen-Optionen Thema durchsuchen Ansicht
  #1 (permalink)  
Alt 18.08.15
Premium Mitglied
 
Registriert seit: Apr 2015
Beiträge: 422
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: 422
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: 87
Bobs befindet sich auf einem aufstrebenden Ast
Standard

Vielleicht, die Nutzung EventSetTimer() wird sicherer sein.
  #5 (permalink)  
Alt 08.10.15
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 2.733
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: 422
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.
__________________

Easy Trading Assistant
  #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
Premium Mitglied
 
Registriert seit: Jun 2013
Beiträge: 364
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 09:53 Uhr.





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