Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools

Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools (http://www.expert-advisor.com/forum/index.php)
-   Programmierung MQL4 (http://www.expert-advisor.com/forum/forumdisplay.php?f=220)
-   -   Automatisches Trading mit 2 GDs (http://www.expert-advisor.com/forum/showthread.php?t=4468)

MA-EA 15.02.16 23:18

Hallo.

Das mit dem ran rechnen war wohl ne Schnapsidee.

Derzeit wird geschlossen, wenn je nach Handelsrichtung der LC den
schnellen GD überholt hat. Das scheint aber die Quelle vieler kleiner
Verlust-Trades zu sein. Deswegen soll er erst schließen wenn entweder

LC=langsamer GD

oder

LC><langsamer GD

Ich glaube, LC=langsamer GD wäre besser, weil er ja ne Order öffnet, wenn LC<>beide GDs sind. Ich weiß nicht, ob die Befehle sich dann in
die Quere kommen, wenn er gleichzeitig ne Order schließen und ne neue öffnen soll.

Derzeit wird der Ausstieg so gemacht:
Code:

//Close Trade
  if (IsInvested) {
    for (i=OrdersTotal()-1; i>=0; i--) {
      if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
        if (OrderType()==OP_SELL && OrderMagicNumber()==MagicNumber && OrderSymbol()==Symbol()) {
            if(LC>GD1c || LC>GD2c) OrderClose(OrderTicket(), OrderLots(), Ask, Slippage, FireBrick);
        }
        if (OrderType()==OP_BUY && OrderMagicNumber()==MagicNumber && OrderSymbol()==Symbol()) {
            if(LC<GD1c || LC<GD2c) OrderClose(OrderTicket(), OrderLots(), Bid, Slippage, DarkBlue);


MA-EA 16.02.16 12:46

Weiß keiner, obs Probleme gibt, wenn er in einer Situation öffnen
und schließen soll? Eigentlich müsste es gehn, weil er nach dem
Close ja wieder zum Anfang des Programms geht.

pischinger 16.02.16 13:31

du fragst permanent bei jedem tick die open orders liste ab und dann erst den zustand der gd's? finde ich ungewöhlich.

warum nicht den gd zustand zuerst und bei treffer dann erst ob überhaupt eine order offen ist,
auch würde ich eine weitere kontrollinstanz einführen, um falsche close kommandos zu filtern

MA-EA 16.02.16 13:54

Hä? Versteh ich jetzt nicht.

MA-EA 16.02.16 14:17

Er hat schon wieder vorhin ne Order geöffnet und sich dann
verabschiedet. Der EA ist nicht mehr für diesen [WIKI]Chart[/WIKI]
aktiv. Da gibts irgendwelche Fehler. Im Journal und bei Experten ist
nichts verzeichnet. Die Einträge dort fangen erst 11:50:58.066 und 11:50:57.206 Uhr an.
https://charts.mql5.com/10/222/usdca...rokers-ltd.png

Edit:Hab heute gegen 10:55 MT4-Zeit für alle Pairs den EA gestartet
und die Fenster offen gelassen. Gerade eben schau ich alle durch.
Bei fast allen hat sich der EA irgendwann verabschiedet. Musste ihn gerade für fast alle wieder starten.

pischinger 16.02.16 14:49

Zitat:

Zitat von MA-EA (Beitrag 33237)
Hä? Versteh ich jetzt nicht.

bei jedem tick ladest du die offene order liste und fragst dann erst ab ob die gd's für buy/sell "matchen", wenn ja schließt du..

ich kenn das anders herum;
zuerst die gd's abfragen, wenn zustand erreicht dann die offenen orders abfragen, gibt es welche diese dann schließen

zusätzlich um fehl close signale aka mini minus zu erwirtschaften, lass z.b. einen rsi <>50 zusammen mit den gd's abfragen

MA-EA 16.02.16 15:05

Ich kapiers zwar immer noch nicht richtig aber:
er muss doch eh bei jedem LC prüfen, ob die Bedingungen für
Ein/Ausstieg gegeben sind. Ist das nicht egal, wie rum er dass macht?
Er läuft eh für jedes WP extra.

Um viele kleine Verluste zu vermeiden, soll er ja in Zukunft beim Aus-
stieg nach dem langsamen GD gehn. Allerdings weiß ich immer noch
nicht, ob er aussteigen soll wenn LC=langsamer GD oder
LC>/<langsamer GD (je nach Richtung). Gibts Probleme, wenn er letzteres tun soll? Er soll ja schon einsteigen, wenn LC</>beide GDs (je nach Richtung).

pischinger 16.02.16 15:16

Zitat:

Zitat von MA-EA (Beitrag 33242)
Ich kapiers zwar immer noch nicht richtig aber:
er muss doch eh bei jedem LC prüfen, ob die Bedingungen für
Ein/Ausstieg gegeben sind. Ist das nicht egal, wie rum er dass macht?
Er läuft eh für jedes WP extra.

Um viele kleine Verluste zu vermeiden, soll er ja in Zukunft beim Aus-
stieg nach dem langsamen GD gehn. Allerdings weiß ich immer noch
nicht, ob er aussteigen soll wenn LC=langsamer GD oder
LC>/<langsamer GD (je nach Richtung). Gibts Probleme, wenn er letzteres tun soll? Er soll ja schon einsteigen, wenn LC</>beide GDs (je nach Richtung).

prinzipiell ja, dem code macht es nix, aber du ladest bei jedem tick die gesamte! offene posten liste, dann symbol, magic, dann buy/sell-wie gesagt ist jetzt kein beinbruch aber ungewöhnlich.

es ist egal ob langsamer oder schneller, sobald die gd's um den "matchpoint" den du vorgibst rangieren kommt es zu order auf/zu.
um diese kleinen verluste zu vermeiden würde ich als kontrollorgan einen weiteren indi abfragen, oder
eine weitere lösung wäre nach einem schließen z.b. 30 min zu warten

MA-EA 16.02.16 21:28

Ist das richtig?
Code:

//Close Trade
  if (IsInvested) {
    for (i=OrdersTotal()-1; i>=0; i--) {
      if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
        if (OrderType()==OP_SELL && OrderMagicNumber()==MagicNumber && OrderSymbol()==Symbol()) {
            if(LC>GD2c) OrderClose(OrderTicket(), OrderLots(), Ask, Slippage, FireBrick);
        }
        if (OrderType()==OP_BUY && OrderMagicNumber()==MagicNumber && OrderSymbol()==Symbol()) {
            if(LC<GD2c) OrderClose(OrderTicket(), OrderLots(), Bid, Slippage, DarkBlue);
        }
      }
    }   
  }
       
 return(0);
}


MA-EA 17.02.16 22:48

Anscheinend ja. :rolleyes:

Noob-Frage:Sollte man vielleicht nach den Positionen und Kreuzungen
der GDs handeln lassen? Dann wären Ausbrecher und
Seitwärtstrend nicht mehr so problematisch.


Alle Zeitangaben in WEZ +2. Es ist jetzt 18:41 Uhr.

Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.6.1
Powered by vBCMS® 2.7.0 ©2002 - 2024 vbdesigns.de
Copyright ©2009 - 2023 by Expert-Advisor.com - Das Metatrader Forum