Fragen von Anfängern MQL5 MT5 MetaTrader 5 - Seite 1122

 

2019.09.09 18:03:27.865 Terminal MetaTrader 5 x64 build 2138 gestartet (MetaQuotes Software Corp.)
2019.09.09 18:03:27.866 Terminal Windows 10 (build 18362) x64, IE 11, UAC, Intel Core i7-3770K @ 3.50GHz, Speicher: 20544 / 24520 Mb, Festplatte: 145 / 237 Gb, GMT+2
2019.09.09 18:03:27.866 Terminal C:\Users\User\AppData\Roaming\MetaQuotes\Terminal\D0E8209F77C8CF37AD8BF550E51FF075

Der übliche Blick auf mein ICH:

Ein gestimmtes ME

Ich schließe es nach der Arbeit, nichts hängt davon ab, wie ich es schließe.
Das nächste Mal, wenn ich das ME öffne, sieht es so aus:

Unkonfiguriertes ME

Ansicht - Symbolleisten können Sie alles einrichten.

Nach dem Herunterfahren wiederholt sich alles.


Bauen Sie
 
User_mt5:

2019.09.09 18:03:27.865 Terminal MetaTrader 5 x64 build 2138 gestartet (MetaQuotes Software Corp.)
2019.09.09 18:03:27.866 Terminal Windows 10 (build 18362) x64, IE 11, UAC, Intel Core i7-3770K @ 3.50GHz, Speicher: 20544 / 24520 Mb, Festplatte: 145 / 237 Gb, GMT+2
2019.09.09 18:03:27.866 Terminal C:\Users\User\AppData\Roaming\MetaQuotes\Terminal\D0E8209F77C8CF37AD8BF550E51FF075

Der übliche Blick auf mein ICH:

Ich schließe es nach der Arbeit, nichts hängt davon ab, wie ich es schließe.
Das nächste Mal, wenn ich das ME öffne, sieht es so aus:

Ansicht - Symbolleisten können Sie alles einrichten.

Nach dem Herunterfahren wiederholt sich alles.


Drücken Sie nun F12

 
User_mt5:

2019.09.09 18:03:27.865 Terminal MetaTrader 5 x64 build 2138 gestartet (MetaQuotes Software Corp.)
2019.09.09 18:03:27.866 Terminal Windows 10 (build 18362) x64, IE 11, UAC, Intel Core i7-3770K @ 3.50GHz, Speicher: 20544 / 24520 Mb, Festplatte: 145 / 237 Gb, GMT+2
2019.09.09 18:03:27.866 Terminal C:\Users\User\AppData\Roaming\MetaQuotes\Terminal\D0E8209F77C8CF37AD8BF550E51FF075

Der übliche Blick auf mein ICH:

Ich schließe es nach der Arbeit, nichts hängt davon ab, wie ich es schließe.
Das nächste Mal, wenn ich das ME öffne, sieht es so aus:

Ansicht - Symbolleisten können Sie alles einrichten.

Nach dem Ausschalten wiederholt sich alles.


Versuchen Sie, den Datenordner zu öffnen, gehen Sie zu \config, schließen Sie das Terminal und MetaEditor, löschen Sie die Datei metaeditor.ini

 
Artyom Trishkin:

Drücken Sie nun F12

Das hat funktioniert.

Ich danke Ihnen vielmals.

 
Vladimir Karputov:

Versuchen Sie, den Datenordner zu öffnen, gehen Sie dort zu \config, schließen Sie das Terminal und MetaEditor, löschen Sie die Datei metaeditor.ini

F12 hat funktioniert, also ist nichts weiter erforderlich.

Vielen Dank für die Hilfe.

 
User_mt5:

F12 hat funktioniert, also ist nichts weiter erforderlich.

Vielen Dank für Ihre Hilfe.

Wow. Ich wusste nicht, dass es für MetaEditor 5 die Funktion F12 (auf Vollbild erweitern) gibt!

 
Vladimir Karputov:

Was genau wollen Sie bekommen? Möchten Sie den Zeitpunkt des letzten Handels(Art des Handels "außerhalb des Marktes")? Oder müssen Sie den Zeitpunkt der Schließung einer Position in der Handelshistorie kennen?

Sie müssen den Zeitpunkt der letzten geschlossenen Position in der Handelshistorie kennen.

Der Code, den ich schrieb, wird in MQL5 arbeiten, obwohl ich die Bibliothekfxsaber Werke Code mt4, aber immer noch, die Frage bleibt, kann ich nicht dieOrderCloseTime() Funktionin MQL5 machen? Aber ich sollte es besser aufgeben. Ich habe eher eine Frage an die Entwickler. Ich brauche nicht zu antworten, ich habe die Geschichte in der Branche gelesen. Vieles habe ich bisher nicht verstanden, vielleicht werde ich meine Ansichten über die Sprache MQL5 mit der Zeit überdenken.

 
Pul-Adgi Mo-UlStan:

Ich muss den Zeitpunkt der letzten geschlossenen Position in der Handelshistorie kennen.

Der Code, den ich geschrieben habe, funktioniert in MQL5, obwohl ich diefxsaber-Bibliothek angeschlossen habe, der mt4-Code noch funktioniert, aber die Frage bleibt, kann ich nicht die OrderCloseTime() Funktion in MQL5 machen? Aber ich sollte es besser aufgeben. Ich habe eher eine Frage an die Entwickler. Ich brauche nicht zu antworten, ich habe die Geschichte in der Branche gelesen. Vieles habe ich bisher nicht verstanden, vielleicht werde ich meine Ansichten über die Sprache MQL5 mit der Zeit überdenken.

Das ist ganz einfach. Man muss sie nur lesen und dann seine Schlüsse ziehen :)

 
Pul-Adgi Mo-UlStan:

Ich muss den Zeitpunkt der letzten geschlossenen Position in der Handelshistorie kennen.

Der Code, den ich geschrieben habe, funktioniert in MQL5, obwohl ich diefxsaber-Bibliothek angeschlossen habe, der mt4-Code noch funktioniert, aber die Frage bleibt, kann ich nicht die OrderCloseTime() Funktion in MQL5 machen? Aber ich sollte es besser aufgeben. Ich habe eher eine Frage an die Entwickler. Ich brauche nicht zu antworten, ich habe die Geschichte in der Branche gelesen. Ich verstehe viele Dinge noch nicht, vielleicht werde ich meine Ansichten über die Sprache MQL5 mit der Zeit überdenken.

Verwenden Sie eine sehr einfache Methode (zumal bei 99 % der Hedge-Konten die Geschäftsart "Ausstieg aus dem Markt" lautet - dies ist die Schließung der Position).

Online-Erfassung der TransaktionTRADE_TRANSACTION_DEAL_ADD- Hinzufügen der Transaktion zur Historie, Überprüfung, ob es sich um einen KAUF oder VERKAUF handelt, Überprüfung, ob es sich um eine Marktaustritts-Transaktion handeltDEAL_ENTRY_OUT

//+------------------------------------------------------------------+
//| TradeTransaction function                                        |
//+------------------------------------------------------------------+
void OnTradeTransaction(const MqlTradeTransaction &trans,
                        const MqlTradeRequest &request,
                        const MqlTradeResult &result)
  {
//--- get transaction type as enumeration value
   ENUM_TRADE_TRANSACTION_TYPE type=trans.type;
//--- if transaction is result of addition of the transaction in history
   if(type==TRADE_TRANSACTION_DEAL_ADD)
     {
      long     deal_ticket       =0;
      long     deal_order        =0;
      long     deal_time         =0;
      long     deal_time_msc     =0;
      long     deal_type         =-1;
      long     deal_entry        =-1;
      long     deal_magic        =0;
      long     deal_reason       =-1;
      long     deal_position_id  =0;
      double   deal_volume       =0.0;
      double   deal_price        =0.0;
      double   deal_commission   =0.0;
      double   deal_swap         =0.0;
      double   deal_profit       =0.0;
      string   deal_symbol       ="";
      string   deal_comment      ="";
      string   deal_external_id  ="";
      if(HistoryDealSelect(trans.deal))
        {
         deal_ticket       =HistoryDealGetInteger(trans.deal,DEAL_TICKET);
         deal_order        =HistoryDealGetInteger(trans.deal,DEAL_ORDER);
         deal_time         =HistoryDealGetInteger(trans.deal,DEAL_TIME);
         deal_time_msc     =HistoryDealGetInteger(trans.deal,DEAL_TIME_MSC);
         deal_type         =HistoryDealGetInteger(trans.deal,DEAL_TYPE);
         deal_entry        =HistoryDealGetInteger(trans.deal,DEAL_ENTRY);
         deal_magic        =HistoryDealGetInteger(trans.deal,DEAL_MAGIC);
         deal_reason       =HistoryDealGetInteger(trans.deal,DEAL_REASON);
         deal_position_id  =HistoryDealGetInteger(trans.deal,DEAL_POSITION_ID);

         deal_volume       =HistoryDealGetDouble(trans.deal,DEAL_VOLUME);
         deal_price        =HistoryDealGetDouble(trans.deal,DEAL_PRICE);
         deal_commission   =HistoryDealGetDouble(trans.deal,DEAL_COMMISSION);
         deal_swap         =HistoryDealGetDouble(trans.deal,DEAL_SWAP);
         deal_profit       =HistoryDealGetDouble(trans.deal,DEAL_PROFIT);

         deal_symbol       =HistoryDealGetString(trans.deal,DEAL_SYMBOL);
         deal_comment      =HistoryDealGetString(trans.deal,DEAL_COMMENT);
         deal_external_id  =HistoryDealGetString(trans.deal,DEAL_EXTERNAL_ID);
        }
      else
         return;
      ENUM_DEAL_ENTRY enum_deal_entry=(ENUM_DEAL_ENTRY)deal_entry;
      if(deal_symbol==ИМЯ ВАШЕГО СИМВОЛА && deal_magic==НОМЕР ВАШЕГО MAGIC)
        {
         if(deal_type==DEAL_TYPE_BUY || deal_type==DEAL_TYPE_SELL)
           {
            if(deal_entry==DEAL_ENTRY_OUT)
              {
               *** ***
              }
           }
        }
     }
  }
 

Forum für Handel, automatisierte Handelssysteme und Strategietests

Fragen von Anfängern MQL5 MT5 MetaTrader 5

MrBrooklin, 2019.09.09 09:50

Guten Tag allerseits und tolle Gewinne!

Ich habe einen einfachen Expert Advisor mit dem VQL5-Assistenten erstellt; der Code ist unten angegeben. Helfen Sie mir zu verstehen, warum die Funktion "Verfall von Pending Orders (in Bars)" nicht funktioniert. Ich habe beliebige Signal_Expiration-Werte von 1 bis 1000 eingestellt, aber die Pending-Order existiert immer noch nur innerhalb eines Balkens. Ich füge auch Parametereinstellungen bei.

Zum Testen verwende ich ein Demokonto im Metatrader 5 Terminal, Build 2136.

Mit freundlichen Grüßen, Vladimir.

//+------------------------------------------------------------------+
//|                                                EA_MasterMQL5.mq5 |
//|                        Copyright 2019, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2019, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
//+------------------------------------------------------------------+
//| Include                                                          |
//+------------------------------------------------------------------+
#include <Expert\Expert.mqh>
//--- available signals
#include <Expert\Signal\SignalITF.mqh>
//--- available trailing
#include <Expert\Trailing\TrailingNone.mqh>
//--- available money management
#include <Expert\Money\MoneyFixedRisk.mqh>
//+------------------------------------------------------------------+
//| Inputs                                                           |
//+------------------------------------------------------------------+
//--- inputs for expert
input string Expert_Title            ="EA_MB_MasterMQL5"; // Document name
ulong        Expert_MagicNumber      =1473;               //
bool         Expert_EveryTick        =false;              //
//--- inputs for main signal
input int    Signal_ThresholdOpen    =0;                 // Signal threshold value to open [0...100]
input int    Signal_ThresholdClose   =0;                 // Signal threshold value to close [0...100]
input double Signal_PriceLevel       =0.0;                // Price level to execute a deal
input double Signal_StopLevel        =50.0;               // Stop Loss level (in points)
input double Signal_TakeLevel        =50.0;               // Take Profit level (in points)
input int    Signal_Expiration       =4;                  // Expiration of pending orders (in bars)
input int    Signal_ITF_GoodHourOfDay=-1;                 // IntradayTimeFilter(-1,...) Good hour
input int    Signal_ITF_BadHoursOfDay=8389119;            // IntradayTimeFilter(-1,...) Bad hours (bit-map)
input int    Signal_ITF_GoodDayOfWeek=-1;                 // IntradayTimeFilter(-1,...) Good day of week
input int    Signal_ITF_BadDaysOfWeek=0;                  // IntradayTimeFilter(-1,...) Bad days of week (bit-map)
input double Signal_ITF_Weight       =1.0;                // IntradayTimeFilter(-1,...) Weight [0...1.0]
//--- inputs for money
input double Money_FixRisk_Percent   =10.0;               // Risk percentage
//+------------------------------------------------------------------+
//| Global expert object                                             |
//+------------------------------------------------------------------+
CExpert ExtExpert;
//+------------------------------------------------------------------+
//| Initialization function of the expert                            |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- Initializing expert
   if(!ExtExpert.Init(Symbol(),Period(),Expert_EveryTick,Expert_MagicNumber))
     {
      //--- failed
      printf(__FUNCTION__+": error initializing expert");
      ExtExpert.Deinit();
      return(INIT_FAILED);
     }
//--- Creating signal
   CExpertSignal *signal=new CExpertSignal;
   if(signal==NULL)
     {
      //--- failed
      printf(__FUNCTION__+": error creating signal");
      ExtExpert.Deinit();
      return(INIT_FAILED);
     }
//---
   ExtExpert.InitSignal(signal);
   signal.ThresholdOpen(Signal_ThresholdOpen);
   signal.ThresholdClose(Signal_ThresholdClose);
   signal.PriceLevel(Signal_PriceLevel);
   signal.StopLevel(Signal_StopLevel);
   signal.TakeLevel(Signal_TakeLevel);
   signal.Expiration(Signal_Expiration);
//--- Creating filter CSignalITF
   CSignalITF *filter0=new CSignalITF;
   if(filter0==NULL)
     {
      //--- failed
      printf(__FUNCTION__+": error creating filter0");
      ExtExpert.Deinit();
      return(INIT_FAILED);
     }
   signal.AddFilter(filter0);
//--- Set filter parameters
   filter0.GoodHourOfDay(Signal_ITF_GoodHourOfDay);
   filter0.BadHoursOfDay(Signal_ITF_BadHoursOfDay);
   filter0.GoodDayOfWeek(Signal_ITF_GoodDayOfWeek);
   filter0.BadDaysOfWeek(Signal_ITF_BadDaysOfWeek);
   filter0.Weight(Signal_ITF_Weight);
//--- Creation of trailing object
   CTrailingNone *trailing=new CTrailingNone;
   if(trailing==NULL)
     {
      //--- failed
      printf(__FUNCTION__+": error creating trailing");
      ExtExpert.Deinit();
      return(INIT_FAILED);
     }
//--- Add trailing to expert (will be deleted automatically))
   if(!ExtExpert.InitTrailing(trailing))
     {
      //--- failed
      printf(__FUNCTION__+": error initializing trailing");
      ExtExpert.Deinit();
      return(INIT_FAILED);
     }
//--- Set trailing parameters
//--- Creation of money object
   CMoneyFixedRisk *money=new CMoneyFixedRisk;
   if(money==NULL)
     {
      //--- failed
      printf(__FUNCTION__+": error creating money");
      ExtExpert.Deinit();
      return(INIT_FAILED);
     }
//--- Add money to expert (will be deleted automatically))
   if(!ExtExpert.InitMoney(money))
     {
      //--- failed
      printf(__FUNCTION__+": error initializing money");
      ExtExpert.Deinit();
      return(INIT_FAILED);
     }
//--- Set money parameters
   money.Percent(Money_FixRisk_Percent);
//--- Check all trading objects parameters
   if(!ExtExpert.ValidationSettings())
     {
      //--- failed
      ExtExpert.Deinit();
      return(INIT_FAILED);
     }
//--- Tuning of all necessary indicators
   if(!ExtExpert.InitIndicators())
     {
      //--- failed
      printf(__FUNCTION__+": error initializing indicators");
      ExtExpert.Deinit();
      return(INIT_FAILED);
     }
//--- ok
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Deinitialization function of the expert                          |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
   ExtExpert.Deinit();
  }
//+------------------------------------------------------------------+
//| "Tick" event handler function                                    |
//+------------------------------------------------------------------+
void OnTick()
  {
   ExtExpert.OnTick();
  }
//+------------------------------------------------------------------+
//| "Trade" event handler function                                   |
//+------------------------------------------------------------------+
void OnTrade()
  {
   ExtExpert.OnTrade();
  }
//+------------------------------------------------------------------+
//| "Timer" event handler function                                   |
//+------------------------------------------------------------------+
void OnTimer()
  {
   ExtExpert.OnTimer();
  }
//+------------------------------------------------------------------+

Grund der Beschwerde: