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: 36905
Benutzer: 6.074
Aktive Benutzer: 496
Links: 80
Wir begrüßen unseren neuesten Benutzer: hmf44
Mit 483 Benutzern waren die meisten Benutzer gleichzeitig online (21.04.16 um 17:12).
Neue Benutzer:
vor 4 Stunden
- hmf44
vor 8 Stunden
- Crossa
vor 9 Stunden
- snatshit
vor einem Tag
- Roerich
vor einem Tag
- John_Liver...

Onlineuser
'Wer ist online' anzeigen Benutzer: 3
Gäste: 48
Gesamt: 51
Team: 0
Team:  
Benutzer:  bfranz, Domke01, traderdoc
Freunde anzeigen

Empfehlungen

Werbung

Like Tree2Likes
Thema geschlossen
 
Themen-Optionen Thema durchsuchen Ansicht
  #1 (permalink)  
Alt 24.03.14
Mitglied
 
Registriert seit: Oct 2013
Beiträge: 130
PortfolioTrader befindet sich auf einem aufstrebenden Ast
Standard Abfrage offener Trades

Hi!

Zwei Fragen zur Abfrage offener Trades.

1. In welchen Programmteil baut Ihr diese Routine ein? Ich hatte es bisher immer bei int start() eingebaut.
So wird natürlich bei jedem Tick danach überprüft.
Ich schreibe gerade aber einen neuen Bot und überlege diese Abfrage in den int OnInit() Bereich zu verlegen, um dies nur einmal bei Programmstart zu überprüfen.
Hat dies Nachteile? Ich bastel einen Gridbot für Gold und Silber. Dadurch kann es viele offene Trades geben.

2. Gibt es seit Build 600 eine neue tolle Art die offenen Trades zu verwalten?
  #2 (permalink)  
Alt 24.03.14
Benutzerbild von fxdaytrader
Premium Mitglied
 
Registriert seit: Dec 2013
Ort: hier und dort
Beiträge: 433
fxdaytrader befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von PortfolioTrader Beitrag anzeigen
Ich schreibe gerade aber einen neuen Bot und überlege diese Abfrage in den int OnInit() Bereich zu verlegen, um dies nur einmal bei Programmstart zu überprüfen.
Hat dies Nachteile? Ich bastel einen Gridbot für Gold und Silber. Dadurch kann es viele offene Trades geben.
Nö, Nachteile hat das keine, würde auch wohl funktionieren.
Wenn die Anzahl der offenen trades für Dich wichtig ist soltlest Du es aber vielleicht doch in den start-bereich verlegen ...

Die init-funktion wird nur einmalig aufgerufen, und zwar beim start.
  #3 (permalink)  
Alt 24.03.14
Benutzerbild von FXClicks
Elite Mitglied
 
Registriert seit: Feb 2011
Beiträge: 207
FXClicks befindet sich auf einem aufstrebenden Ast
Standard

Vielleicht hilft dir der Indikator etwas.
Angehängte Dateien
Dateityp: mq4 VisualOrders nmc.mq4 (14,7 KB, 13x aufgerufen)
PortfolioTrader likes this.
  #4 (permalink)  
Alt 24.03.14
Mitglied
 
Registriert seit: Oct 2013
Beiträge: 130
PortfolioTrader befindet sich auf einem aufstrebenden Ast
Standard

Danke für die Antworten.

Sollte es nicht reichen einmal zum Anfang, wenn der EA startet die offenen Positionen abzufragen, anstatt bei jedem Durchlauf, also Tick?
Gerade wenn der Markt schnell wird, wäre es doch unnötige Zeit ständig die gleiche Abfrage laufen zu haben?
Wenn der Bot läuft und die Abfrage bei Programmstart funktioniert weiß der EA doch sowieso was offen ist.

Geändert von PortfolioTrader (24.03.14 um 14:57 Uhr) Grund: Verwirrt :D
  #5 (permalink)  
Alt 24.03.14
Benutzerbild von fxdaytrader
Premium Mitglied
 
Registriert seit: Dec 2013
Ort: hier und dort
Beiträge: 433
fxdaytrader befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von PortfolioTrader Beitrag anzeigen
Wenn der Bot läuft und die Abfrage bei Programmstart funktioniert weiß der EA doch sowieso was offen ist.
WOHER soll der EA wissen was irgendwann mal offen oder geschlossen ist wenn er die Tradezählerfunktion nur einmalig beim start aufgerufen hat (im OnInit-Teil)? Wie bitte soll das gehen?

Aber mach' mal, wenn Du mir möglicherwe nicht glaubst daß OnInit einmalig beim Start des EA ausgeführt wird, dann glaubst Du es vielleicht wenn Du es selbst liest: Event Handling Functions - MQL4 Documentation
  #6 (permalink)  
Alt 24.03.14
Mitglied
 
Registriert seit: Oct 2013
Beiträge: 130
PortfolioTrader befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von fxdaytrader Beitrag anzeigen
WOHER soll der EA wissen was irgendwann mal offen oder geschlossen ist wenn er die Tradezählerfunktion nur einmalig beim start aufgerufen hat (im OnInit-Teil)? Wie bitte soll das gehen?

Aber mach' mal, wenn Du mir möglicherwe nicht glaubst daß OnInit einmalig beim Start des EA ausgeführt wird, dann glaubst Du es vielleicht wenn Du es selbst liest: Event Handling Functions - MQL4 Documentation
Meine Überlegung:
Code:
OnInit()
Abfrage der offenen Positionen nach Magic
-> Kein Trade mit Magic offen -> x=0
-> Trade mit Magic offen -> x=1 und Ablegen der Tradeinfo (buy/sell, sl, tp, blabla)

OnTick()
-> x=0 -> öffne trade und x=1
-> x=1 -> übernahme Tradeinfo
  #7 (permalink)  
Alt 24.03.14
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 1.874
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

Wenn Du nicht willst, dass die Abfrage der Trades allgemein, aus der ja dann erst ermittelt werden könnte, ob offene Trades vorhanden sind, bei jedem Tick angesprungen wird, sondern nur wenn wirklich Trades offen sind, dann könnte man direkt beim Öffnen eines Trades ein Flag setzen, der dann zum zuküftigen Abfragen der Trades benutzt wird. Dieses Flag kann eine globale bool-Variable sein oder eine über GlobalVariableSet() gesetzte.
Stellt der EA das erste mal fest, dass es keine offenen Orders mehr gibt, wird das Flag zurückgesetzt.

traderdoc
PortfolioTrader likes this.
  #8 (permalink)  
Alt 24.03.14
Mitglied
 
Registriert seit: Oct 2013
Beiträge: 130
PortfolioTrader befindet sich auf einem aufstrebenden Ast
Standard

@doc, all

Gibt es mit Build 600 neue, ggf. bessere Arten offene Trades zu managen?
  #9 (permalink)  
Alt 24.03.14
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 1.874
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

Was verstehst Du konkret unter Order managen?
Und wie und was hast Du bisher getan, um sie zu managen?

traderdoc
  #10 (permalink)  
Alt 24.03.14
Mitglied
 
Registriert seit: Oct 2013
Beiträge: 130
PortfolioTrader befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von traderdoc Beitrag anzeigen
Was verstehst Du konkret unter Order managen?
Und wie und was hast Du bisher getan, um sie zu managen?

traderdoc
Code:
j=OrdersTotal()-1;
int Count=0;

for (i=j;i>=0;i--)
{
   OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
   if(OrderType()==OP_SELL 
     && OrderMagicNumber()==magic 
     && OrderSymbol()==Symbol()
   ){
     Count=Count+1;   //Count++
   }
}

if( Count==0 ){ do_something; }
Reines Beispiel, nicht mein Code.

Mit "managen" meine ich eigentlich nur, dass mein EA nach einem Neustart des MT die noch offenen Positionen der EA eigenen Trades wieder auffinden kann inkl. alle wichtigen Infos.
Thema geschlossen

Lesezeichen

Stichworte
mql4, offen, offene trades, programmierung, programmierung metatrader, trades


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 19:56 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.
-----------------------------------------------------------------------------------------------------------------------------