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

 
pako:

den Puffer abfragen, zum Beispiel wie folgt

Funktioniert nicht: Egal, welche Puffernummer Sie einstellen, es wird immer nur das letzte berechnete Extremum geschrieben(
 
mavar:

Wie kann ich die Bollinger auf dem Chart genau in den Parametern sehen, die im Code sind? wo sind die erforderlichen Indikatorparameter konfiguriert.


Der Bollinger läuft, aber er zeigt einige falsche Werte an.

Ich meine, ich kann ein Diagramm erstellen, das mit dem Hoch oder Tief, entlang des Exponenten usw. beginnt. Wie man es in den Code zu regulieren und sehen es auf einem Diagramm, um visuell die EA zu kontrollieren?

Wenn ich Metatrader5 starte, werden Indikatoren, die im Strategietester verwendet werden, automatisch gezeichnet.
 
LBatters:
In metatrader5, wenn ich meine EA laufen, in der Strategie-Tester, die Indikatoren, die Sie verwenden, sind gezeichnet.

Ich habe sie nicht gezeichnet! Was mache ich falsch?

Hier ist mein Code:


//+------------------------------------------------------------------+
//|                                                         test.mq5 |
//|                                                           Andrey |
//|                                              http://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Andrey"
#property link      "http://www.mql5.com"
#property version   "1.00"

int BolBandsHandle;                // хэндл индикатора Bolinger Bands
double BBUp[],BBLow[],BBMidle[];   // динамические массивы для хранения численных значений Bollinger Bands
//--- входные параметры
input int bands_period= 20;        // Период Bollinger Bands
input int dema_period= 20;         // Период DEMA
input int bands_shift = 0;         // Смещение относительно графика
input double deviation= 2;         // Стандартное отклонение
int demaHandle;                    // хэндл индикатора DEMA

//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
   printf("test string");
   
     //---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
   printf("test string3");
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---

//Переменная типа MqlTick позволяет за один вызов функции SymbolInfoTick() получить значения time, Ask, Bid, Last и Volume.
      MqlTick last_tick;
      //---
      if(SymbolInfoTick(Symbol(),last_tick))
        {
         Print(last_tick.time,": Bid = ",last_tick.bid,
               " Ask = ",last_tick.ask,"  Volume = ",last_tick.volume, "  LastPrice = ",last_tick.last );
        }
      else Print("SymbolInfoTick() failed, error = ",GetLastError());
      //---
      
        //---Читаем свечку
   MqlRates rates[];
   ArraySetAsSeries(rates,true);
   int copied=CopyRates(Symbol(),0,0,1,rates);
   if(copied>0)
     {
      //Print("Скопировано баров: "+copied);
      string format="open = %G, high = %G, low = %G, close = %G, volume = %d";
      string out;
      int size=fmin(copied,10);
      for(int i=0;i<size;i++)
        {
         //out=i+":"+TimeToString(rates[i].time);
         out=out+" "+StringFormat(format,
                                  rates[i].open,
                                  rates[i].high,
                                  rates[i].low,
                                  rates[i].close,
                                  rates[i].tick_volume);
         Print(out);
         Print(rates[i].open - rates[i].close );
        }
     }
   else Print("Не удалось получить исторические данные по символу ",Symbol());

//---=======-----\_____BOLLINGER____/--------========--//
//--- получить хэндл индикатора Bollinger Bands и DEMA
   BolBandsHandle=iBands(NULL,PERIOD_M30,bands_period,bands_shift,deviation,PRICE_CLOSE);
   demaHandle=iDEMA(NULL,PERIOD_D1,dema_period,0,PRICE_CLOSE);
   
//--- копируем новые значения индикаторов используя хэндлы
   if(CopyBuffer(BolBandsHandle,0,0,3,BBMidle)<0 || CopyBuffer(BolBandsHandle,1,0,3,BBUp)<0
      || CopyBuffer(BolBandsHandle,2,0,3,BBLow)<0)
     {
      Alert("Ошибка копирования буферов индикатора Bollinger Bands - номер ошибки:",GetLastError(),"!!");
      return;
     }
//********** это цикл надо добавить в код советника, выводит значения при наступлении нового бара
   for(int nbar=0; nbar < 1; nbar++)
     Print("nbar=", nbar, "  BBLow[nbar]=", DoubleToString(BBLow[nbar], _Digits), "  BBMidle[nbar]", DoubleToString(BBMidle[nbar], _Digits),
                    "  BBUp[nbar]=", DoubleToString(BBUp[nbar], _Digits));

  }
//+------------------------------------------------------------------+
//| BookEvent function                                               |
//+------------------------------------------------------------------+
void OnBookEvent(const string &symbol)
  {
//---
   printf("test string 1 ");
 
   
  }
//+------------------------------------------------------------------+


 
C-4:
Die letzte von MetaQuotes organisierte Meisterschaft fand 2012 statt. Heute gibt es keine solchen Meisterschaften mehr. Aber viele Makler veranstalten immer noch ihre eigenen Meisterschaften. Sie können sich an ihnen beteiligen.
Dies ist eine gute Website, an der ich selbst teilnehme. In den meisten von ihnen sind EAs verboten, aber es gibt einige mit EAs und sogar kostenlose mit Preis. _http://contestsarena.com/xm/ru#/login/
 
LBatters:
Es funktioniert nicht: Egal, welche Puffernummer Sie einstellen, es wird immer nur das letzte Extremum berechnet(
Das ist es, was es sagt, das letzte Extremum
 

Wie bringe ich den EA dazu, beim Starten Bollinger-Linien zu zeichnen?

Ich habe (Code oben) gibt einige bollinger Werte, sondern müssen die Parameter visuell zu beobachten.

 

Hilfe!!!

Ich habe Metatrader 4 Build 711 heruntergeladen und installiert.

Ich habe dasDemokonto auf InstaForex-Demo.com heruntergeladen und installiert

Ich kann keine kostenlosen Signale abonnieren, weder über das Terminal noch über die Website

Ich habe das Passwort eingegeben und mich auf derRegisterkarte "Community" im Terminal angemeldet.

Bilanz zeigt

Ich habe Anschluss

im Terminal:

2014.10.15 23:35:16.541 Virtual Hosting: Verbindung zum Server 'www.mql5.com' fehlgeschlagen (www.mql5.com:443 fehlgeschlagen)


2014.10.15 23:08:20.101 MQL5.community: Autorisierung fehlgeschlagen

2014.10.15 23:08:01.847 Signal: '61447950': Liste der Signale konnte nicht abgerufen werden, Verbindungsfehler
2014.10.15 23:03:19.887 MQL5.community: Autorisierung fehlgeschlagen
2014.10.15 23:03:01.696 Signal: '61447950': Liste der Signale kann nicht abgerufen werden, Verbindungsfehler

Bitte helfen Sie mir zu verstehen...

 
xscanerx:

H 2014.10.15 23:08:20.101 MQL5.community: Autorisierung fehlgeschlagen

Dies weist auf ein falsches Passwort hin. Mögliche Fehler - Sie fügen ein Leerzeichen ein; Sie vergessen das "_"-Zeichen; Sie verwechseln die Groß- und Kleinschreibung bei der Eingabe.
 
Können Sie mir sagen, wie man einen EA das Los in einer bereits offenen Position zu erhöhen? MQL5. Schon jetzt vielen Dank.
 
ArkFatalist:
Können Sie mir sagen, wie man einen EA das Los in einer bereits offenen Position zu erhöhen? MQL5. Schon jetzt vielen Dank.
Eröffnen Sie eine zusätzliche Position mit einem Los, das dem Anstieg entspricht und die gleiche Richtung wie die bereits eröffnete Position hat. MT5 wird beide Positionen selbständig zu einer kumulativen Position zusammenführen.