vps-Server - Seite 4

 
Subscribers:
und wenn es kein Internet gibt, dann gibt es auch keine Zecken. Die Funktion OnTick funktioniert nicht?
Auch wahr. Ich bin irgendwie auf die Verbindung zum Handelsserver fixiert. Natürlich haben Sie Recht - kein Internet, keine Zecken - niemand handelt irgendwo.
 
Vladimir Karputov:
Auch richtig. Die Verbindung zum Handelsserver hängt irgendwie fest. Natürlich haben Sie Recht - kein Internet, keine Zecken - niemand handelt irgendwo.

Ja, danke)

Eine andere Frage. Können Sie mir sagen, wie ich aus der Historie die Bestellungen der letzten Woche auswählen kann?

 
Subscribers:

Ja, danke)

Eine andere Frage. Können Sie mir sagen, wie ich die Aufträge der letzten Woche in der Historie auswählen kann?

Wer verwendet jetzt Bestellungen? Es ist besser, die Abschlüsse zu analysieren. Hier ein Beispiel für die Abfrage von Geschäften aus der Historie:

//+------------------------------------------------------------------+
//|                                         HistoryDealGetTicket.mq5 |
//|                        Copyright 2016, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2016, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.000"
#property script_show_inputs
//---
input datetime from_date=D'2016.09.20 11:11:00';
input datetime to_date=D'2016.09.20 11:40:00';
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
   ulong deal_ticket;            // тикет сделки
   ulong order_ticket;           // тикет ордера,по которому была совершена сделка
   datetime transaction_time;    // время совершения сделки  
   long deal_type;              // тип торговой операции
   long deal_entry;              // направление сделки
   long position_ID;             // идентификатор позиции
   string deal_description;      // описание операции
   double volume;                // объем операции
   string symbol;                // по какому символу была сделка
                                 ////--- установим начальную и конечную дату для запроса истории сделок
//   datetime from_date=0;          // с самого начала
//   datetime to_date=TimeCurrent();// по текущий момент
//--- запросим историрю сделок в указанном интервале
   HistorySelect(from_date,to_date);
//--- общее количество в списке сделок
   int deals=HistoryDealsTotal();
//--- теперь обработаем каждую сделку
   for(int i=0;i<deals;i++)
     {
      deal_ticket=HistoryDealGetTicket(i);
      volume=HistoryDealGetDouble(deal_ticket,DEAL_VOLUME);
      transaction_time=(datetime)HistoryDealGetInteger(deal_ticket,DEAL_TIME);
      order_ticket=HistoryDealGetInteger(deal_ticket,DEAL_ORDER);
      deal_type=HistoryDealGetInteger(deal_ticket,DEAL_TYPE);
      deal_entry=HistoryDealGetInteger(deal_ticket,DEAL_ENTRY);
      symbol=HistoryDealGetString(deal_ticket,DEAL_SYMBOL);
      position_ID=HistoryDealGetInteger(deal_ticket,DEAL_POSITION_ID);
      deal_description=GetDealDescription(deal_entry,deal_type,volume,symbol,order_ticket,position_ID);
      //--- сделаем красивое форматирование для номера сделки
      string print_index=StringFormat("% 3d",i);
      //--- выведем информацию по сделке
      Print(print_index+": deal #",deal_ticket," at ",transaction_time,deal_description);
     }
  }
//+------------------------------------------------------------------+
//| Возвращает строковое описание операции                           |
//+------------------------------------------------------------------+
string GetDealDescription(long deal_entry,long deal_type,double volume,string symbol,long ticket,long pos_ID)
  {
   string descr;
//---
   switch(deal_entry)
     {
      case DEAL_ENTRY_IN:     descr="Вход в рынок, "; break;
      case DEAL_ENTRY_OUT:    descr="Выход из рынка, "; break;
      case DEAL_ENTRY_INOUT:  descr="Разворот, "; break;
      case DEAL_ENTRY_OUT_BY: descr="Закрытие встречной позицией, "; break;
     }
//---
   switch(deal_type)
     {
      case DEAL_TYPE_BALANCE:                  return ("balance");
      case DEAL_TYPE_CREDIT:                   return ("credit");
      case DEAL_TYPE_CHARGE:                   return ("charge");
      case DEAL_TYPE_CORRECTION:               return ("correction");
      case DEAL_TYPE_BUY:                      descr+="buy"; break;
      case DEAL_TYPE_SELL:                     descr+="sell"; break;
      case DEAL_TYPE_BONUS:                    return ("bonus");
      case DEAL_TYPE_COMMISSION:               return ("additional commission");
      case DEAL_TYPE_COMMISSION_DAILY:         return ("daily commission");
      case DEAL_TYPE_COMMISSION_MONTHLY:       return ("monthly commission");
      case DEAL_TYPE_COMMISSION_AGENT_DAILY:   return ("daily agent commission");
      case DEAL_TYPE_COMMISSION_AGENT_MONTHLY: return ("monthly agent commission");
      case DEAL_TYPE_INTEREST:                 return ("interest rate");
      case DEAL_TYPE_BUY_CANCELED:             descr+="cancelled buy deal"; break;
      case DEAL_TYPE_SELL_CANCELED:            descr+="cancelled sell deal"; break;
     }
   descr=StringFormat("%s %G %s (order #%d, position ID %d)",
                      descr,  // текущее описание
                      volume, // объем сделки
                      symbol, // инструмент сделки
                      ticket, // тикет ордера,вызвавшего сделку
                      pos_ID  // ID позиции, в которой участвовала сделка
                      );
   return(descr);
//---
  }
//+------------------------------------------------------------------+
Dateien:
 
Vladimir Karputov:

Wer verwendet heutzutage noch Haftbefehle? Es ist besser, die Geschäfte zu analysieren. Hier ein Beispiel für die Beantragung von Handelsgeschäften aus der Vergangenheit:


Danke, aber ich brauche es auf mql4. Ich möchte noch nicht auf mql5 umsteigen. Irgendwie habe ich mich an MT4 gewöhnt.
 
Subscribers:
Danke, aber ich muss zu mql4 wechseln. Ich möchte noch nicht auf mql5 umsteigen. Ich habe mich irgendwie an MT4 gewöhnt.
Für Faulpelze und Fortschrittsverweigerer:MQL4 und MetaTrader 4
 
Vladimir Karputov:
Für faule Menschen und Fortschrittsmuffel:MQL4 und MetaTrader 4
ahaha... Ich danke Ihnen. Es gibt immer noch eine Menge Leute, die auf MT4 bleiben. Wer mag was... Ich bestreite nicht, dass es nützliche Funktionen auf MT5 gibt, aber ich mag die Tatsache nicht, dass man nicht zwei verschiedene Positionen in verschiedenen Richtungen mit verschiedenen Ticks auf demselben Symbol eröffnen kann.
 
Subscribers:
ahaha... danke. Es gibt immer noch eine Menge Leute, die auf MT4 bleiben. Was jeder mag... Ich bestreite nicht, dass es nützliche Funktionen auf MT5 gibt, aber ich mag die Tatsache nicht, dass man nicht zwei verschiedene Positionen in verschiedenen Richtungen mit verschiedenen Tickets auf demselben Symbol eröffnen kann.

Woher kommt dieser Nihilismus? Sie müssen ein MetaTrader 5-Terminal öffnen, bevor Sie sprechen können :). Das MetaTrader 5-Terminal verfügt seit langem über ZWEI Arten von Handelskonten: Netting und Hedging (Hedging bedeutet "zwei verschiedene Positionen in verschiedenen Richtungen mit verschiedenen Ticks auf demselben Symbol").

 
Vladimir Karputov:

Woher kommt dieser Nihilismus? Sie müssen ein MetaTrader 5-Terminal öffnen, bevor Sie sprechen können :). Das MetaTrader 5-Terminal verfügt seit langem über ZWEI Arten von Handelskonten: Netting und Hedging (Hedging bedeutet "zwei verschiedene Positionen in verschiedenen Richtungen mit verschiedenen Ticks auf demselben Symbol").

Ich wusste nichts von Hedging. Danke. Ich werde jetzt einen Blick darauf werfen.
 
Subscribers:
Ich wusste nichts von der Hecke. Danke. (lacht) Ich werde jetzt einen Blick darauf werfen.
Eröffnung von Hedge-Konten:System zur Verbuchung von Hedge-Positionen,
 
Vladimir Karputov:
Eröffnung von Hedge-Konten:System zur Verbuchung von Hedge-Positionen,

kein Kontrollkästchen "Absicherung verwenden" verfügbar ...( Vielleicht ein altes Terminal?