Как увидеть боллинджера на графике именно в тех параметрах, которые есть в коде? в каком месте настраиваются нужные параметрами индикатора.
Вроде боллинджера запустил, а вот читает он какие-то не те значения.
Ведь можно строить график от хая или лоу, по экспоненте и т.д . Как это в коде регулировать и видеть на графике при этом чтобы визуально контролировать советника?
В 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));
C-4: Последний чемпионат, устраиваемой компанией MetaQuotes был в 2012 году. Сейчас такие чемпионаты не проводятся. Но многие брокеры по-прежнему проводят свои чемпионаты. Вы можете участвовать в них.
Вот неплохая площадка, сам там участвую. В основной массе конкурсов советники запрещены, но есть и с советниками и даже бесплатные с призом. _http://contestsarena.com/xm/ru#/login/
ArkFatalist: Подскажите, как заставить советника в уже открытой позиции увеличить лот ? MQL5. Уже спасибо.
Открыть дополнительную позицию с лотностью равной увеличению и направлением совпадающим с уже открытой позицией. МТ5 сам объединит обе позы в одну совокупную.
Для авторизации и пользования сайтом MQL5.com необходимо разрешить использование файлов Сookie.
Пожалуйста, включите в вашем браузере данную настройку, иначе вы не сможете авторизоваться.
Вы вошли в аккаунт. Двухфакторная аутентификация отключена. Настройте её заново и отсканируйте новый QR-код или продолжите с отключённой двухфакторной аутентификацией.
опросите буфер, например так
Как увидеть боллинджера на графике именно в тех параметрах, которые есть в коде? в каком месте настраиваются нужные параметрами индикатора.
Вроде боллинджера запустил, а вот читает он какие-то не те значения.
Ведь можно строить график от хая или лоу, по экспоненте и т.д . Как это в коде регулировать и видеть на графике при этом чтобы визуально контролировать советника?
В 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 ");
}
//+------------------------------------------------------------------+
Последний чемпионат, устраиваемой компанией MetaQuotes был в 2012 году. Сейчас такие чемпионаты не проводятся. Но многие брокеры по-прежнему проводят свои чемпионаты. Вы можете участвовать в них.
Не катит.Хоть какой номер буфера ставь все равно пишет только последний высчитанный экстремум(
как сделать, чтобы советник при запуске нарисовал линии боллинджера?
У меня (код выше) выводит какие-то значения болли нджера, но нужно визуально наблюдать за параметрами.
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
Просьба помочь разобраться...
H 2014.10.15 23:08:20.101 MQL5.community: authorization failed
Подскажите, как заставить советника в уже открытой позиции увеличить лот ? MQL5. Уже спасибо.