Ответ
 
Опции темы
Старый 01.08.2016, 18:58   #4941 (permalink)
Активный участник
 
Аватар для _SERG_
 
Регистрация: 21.07.2009
Сообщений: 241
Репутация: 74
_SERG_
Сказал(а) спасибо: 7
Поблагодарили 74 раз(а) в 60 сообщениях
Поинты: 282
Сообщение от ansol Посмотреть сообщение
Вставил в сову только что вот это:
PHP код:
#property show_inputs 
Получил:
'GAPnews.mq4' GAPnews.mq4 1 1
'stdlib.mqh' stdlib.mqh 1 1
no OnStart function defined in the script 0 0
0 error(s), 1 warning(s), compile time: 3448 msec 1 2
Что и требовалось доказать. Эта директива в сове не допустима, а?
Без нее всё без ошибок идет
Согласен, в соответствии с документацией.
Метаквотовци вероятно и изменили название, чтобы устранить
путаницу между совами и скриптами.

А что касается оригинального кода, таки речь идёт о сове, поскольку скрипт не зациклен, и надо накопить 30 котировок.

Я так понимаю было желание достичь где-то какого результата:
Вложения:
Тип файла: ex4 TEST_Лента_по_инструменту.ex4 (24.7 Кб, 4 просмотров)

Последний раз редактировалось _SERG_; 01.08.2016 в 19:25.
_SERG_ вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 01.08.2016, 20:24   #4942 (permalink)
Местный знаток
 
Аватар для Monachus
 
Регистрация: 17.02.2011
Адрес: Симферополь
Сообщений: 327
Репутация: 542
Monachus - Monachus - Monachus - Monachus - Monachus - Monachus -
Сказал(а) спасибо: 398
Поблагодарили 541 раз(а) в 153 сообщениях
Поинты: 53
Отправить сообщение для Monachus с помощью ICQ Отправить сообщение для Monachus с помощью Skype™
Доброго времени суток!
Коллеги, нужна функция для импорта в советник. Функция должна возвращать количество пунктов в профите/убытке для серии разнонаправленных ордеров разного объема,для выставления тейка не в валюте, а в пунктах.Сам так и не смог сочинить.
Monachus вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 01.08.2016, 20:30   #4943 (permalink)
Активный участник
 
Аватар для _SERG_
 
Регистрация: 21.07.2009
Сообщений: 241
Репутация: 74
_SERG_
Сказал(а) спасибо: 7
Поблагодарили 74 раз(а) в 60 сообщениях
Поинты: 282
Сообщение от Monachus Посмотреть сообщение
Доброго времени суток!
Коллеги, нужна функция для импорта в советник. Функция должна возвращать количество пунктов в профите/убытке для серии разнонаправленных ордеров разного объема,для выставления тейка не в валюте, а в пунктах.Сам так и не смог сочинить.
А ты стоимость одного пункта для прямых, обратных и кроссовых инструментов посчитай, по имеющимся в терминале данным, и сразу сочинишь.
_SERG_ вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 01.08.2016, 22:14   #4944 (permalink)
Местный знаток
 
Аватар для Monachus
 
Регистрация: 17.02.2011
Адрес: Симферополь
Сообщений: 327
Репутация: 542
Monachus - Monachus - Monachus - Monachus - Monachus - Monachus -
Сказал(а) спасибо: 398
Поблагодарили 541 раз(а) в 153 сообщениях
Поинты: 53
Отправить сообщение для Monachus с помощью ICQ Отправить сообщение для Monachus с помощью Skype™
Сообщение от _SERG_ Посмотреть сообщение
А ты стоимость одного пункта для прямых, обратных и кроссовых инструментов посчитай, по имеющимся в терминале данным, и сразу сочинишь.
Спасибо за помощь
Сочинил
Monachus вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 02.08.2016, 05:20   #4945 (permalink)
Активный участник
 
Аватар для _SERG_
 
Регистрация: 21.07.2009
Сообщений: 241
Репутация: 74
_SERG_
Сказал(а) спасибо: 7
Поблагодарили 74 раз(а) в 60 сообщениях
Поинты: 282
_SERG_ вне форума   Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
ValPra (02.08.2016)
Старый 02.08.2016, 14:05   #4946 (permalink)
Новичок форума
 
Аватар для ivansss
 
Регистрация: 11.12.2015
Сообщений: 34
Репутация: 16
ivansss
Сказал(а) спасибо: 21
Поблагодарили 15 раз(а) в 6 сообщениях
Поинты: 40
Товарисчи с чем может быть связана такая ошибка "is not expert and cannot be executed?"
Компилирует без ошибок ,но не работает
Вложения:
Тип файла: mq4 !MTH Renko Chart Builder Indi Ver 03.mq4 (32.6 Кб, 9 просмотров)
ivansss вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 02.08.2016, 14:39   #4947 (permalink)
Местный житель
 
Аватар для Cemen4yk1
 
Регистрация: 18.09.2014
Сообщений: 222
Репутация: 245
Cemen4yk1 - Cemen4yk1 - Cemen4yk1 -
Сказал(а) спасибо: 35
Поблагодарили 244 раз(а) в 101 сообщениях
Поинты: 205
Сообщение от ivansss Посмотреть сообщение
Товарисчи с чем может быть связана такая ошибка "is not expert and cannot be executed?"
Компилирует без ошибок ,но не работает
вам же английским языком терминал сообщает что это не эксперт, а вы из папки экспертов его выбираете, переложите в папку индикаторов и будет ок

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

https://www.mql5.com/ru/market/product/17748
Cemen4yk1 на форуме   Ответить с цитированиемОтветить с цитированием  
Старый 19.08.2016, 21:19   #4948 (permalink)
Прохожий
 
Аватар для BladeRunner2342
 
Регистрация: 16.08.2016
Сообщений: 1
Репутация: 1
BladeRunner2342
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Поинты: 4

По умолчанию Посмотрите пожалуйста код советника


Вчера начал изучать mql, и написал советник. В Mql 4 новичок полный.
Суть советника:
Советник основан на медвежьем и бычьем поглощении. Но объём свечи, которая поглощает должен быть больше объёма свечи, которую поглощают.
Советник работает в определённое время, время задаётся во внешних переменных. Ордер открывается по условию, а закрывается, когда закрывается нулевая свеча.

Вот первый код, который я написал, подскажите пожалуйста,посоветуйте что-нибудь, у меня ещё ошибки выскакивают, в чем дело понять не могу, позже хочу добавить к советнику индикатор RSI, но пока ума хватило только на это. Так же хотелось бы, чтобы советник работал не только на часовых графиках, но и на любом заданном таймфрейме и валютной паре

И подскажите пожалуйста, как добавлять красиво код сюда и правильно

Скрытый текст

//+=======================Внешние переменные==================================================+//

extern int OpenTime = 8; //время открытия
extern int CloseTime = 19; //время закрытия
extern double Lots = 0.1 //лот

//+========================================================================+//





//+=================================Начало Функции OnTick()=======================================+//

void OnTick()
{
bool is_siesta = false;
int numbers = Digits(); //количество знаков после запятой на текущем финансовом инструкменте
double SL = NormalizeDouble(Open[1], Digits());
int ticket1;
int ticket2;

if(Hour()>= OpenTime && Hour()< CloseTime)
is_siesta=true;

if(is_siesta) //если время работы советника соблюдается....
{

if( (Close[1] > Open[1]
&& Close[2] < Open[2])
&& (NormalizeDouble(Close[1] - Open[1],numbers) > NormalizeDouble(Open[2] - Close[2],numbers))
&& Volume[1] > Volume[2])
{
if(TimeHour(TimeCurrent()) == Time[0])
{
ticket1 = OrderSend(Symbol(), OP_BUY , Lots, Ask, 3, Low[1],0, "", 123, 0 , clrBlue);

if(ticket1 < 0)
Print("Ошибка открытия ордера");
else
Print("Ордер на покупку открылся");

}

if(newBar())
{
OrderSelect(ticket1, SELECT_BY_TICKET, MODE_TRADES);
OrderClose(ticket1, Lots, Bid, 3, clrNONE);
}

}


if( (Close[1] < Open[1]
&& Close[2] > Open[2])
&& (NormalizeDouble(Open[1] - Close[1],numbers) > NormalizeDouble(Close[2] - Open[2],numbers))
&& Volume[1] > Volume[2])
{
if(TimeHour(TimeCurrent()) == Time[0])
{
ticket2 = OrderSend(Symbol(), OP_SELL , Lots, Bid, 3, Close[1],0, "", 321, 0 , clrRed);

if(ticket2 < 0)
Print("Ошибка открытия ордера");
else
Print("Ордер на покупку открылся");
}

if(newBar())
{
OrderSelect(ticket2, SELECT_BY_TICKET, MODE_TRADES);
OrderClose(ticket2, Lots, Ask, 3, clrNONE);
}

}

}

}

//+---------------------Завершение функции Ontick()----------------------+//







//+======================Начало функции newbar()===============================================+//

bool newBar()
{
static datetime lastbar = 0;
datetime curbar = Time[0];
if(lastbar != curbar)
{
lastbar = curbar;
return (true);
}
else return(false);
}

//+==========================Конец функции newbar()===========================================+//
[свернуть]
Вложения:
Тип файла: mq4 Reversal day.mq4 (3.1 Кб, 7 просмотров)

Последний раз редактировалось NSerega; 20.08.2016 в 00:49.
BladeRunner2342 вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 20.08.2016, 06:20   #4949 (permalink)
Программист mql4 mql5
 
Аватар для AlexeyVik
 
Регистрация: 19.11.2009
Сообщений: 2,517
Репутация: 3643
AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik
Сказал(а) спасибо: 1,109
Поблагодарили 3,647 раз(а) в 1,468 сообщениях
Поинты: 2004
Сообщение от BladeRunner2342 Посмотреть сообщение
Вчера начал изучать mql, и написал советник. В Mql 4 новичок полный.
Суть советника:
Советник основан на медвежьем и бычьем поглощении. Но объём свечи, которая поглощает должен быть больше объёма свечи, которую поглощают.
Советник работает в определённое время, время задаётся во внешних переменных. Ордер открывается по условию, а закрывается, когда закрывается нулевая свеча.

Вот первый код, который я написал, подскажите пожалуйста,посоветуйте что-нибудь, у меня ещё ошибки выскакивают, в чем дело понять не могу, позже хочу добавить к советнику индикатор RSI, но пока ума хватило только на это. Так же хотелось бы, чтобы советник работал не только на часовых графиках, но и на любом заданном таймфрейме и валютной паре

И подскажите пожалуйста, как добавлять красиво код сюда и правильно

Скрытый текст

//+=======================Внешние переменные==================================================+//

extern int OpenTime = 8; //время открытия
extern int CloseTime = 19; //время закрытия
extern double Lots = 0.1 //лот

//+========================================================================+//





//+=================================Начало Функции OnTick()=======================================+//

void OnTick()
{
bool is_siesta = false;
int numbers = Digits(); //количество знаков после запятой на текущем финансовом инструкменте
double SL = NormalizeDouble(Open[1], Digits());
int ticket1;
int ticket2;

if(Hour()>= OpenTime && Hour()< CloseTime)
is_siesta=true;

if(is_siesta) //если время работы советника соблюдается....
{

if( (Close[1] > Open[1]
&& Close[2] < Open[2])
&& (NormalizeDouble(Close[1] - Open[1],numbers) > NormalizeDouble(Open[2] - Close[2],numbers))
&& Volume[1] > Volume[2])
{
if(TimeHour(TimeCurrent()) == Time[0])
{
ticket1 = OrderSend(Symbol(), OP_BUY , Lots, Ask, 3, Low[1],0, "", 123, 0 , clrBlue);

if(ticket1 < 0)
Print("Ошибка открытия ордера");
else
Print("Ордер на покупку открылся");

}

if(newBar())
{
OrderSelect(ticket1, SELECT_BY_TICKET, MODE_TRADES);
OrderClose(ticket1, Lots, Bid, 3, clrNONE);
}

}


if( (Close[1] < Open[1]
&& Close[2] > Open[2])
&& (NormalizeDouble(Open[1] - Close[1],numbers) > NormalizeDouble(Close[2] - Open[2],numbers))
&& Volume[1] > Volume[2])
{
if(TimeHour(TimeCurrent()) == Time[0])
{
ticket2 = OrderSend(Symbol(), OP_SELL , Lots, Bid, 3, Close[1],0, "", 321, 0 , clrRed);

if(ticket2 < 0)
Print("Ошибка открытия ордера");
else
Print("Ордер на покупку открылся");
}

if(newBar())
{
OrderSelect(ticket2, SELECT_BY_TICKET, MODE_TRADES);
OrderClose(ticket2, Lots, Ask, 3, clrNONE);
}

}

}

}

//+---------------------Завершение функции Ontick()----------------------+//







//+======================Начало функции newbar()===============================================+//

bool newBar()
{
static datetime lastbar = 0;
datetime curbar = Time[0];
if(lastbar != curbar)
{
lastbar = curbar;
return (true);
}
else return(false);
}

//+==========================Конец функции newbar()===========================================+//
[свернуть]
Я уже исправлял тебе эту ошибку на форуме mql4
extern double Lots = 0.1 //лот
пропущена точка с запятой.
Вообще запомни, если вдруг выскочило невероятное количество ошибок и ссылаются на строку в которой не может быть ошибки, как здесь
'void' - illegal use of 'void' type Reversal day.mq4 16 1
ссылается на тип функции OnTick() то это точно пропущена ;
AlexeyVik на форуме   Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
DomovenokBrest (20.08.2016)
Старый 24.08.2016, 11:33   #4950 (permalink)
Интересующийся
 
Аватар для Дмитрий 2010
 
Регистрация: 13.08.2010
Сообщений: 12
Репутация: 2
Дмитрий 2010
Сказал(а) спасибо: 7
Поблагодарили 1 раз в 1 сообщении
Поинты: 18
Добрый день специалистам. Помогите решить не решаемую проблему. Написан скрипт который создает уровни Фибоначчи, и индикатор который должен читать фибоначчи по имени. Проблема в том что не могу найти функцию которая возвращала бы цену уровня например 50%. Буду благодарен за ответ.(Сюда обращаюсь в крайнем случае но неделя поиска в интернете и тех документации не дала результата, нашол только математический расчёт, очень жаль если это единственный вариант)
Дмитрий 2010 вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 24.08.2016, 12:28   #4951 (permalink)
Почётный гражданин
 
Аватар для eevviill2
 
Регистрация: 13.08.2016
Адрес: Бандерівці
Сообщений: 301
Репутация: 392
eevviill2 - eevviill2 - eevviill2 - eevviill2 -
Сказал(а) спасибо: 231
Поблагодарили 393 раз(а) в 127 сообщениях
Поинты: 34
Отправить сообщение для eevviill2 с помощью Skype™
Сообщение от Дмитрий 2010 Посмотреть сообщение
Добрый день специалистам. Помогите решить не решаемую проблему. Написан скрипт который создает уровни Фибоначчи, и индикатор который должен читать фибоначчи по имени. Проблема в том что не могу найти функцию которая возвращала бы цену уровня например 50%. Буду благодарен за ответ.(Сюда обращаюсь в крайнем случае но неделя поиска в интернете и тех документации не дала результата, нашол только математический расчёт, очень жаль если это единственный вариант)
https://www.mql5.com/en/blogs/post/662291
note5

Раньше там был. Пока дикари не удалили меня
eevviill2 на форуме   Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
Дмитрий 2010 (24.08.2016)
Старый 24.08.2016, 12:40   #4952 (permalink)
Интересующийся
 
Аватар для Дмитрий 2010
 
Регистрация: 13.08.2010
Сообщений: 12
Репутация: 2
Дмитрий 2010
Сказал(а) спасибо: 7
Поблагодарили 1 раз в 1 сообщении
Поинты: 18
Спасибо eevviill2 всё работает!
Дмитрий 2010 вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 25.08.2016, 10:29   #4953 (permalink)
Прохожий
 
Аватар для K_i_r_i_t_o-04
 
Регистрация: 25.08.2016
Сообщений: 1
Репутация: 1
K_i_r_i_t_o-04
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Поинты: 2
Всем привет) Такой вопрос можно ли каким то образом подправить код чтоб i при нажатии клавиши возращало свое значение в начало первого оператора if, иначе следующая линия строиться не будет, если имя останется тем же =/

Скрытый текст

#define VK_D 0x44
void OnChartEvent(const int id, // идентификатор события
const long& lparam, // параметр события типа long
const double& dparam, // параметр события типа double
const string& sparam) // параметр события типа string
{
Comment(__FUNCTION__,": id=",id," lparam=",lparam," dparam=",dparam," sparam=",sparam);

int y =(int)dparam;
datetime dt =0;
double price =0;
int window=0;
int x =(int)lparam;
int i;

if (id==CHARTEVENT_CLICK)
{
ChartXYToTimePrice(0,x,y,window,dt,price);
Print ("I=",i);
ObjectCreate("Trend Line"+i,OBJ_TREND,0,dt,price,dt,price);
ObjectSetInteger(0,"Trend Line"+i,OBJPROP_SELECTED,true);

if(id==CHARTEVENT_KEYDOWN)
{ switch(int(lparam))
{ case VK_D:
i=rand();

}
}}
}
[свернуть]
K_i_r_i_t_o-04 вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 30.08.2016, 15:43   #4954 (permalink)
Местный знаток
 
Аватар для gince
 
Регистрация: 09.09.2008
Адрес: Литва
Сообщений: 396
Репутация: 733
gince - gince - gince - gince - gince - gince - gince -
Сказал(а) спасибо: 178
Поблагодарили 733 раз(а) в 189 сообщениях
Поинты: 192
Отправить сообщение для gince с помощью Skype™
Есть открыто пять графиков на одной валютной паре. В них поставил по индикатору.

Скрытый текст

//+------------------------------------------------------------------+
//| ProjectName |
//| Copyright 2012, CompanyName |
//| _http://www.companyname.net |
//+------------------------------------------------------------------+
#property copyright "Copyright 2015, MetaQuotes Software Corp."
#property link "_https://www.mql5.com"
#property version "1.00"
#property strict
#property indicator_chart_window


string gl_hwnd="";
//+------------------------------------------------------------------+
int init()
{
//---

//---
return(0);
}
//+------------------------------------------------------------------+
int start()
{
int per=Period();
string st_hwnd="";
switch(per)
{
case 1:st_hwnd="M1";break;
case 5:st_hwnd="M5";break;
case 15:st_hwnd="M15";break;
case 30:st_hwnd="M30";break;
case 60:st_hwnd="H1";break;
case 240:st_hwnd="H4";break;
case 1440:st_hwnd="D1";break;
}

per=WindowHandle(Symbol(),Period());
GlobalVariableSet(st_hwnd,per);
return(0);
}
//+------------------------------------------------------------------+
[свернуть]

Он должен отправлять хендлы в глобальные переменные.
Дальше эти хендлы должен взять советник.

Скрытый текст

//+------------------------------------------------------------------+
//| hwnd.mq4 |
//| Copyright 2015, MetaQuotes Software Corp. |
//| _https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2015, MetaQuotes Software Corp."
#property link "_https://www.mql5.com"
#property version "1.00"
#property strict

double hwnd[]={0,0,0,0,0,0,0};

//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
//---
hwnd[0]=GlobalVariableGet("M1");
hwnd[1]=GlobalVariableGet("M5");
hwnd[2]=GlobalVariableGet("M15");
hwnd[3]=GlobalVariableGet("M30");
hwnd[4]=GlobalVariableGet("H1");
hwnd[4]=GlobalVariableGet("H4");
hwnd[4]=GlobalVariableGet("D1");


//---
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Expert deinitialization function |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{ }
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick()
{
//---
int i;
for(i=0;i<7;i++)
{
Print(DoubleToStr(hwnd[i],0));
}
}
//+------------------------------------------------------------------+
[свернуть]

Это делать пробую первый раз и не получаеться.
Где моя ошибка ?

Вобще запутался, появились ошибки.
Вложения:
Тип файла: mq4 i_hwnd.mq4 (1.3 Кб, 4 просмотров)
Тип файла: mq4 e_hwnd.mq4 (1.7 Кб, 4 просмотров)

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Гинтарас

Последний раз редактировалось NSerega; 30.08.2016 в 19:12.
gince на форуме   Ответить с цитированиемОтветить с цитированием  
Старый 30.08.2016, 16:51   #4955 (permalink)
Программист mql4 mql5
 
Аватар для AlexeyVik
 
Регистрация: 19.11.2009
Сообщений: 2,517
Репутация: 3643
AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik
Сказал(а) спасибо: 1,109
Поблагодарили 3,647 раз(а) в 1,468 сообщениях
Поинты: 2004
Сообщение от gince Посмотреть сообщение
Есть открыто пять графиков на одной валютной паре. В них поставил по индикатору.

Скрытый текст

//+------------------------------------------------------------------+
//| ProjectName |
//| Copyright 2012, CompanyName |
//| http://www.companyname.net |
//+------------------------------------------------------------------+
#property copyright "Copyright 2015, MetaQuotes Software Corp."
#property link "https://www.mql5.com"
#property version "1.00"
#property strict
#property indicator_chart_window


string gl_hwnd="";
//+------------------------------------------------------------------+
int init()
{
//---

//---
return(0);
}
//+------------------------------------------------------------------+
int start()
{
int per=Period();
string st_hwnd="";
switch(per)
{
case 1:st_hwnd="M1";break;
case 5:st_hwnd="M5";break;
case 15:st_hwnd="M15";break;
case 30:st_hwnd="M30";break;
case 60:st_hwnd="H1";break;
case 240:st_hwnd="H4";break;
case 1440:st_hwnd="D1";break;
}

per=WindowHandle(Symbol(),Period());
GlobalVariableSet(st_hwnd,per);
return(0);
}
//+------------------------------------------------------------------+
[свернуть]

Он должен отправлять хендлы в глобальные переменные.
Дальше эти хендлы должен взять советник.

Скрытый текст

//+------------------------------------------------------------------+
//| hwnd.mq4 |
//| Copyright 2015, MetaQuotes Software Corp. |
//| https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2015, MetaQuotes Software Corp."
#property link "https://www.mql5.com"
#property version "1.00"
#property strict

double hwnd[]={0,0,0,0,0,0,0};

//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
//---
hwnd[0]=GlobalVariableGet("M1");
hwnd[1]=GlobalVariableGet("M5");
hwnd[2]=GlobalVariableGet("M15");
hwnd[3]=GlobalVariableGet("M30");
hwnd[4]=GlobalVariableGet("H1");
hwnd[4]=GlobalVariableGet("H4");
hwnd[4]=GlobalVariableGet("D1");


//---
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Expert deinitialization function |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{ }
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick()
{
//---
int i;
for(i=0;i<7;i++)
{
Print(DoubleToStr(hwnd[i],0));
}
}
//+------------------------------------------------------------------+
[свернуть]

Это делать пробую первый раз и не получаеться.
Где моя ошибка ?

Вобще запутался, появились ошибки.
А ничего что массив с индексом 4 повторяется 3 раза?
hwnd[4]=GlobalVariableGet("H1");
hwnd[4]=GlobalVariableGet("H4");
hwnd[4]=GlobalVariableGet("D1");

И неплохо было-бы массив заполнять хоть и нулями, но всё-же типа double
double hwnd[]={0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
А ещё лучше сделать так
double hwnd[7];

Последний раз редактировалось AlexeyVik; 30.08.2016 в 16:55.
AlexeyVik на форуме   Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
gince (30.08.2016)
Старый 30.08.2016, 17:11   #4956 (permalink)
Местный знаток
 
Аватар для gince
 
Регистрация: 09.09.2008
Адрес: Литва
Сообщений: 396
Репутация: 733
gince - gince - gince - gince - gince - gince - gince -
Сказал(а) спасибо: 178
Поблагодарили 733 раз(а) в 189 сообщениях
Поинты: 192
Отправить сообщение для gince с помощью Skype™
Нашел еще несколько ошибок, дальшесмотреть буду

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Гинтарас
gince на форуме   Ответить с цитированиемОтветить с цитированием  
Старый 01.09.2016, 17:38   #4957 (permalink)
Местный знаток
 
Аватар для gince
 
Регистрация: 09.09.2008
Адрес: Литва
Сообщений: 396
Репутация: 733
gince - gince - gince - gince - gince - gince - gince -
Сказал(а) спасибо: 178
Поблагодарили 733 раз(а) в 189 сообщениях
Поинты: 192
Отправить сообщение для gince с помощью Skype™
Помогите с ошибкой 4051 при создании кнопки

2016.09.01 20:19:19.784 Panel GBPUSD,M5: initialized
2016.09.01 20:19:19.784 Panel GBPUSD,M5: Error creating button. Error code 0. no error
2016.09.01 20:19:19.784 Panel GBPUSD,M5: ButtonCreate: failed to create the button! Error code = 4051

2016.09.01 20:19:18.115 Expert Panel GBPUSD,M5: loaded successfully
Вложения:
Тип файла: mq4 Panel.mq4 (13.4 Кб, 9 просмотров)

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Гинтарас
gince на форуме   Ответить с цитированиемОтветить с цитированием  
Старый 01.09.2016, 21:11   #4958 (permalink)
 
Аватар для mobidik
 
Регистрация: 09.08.2012
Адрес: Ua_Khm
Сообщений: 1,647
Репутация: 8540
mobidik mobidik mobidik mobidik mobidik mobidik mobidik mobidik mobidik mobidik mobidik
Сказал(а) спасибо: 633
Поблагодарили 8,536 раз(а) в 1,561 сообщениях
Поинты: 800
Сообщение от gince Посмотреть сообщение
Помогите с ошибкой 4051 при создании кнопки

2016.09.01 20:19:19.784 Panel GBPUSD,M5: initialized
2016.09.01 20:19:19.784 Panel GBPUSD,M5: Error creating button. Error code 0. no error
2016.09.01 20:19:19.784 Panel GBPUSD,M5: ButtonCreate: failed to create the button! Error code = 4051

2016.09.01 20:19:18.115 Expert Panel GBPUSD,M5: loaded successfully
Удали 36 строку:
PHP код:
hwnd=WindowHandle(Symbol(),Period()); 
mobidik на форуме   Ответить с цитированиемОтветить с цитированием  
Старый 02.09.2016, 02:22   #4959 (permalink)
Местный знаток
 
Аватар для vlad_123
 
Регистрация: 29.01.2013
Сообщений: 335
Репутация: 824
vlad_123 - vlad_123 - vlad_123 - vlad_123 - vlad_123 - vlad_123 - vlad_123 -
Сказал(а) спасибо: 29
Поблагодарили 820 раз(а) в 327 сообщениях
Поинты: 388
Сообщение от gince Посмотреть сообщение
Помогите с ошибкой 4051 при создании кнопки
if(!ButtonCreate(ChartID(),"button1",...
?

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Мониторинг советников: http://www.myfxbook.com/members/vlad_123/

На заказ не программирую.
vlad_123 вне форума   Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
gince (03.09.2016)
Старый 05.09.2016, 02:30   #4960 (permalink)
Местный знаток
 
Аватар для st2050
 
Регистрация: 08.09.2012
Сообщений: 311
Репутация: 577
st2050 - st2050 - st2050 - st2050 - st2050 - st2050 -
Сказал(а) спасибо: 362
Поблагодарили 576 раз(а) в 141 сообщениях
Поинты: 399
Здравствуйте, коллеги.

Скажите пожалуйста какой-либо способ расположить графический объект над графиком при том, что в свойствах чарта график сверху.
st2050 вне форума   Ответить с цитированиемОтветить с цитированием  
Ответ

Метки
mql4, mql4 помощь, вопросы mql4


Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Выкл.
Pingbacks are Выкл.
Refbacks are Выкл.



Текущее время: 06:07. Часовой пояс GMT.


Перевод: zCarot
Copyright ©2000 - 2016, Jelsoft Enterprises Ltd.
SEO by vBSEO