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 MQL5 (http://www.expert-advisor.com/forum/forumdisplay.php?f=221)
-   -   Zeitbasiertes Ereignis im MT5 (http://www.expert-advisor.com/forum/showthread.php?t=5862)

ralfbenker 16.09.17 10:16

Zeitbasiertes Ereignis im MT5
 
Hallo,
mql4 war ja noch relativ übersichtlich. Jetzt hab ich mich mal mit mql5 beschäftigt und weiss nicht wie ich ein zeitbasiertes Ereignis steuere.

In mql4 ging das ja einfach mit:

PHP-Code:

int StartHour=10;
if(
TimeHour(TimeCurrent())==StartHour)
{
//--Anweisungen


Wie mache ich sowas in mql5 ?

Kronenchakra 16.09.17 11:20

Hallo,

hier ein kleines Sript als Beispiel:

Code:

int StartHour=10;

void OnStart()
{
  Print("TimeCurrent: ", TimeCurrent());
  Print("TimeCurrentHour: ",TimeCurrentHour());
  Print("TimeCurrentMin: ",TimeCurrentMin());
}

//+------------------------------------------------------------------+
//| Diese Funktionen am besten in eine mqh auslagern zb MyUtils.mqh  |
//+------------------------------------------------------------------+

int TimeCurrentHour()
{
  MqlDateTime mqlDateTime;
  datetime currTime=TimeCurrent(mqlDateTime);
  return(mqlDateTime.hour);
}

int TimeCurrentMin()
{
  MqlDateTime mqlDateTime;
  datetime currTime=TimeCurrent(mqlDateTime);
  return(mqlDateTime.min);
}

hier ein weiteres etwas komplexeres Beispiel einer Zeitsteuerung:
Code:

enum ENUM_TRADE_CMD                // Enumeration of possible commands
{
  TRADE_STOP,                      // immediate stop
  TRADE_CLOSE,                    // soft stop, try to close pos in win, don't open new deals
  TRADE_TRADE                      // start and/or countinue trading
};

ENUM_TRADE_CMD CTimes::TradeCmd(void)
{
  MqlDateTime mqlDateTime;

  datetime currTime=TimeCurrent(mqlDateTime);
  string strTime=TimeToString(currTime,TIME_MINUTES);
  int DayOfWeek=mqlDateTime.day_of_week;

  switch(DayOfWeek)
    {
      case 0: return(TRADE_CLOSE);                      // SO
      case 1:
      case 2:
      case 3:
      case 4:{
              if(strTime>"22:30") return(TRADE_CLOSE);  // MO,DI,MI,DO
              if(strTime>"01:00") return(TRADE_TRADE);
              break;
            }
      case 5:{
              if(strTime>"21:45") return(TRADE_STOP);  // FR
              if(strTime>"21:00") return(TRADE_CLOSE);
              if(strTime>"01:00") return(TRADE_TRADE);
              break;
            }
      case 6:{
              return(TRADE_CLOSE);    // SA
              break;
            }
    }

  return(TRADE_CLOSE);
}

viel Erfolg damit
Otto

ralfbenker 16.09.17 11:54

Danke, hab mir das MQL5 Buch von Andrew R. Young bei Amazon bestellt, kommt aber erst Montag. Hoffe ich werd daraus schlau. Das mql4 Buch von ihm war ja easy zu verstehen.


Alle Zeitangaben in WEZ +2. Es ist jetzt 01:48 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