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

 
Können Sie mir sagen, was ich in den Code schreiben muss, damit die Aufträge nicht bei jedem Tick geöffnet werden?
 
int OnInit()
  {
   double LotSize(string symbol,datetime tbar)
     {
      double size;
      string BQ,currency=AccountCurrency();
      switch(MarketInfo(symbol,MODE_PROFITCALCMODE))
        {
         case 0:
           {
            int sbar=iBarShift(symbol,0,tbar);
            size=MarketInfo(symbol,MODE_LOTSIZE);
            if(StringSubstr(symbol,3,3)=="USD") break;
            if(StringSubstr(symbol,0,3)=="USD") size=size/iClose(symbol,0,sbar);
            else
              {
               BQ=StringSubstr(symbol,0,3)+"USD";
               if(iClose(BQ,0,0)==0) BQ="USD"+StringSubstr(symbol,0,3);
               if(iClose(BQ,0,0)==0) break;
               int BQbar=iBarShift(BQ,0,tbar);
               if(StringSubstr(BQ,0,3)=="USD") size=size/iClose(BQ,0,BQbar)/iClose(symbol,0,sbar);
               else size=size*iClose(BQ,0,BQbar)/iClose(symbol,0,sbar);
              }
           }
         break;
         case 1: size=MarketInfo(symbol,MODE_LOTSIZE); break;
         case 2: size=MarketInfo(symbol,MODE_TICKVALUE)/MarketInfo(symbol,MODE_TICKSIZE);
        }
      if(currency!="USD")
        {
         BQ=currency+"USD";
         if(iClose(BQ,0,0)==0)
           {
            BQ="USD"+currency;
            size*=iClose(BQ,0,iBarShift(BQ,0,tbar));
           }
         else size/=iClose(BQ,0,iBarShift(BQ,0,tbar));
        }
      return(size);
     }
Beim Kompilieren treten zwei Fehler auf: Ich kann nicht herausfinden, was falsch ist und wie man es beheben kann. Bitte geben Sie mir einen Hinweis.
 
Alexandr Saprykin:
Zwei Fehler während der Kompilierung: Ich kann nicht herausfinden, was falsch ist und wie man es beheben kann. Können Sie mir bitte sagen, wie ich das Problem beheben kann?
Die Telepathen sind im Urlaub und Sie haben keine Kopfzeile oder Erweiterung im Code-Header. Woher weiß ich, was es ist und in welcher Sprache es ist :)
 
Karputov Vladimir:
Die Telepathen sind im Urlaub, und Sie haben weder eine Kopfzeile noch eine Erweiterung im Kopfzeilencode. Finden Sie heraus, was es ist und in welcher Sprache es ist :)

Für Nicht-Telepfade)))

//+------------------------------------------------------------------+
//|                                                   Break Even.mq4 |
//|                                                 Copyright 2016,  |
//|                                         /ru |
//+------------------------------------------------------------------+
#property copyright "Copyright 2016, "
#property link      "/ru"
#property version   "1.00"
#property strict
#property indicator_chart_window   //отображение внутри основного окна
#property indicator_buffers 1
#property indicator_plots   1
//--- plot BreakEven
#property  indicator_label1  "BreakEven"     //название индикатора
#property  indicator_type1   DRAW_LINE      //рисовать линией
#property  indicator_color1  clrGold       // цвет индикатора
#property  indicator_style1  STYLE_SOLID  //стиль индикатора
#property  indicator_width1  1
//--- indicator buffers
double         BreakEvenBuffer[];
//+------------------------------------------------------------------+
//| Рассчитываем точку безубыточности                                |
//+------------------------------------------------------------------+
int OnInit()
  {
   double LotSize(string symbol,datetime tbar)
     {
      double size;
      string BQ,currency=AccountCurrency();
      switch(MarketInfo(symbol,MODE_PROFITCALCMODE))
        {
         case 0:
           {
            int sbar=iBarShift(symbol,0,tbar);
            size=MarketInfo(symbol,MODE_LOTSIZE);
            if(StringSubstr(symbol,3,3)=="USD") break;
            if(StringSubstr(symbol,0,3)=="USD") size=size/iClose(symbol,0,sbar);
            else
              {
               BQ=StringSubstr(symbol,0,3)+"USD";
               if(iClose(BQ,0,0)==0) BQ="USD"+StringSubstr(symbol,0,3);
               if(iClose(BQ,0,0)==0) break;
               int BQbar=iBarShift(BQ,0,tbar);
               if(StringSubstr(BQ,0,3)=="USD") size=size/iClose(BQ,0,BQbar)/iClose(symbol,0,sbar);
               else size=size*iClose(BQ,0,BQbar)/iClose(symbol,0,sbar);
              }
           }
         break;
         case 1: size=MarketInfo(symbol,MODE_LOTSIZE); break;
         case 2: size=MarketInfo(symbol,MODE_TICKVALUE)/MarketInfo(symbol,MODE_TICKSIZE);
        }
      if(currency!="USD")
        {
         BQ=currency+"USD";
         if(iClose(BQ,0,0)==0)
           {
            BQ="USD"+currency;
            size*=iClose(BQ,0,iBarShift(BQ,0,tbar));
           }
         else size/=iClose(BQ,0,iBarShift(BQ,0,tbar));
        }
      return(size);
     }
//--- indicator buffers mapping
   SetIndexBuffer(0,BreakEvenBuffer);

//---
   return(INIT_SUCCEEDED);
  }
 
Alexandr Saprykin:

Für diejenigen, die nicht telepathisch sind))))

Nehmen Sie die Funktion LotSize aus OnInit() heraus.
 
edutak:

Stichwort Logikfehler: Warum werden entgegengesetzte Aufträge nicht geöffnet?

Forum für Handel, automatisierte Handelssysteme und Strategietests

Fragen von Anfängern

Karputov Vladimir, 2016.04.16 13:04

Die Telepathen sind im Urlaub, und Sie haben weder einen Header noch eine Erweiterung im Code-Header. Finden Sie heraus, was es ist und in welcher Sprache es ist :)

 
Karputov Vladimir:

Müssen Sie den Algorithmus beschreiben?
 
edutak:
Müssen Sie den Algorithmus beschreiben?

Forum zum Thema Handel, automatisierte Handelssysteme und Testen von Handelsstrategien

Fragen von Anfängern

Karputov Vladimir, 2016.04.16 13:04

Die Telepathen sind im Urlaub, und Sie haben weder einen Header noch eine Erweiterung im Code-Header. Finden Sie heraus, was es ist und in welcher Sprache es ist :)

 
savinkins:
Ich habe den Standardbenutzernamen und das Standardkennwort für das Terminal. Kein Servername in der Auswahlliste, ich kopiere ihn. Jetzt habe ich überhaupt keine Agenten in der Netzwerkliste, obwohl der Saldo angezeigt wird.
 
savinkins:

Um das Terminal zu aktualisieren, verbinden Sie sich mit dem MetaQuotes-Demo-Handelsserver.


Grund der Beschwerde: