Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools
Zurück   Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools > Metatrader 5 > Programmierung MQL5

Programmierung MQL5 Hier gehts rund ums Programmieren in MQL5.

Login
Benutzername:
Kennwort:


Statistik
Themen: 4841
Beiträge: 42755
Benutzer: 7.157
Aktive Benutzer: 94
Links: 83
Wir begrüßen unseren neuesten Benutzer: Jasonheamp
Mit 2.475 Benutzern waren die meisten Benutzer gleichzeitig online (16.01.20 um 22:38).
Neue Benutzer:
vor 42 Minuten
- Jasonheamp
vor einem Tag
- Tagtranple...
vor 3 Tagen
- Albert12
vor 4 Tagen
- guentheral...
vor einer Woche
- Graf-Rotz

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

Empfehlungen

Like Tree3Likes
  • 2 Post By TraderMike
  • 1 Post By Ca
Antwort
 
Themen-Optionen Thema durchsuchen Ansicht
  #1 (permalink)  
Alt vor einer Woche
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 2.647
traderdoc befindet sich auf einem aufstrebenden Ast
Standard Ende der Session

Ich suche in den Untiefen des MQL5 eine Funktion, die das Ende der Handelszeit eines Handelsinstrumentes am Tag zurückgibt.
Klar Forex von Montag bis Donnerstag gibt es kein "Ende", aber sehr wohl am Freitag.
Noch bedeutender ist das bei z.B. Indices, Rohstoffen oder allgemein CFDs.

Hat jemand auf die Schnelle einen Tipp?

traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis.
Mit Zitat antworten
  #2 (permalink)  
Alt vor einer Woche
Neues Mitglied
 
Registriert seit: Jun 2022
Beiträge: 12
TraderMike befindet sich auf einem aufstrebenden Ast
Standard

SymbolInfoSessionQuote()

https://www.mql5.com/en/docs/marketi...fosessionquote

meinst du das?

Mike
traderdoc and Ca$hDigger like this.
Mit Zitat antworten
  #3 (permalink)  
Alt vor einer Woche
Premium Mitglied
 
Registriert seit: Jun 2013
Beiträge: 354
Ca$hDigger befindet sich auf einem aufstrebenden Ast
Standard

Oder alternativ SymbolInfoSessionTrade. Für mich wäre neben der Kursstellung noch entscheidender, kann ich im Zielzeitraum eine Order öffnen oder nicht.
https://www.mql5.com/en/docs/marketi...fosessiontrade

ps: genau genommen gibt es bei FX auch täglich "ein Ende", jede Nacht eine kleine Pause.
traderdoc likes this.
Mit Zitat antworten
  #4 (permalink)  
Alt vor einer Woche
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 2.647
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

Danke, ich werde beide Funktionen mal implementieren.

traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis.
Mit Zitat antworten
  #5 (permalink)  
Alt vor einer Woche
Benutzerbild von Indikator-Trading
Premium Mitglied
 
Registriert seit: May 2020
Ort: Bielefeld
Beiträge: 308
Indikator-Trading befindet sich auf einem aufstrebenden Ast
Standard

du musst beachten, das dir die o.g. Funktionen nur die Start und Endzeiten der angegebenen Session zurück geben. Manche Symbole haben aber mehrere Sessions. In meiner Implementierung habe ich dreifach Arrays genommen, wovon nur das erste Element dynamisch ist. Eleganter wäre eine Struct als dynamisches Array (für die Symbole) in dem die Zeitarrays ebenfalls dynamisch wären. Den Umweg mit der Struct muss man nur machen, da MT4/5 ja leider für ein mehrfaches Array nur einen Teil dynamisch zulässt. Ich entwickle immer nur EAs, welche Multisymbol fähig sein. Für einfache EAs, welche nur auf einem Symbol laufen sollen, kannst du ja den Code simpler gestalten.

Das Anpassen der Variablen ist ja kein Problem für dich, daher hier mein Code für dich:
Code:
bool SetupTradeTimeSessionArrays()
{
  for(int i = 0 ; i < NumberOfTradeableSymbols ; i++)
  {
    for(int Day = 0 ; Day <= 6 ; Day++)
    {
      TradeTimeStart_Session[i][Day][0] = -1;
      TradeTimeEnd_Session[i][Day][0] = -1;
      TradeTimeStart_Session[i][Day][1] = -1;
      TradeTimeEnd_Session[i][Day][1] = -1;
      TradeTimeStart_Session[i][Day][2] = -1;
      TradeTimeEnd_Session[i][Day][2] = -1;
      TradeTimeStart_Session[i][Day][3] = -1;
      TradeTimeEnd_Session[i][Day][3] = -1;
      TradeTimeStart_Session[i][Day][4] = -1;
      TradeTimeEnd_Session[i][Day][4] = -1;
      switch(GetNumberOfSessionsOfSymbol(i, (ENUM_DAY_OF_WEEK)Day,true))
      {
      case 5:
        SymbolInfoSessionTrade(SymbolArray[i], (ENUM_DAY_OF_WEEK)Day, 4, TradeTimeStart_Session[i][Day][4], TradeTimeEnd_Session[i][Day][4]);
      case 4:
        SymbolInfoSessionTrade(SymbolArray[i], (ENUM_DAY_OF_WEEK)Day, 3, TradeTimeStart_Session[i][Day][3], TradeTimeEnd_Session[i][Day][3]);
      case 3:
        SymbolInfoSessionTrade(SymbolArray[i], (ENUM_DAY_OF_WEEK)Day, 2, TradeTimeStart_Session[i][Day][2], TradeTimeEnd_Session[i][Day][2]);
      case 2:
        SymbolInfoSessionTrade(SymbolArray[i], (ENUM_DAY_OF_WEEK)Day, 1, TradeTimeStart_Session[i][Day][1], TradeTimeEnd_Session[i][Day][1]);
      case 1:
        SymbolInfoSessionTrade(SymbolArray[i], (ENUM_DAY_OF_WEEK)Day, 0, TradeTimeStart_Session[i][Day][0], TradeTimeEnd_Session[i][Day][0]);
        break;

      case 0:
        Print("Symbol ", SymbolArray[i], " has got no Sessions for ", DayToString((ENUM_DAY_OF_WEEK)Day), "! ");
        if(((ENUM_DAY_OF_WEEK)Day != SUNDAY) && ((ENUM_DAY_OF_WEEK)Day != SATURDAY))
          return false;
        break;
      default:
        Print("Symbol ", SymbolArray[i], " has got ", GetNumberOfSessionsOfSymbol(i, (ENUM_DAY_OF_WEEK)Day,false), " as the Number of Sessions for ", DayToString((ENUM_DAY_OF_WEEK)Day), "! ");
        return false;
      }
    }
  }
  return  true;
}
Mit Zitat antworten
Antwort

Lesezeichen

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 +2. Es ist jetzt 02:56 Uhr.





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