Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 298

 
pako:

опросите буфер, например так

Не катит.Хоть какой номер буфера ставь все равно пишет только последний высчитанный экстремум(
 
mavar:

 Как увидеть боллинджера на графике именно в тех параметрах, которые есть в коде? в каком месте настраиваются нужные параметрами индикатора.


Вроде боллинджера запустил, а вот читает он какие-то не те значения.

Ведь можно строить график от хая или лоу, по экспоненте и т.д . Как это в коде регулировать и видеть на графике при этом чтобы визуально контролировать советника?

В metatrader5 когда запускаешь советник ,в тестере стратегий ,индикаторы ,которые используешь, сами рисуются.
 
LBatters:
В metatrader5 когда запускаешь советник ,в тестере стратегий ,индикаторы ,которые используешь, сами рисуются.

А у меня не рисуются! Что я не правильно делаю?

Вот мой код:


//+------------------------------------------------------------------+
//|                                                         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:
Последний чемпионат, устраиваемой компанией MetaQuotes был в 2012 году. Сейчас такие чемпионаты не проводятся. Но многие брокеры по-прежнему проводят свои чемпионаты. Вы можете участвовать в них.
Вот неплохая площадка, сам там участвую. В основной массе конкурсов советники запрещены, но есть и с советниками и даже бесплатные с призом. _http://contestsarena.com/xm/ru#/login/
 
LBatters:
Не катит.Хоть какой номер буфера ставь все равно пишет только последний высчитанный экстремум(
так там так и написано, последний экстремум
 

как сделать, чтобы советник при запуске нарисовал линии боллинджера?

У меня (код выше) выводит какие-то значения болли нджера, но нужно визуально наблюдать за параметрами.

 

Help!!!

Скачал и установил метатрейдер 4 билд 711

демо счет на  InstaForex-Demo.com

Не могу оформить подписку на сигналы free ни через терминал, ни через сайт

вкладка "Сообщество" в терминале  ввел и пароль и логин

баланс показывает 

соединение есть 

  в терминале:

 2014.10.15 23:35:16.541 Virtual Hosting: failed to connect to server 'www.mql5.com' (www.mql5.com:443 failed)


 2014.10.15 23:08:20.101 MQL5.community: authorization failed

2014.10.15 23:08:01.847 Signal: '61447950': failed get list of signals,connection error
2014.10.15 23:03:19.887 MQL5.community: authorization failed
2014.10.15 23:03:01.696 Signal: '61447950': failed get list of signals,connection error

Просьба помочь разобраться... 

 
xscanerx:

H 2014.10.15 23:08:20.101 MQL5.community: authorization failed

Это говорит о неправильном пароле. Возможные ошибки - вставляете пробел; не замечаете знак "_"; путаете регистр при вводе.
 
Подскажите, как заставить советника в уже открытой позиции увеличить лот ? MQL5. Уже спасибо.
 
ArkFatalist:
Подскажите, как заставить советника в уже открытой позиции увеличить лот ? MQL5. Уже спасибо.
Открыть дополнительную позицию с лотностью равной увеличению и направлением совпадающим с уже открытой позицией. МТ5 сам объединит обе позы в одну совокупную.
Причина обращения: