Бета-тестирование MetaTrader 5 началось! - страница 100
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Юзабилити.
Ах если б можно было
1. взять мышкой линию индикатора и перетащить её в соседнее окно (подокно)...
да чтоб при этом появилась локальная менюшка (Copy / Move), и при соответствующем выборе индикатор копировался или переезжал в другое окошко...
2. нажать на линии индикатора правой лапой мыши, и в появившемся локальном меню выбрать "Клонировать индикатор"
да чтоб при этом в новом окне появился точно такой же, с теми же параметрами и тем же хендлом на входе....
3. сохранять и загружать инпут-параметры индикаторов в пресет-файлах, так же как это возможно в скриптах и экспертах...
(Сделать обязательно! Это ж почти готово уже. только добавить...)
4. добавить в список "Apply to:" кроме строк <Previous Indicator's Data> и <First Indicator's Data>, ещё и <Other Indicator's Data>
да чтоб при таком выборе появлялся список ВСЕХ индикаторов данного чарта (а если и других то вообще круто)
да чтоб при выборе из этого списка какого-то индикатора, именно его хендл передавался открываемому.....
Четвёртый пункт особо важен. Как я понимаю технически это не очень сложно, зато выигрыш в возможностях - огромный.
При наличии возможности брать входные хендлы из других окон (подокон) автоматом исчезают многие сложные пробемы, а также открываются новые (и немалые) возможности.
Чего стоят только нынешние неувязки в масштабировании, путаница в линиях при большом их количестве и т.д. и т.п., список можно продолжать долго.
Вот простенький пример: Один из моих индикаторов считает и выводит "прибыльность" сигналов другого (входного) индикатора. Сейчас, чтоб сравнить доходность
нескольких (N) разных индикаторов, нужно наложить в одно окно N*2 индикаторов, Причём в строго определённой последовательности. И... потом разбираться где чья
линия, куда это хозяйство масштабировать (линии норовят вылезти за пределы окна, а если не вылезти, то намертво слиться друг с другом... ). А можно б было
сложить все измеряемые индикаторы в одно окно, а измеряющие в другое, рядышком. Но.. пока что это невозможно.. :(
Вообще необходимость строить вторичные индикаторы и необходимость в наложении индикаторов друг на друга - это две разные задачи.
В настоящее время к решению первой прилагается в нагрузку второе. Хорошо что такая возможность вообще появилась. Я горячо и безмерно одобрямс.
Но можно сильно улучшить возможности и удобства. И реализация этих больших удобств вышеуказанным способом весьма недорогая (имхо, конечно).
В MetaEditor'е функция Replace и нажатии кнопки <Заменить все> замена происходит во всём редактируемом файле. Это замечательно и часто нужно.
Но очень хотелось бы иметь ещё кнопку <Заменить все только в выделенном блоке> или соответствующую галочку-модификатор. Это нужно ещё чаще.
Разработчикам! Некоторые размышления на тему функций
//---
double MathCei - Возвращает ближайшее сверху целое числовое значение.
double MathRound - Возвращает значение, округленное до ближайшего целого числа указанного числового значения.
double MathFloor - Возвращает ближайшее снизу целое числовое значение.
//---
тип возвращаемых данных для них указан как double, хотя по логике их работы должен быть тип int.
Из-за этого при компиляции будут выдаваться предупреждения о возможной потери данных,
ведь используя эти функции мы однозначно хотим получить целочисленное значение а получаем double.
Что бы этого избежать приходится в обязательном порядке добавлять указатель типа
int iSprd = int(ceil(dSprd));
int iSprd = int(MathRound(dSprd));
что не есть оптимально и для написания и для ресурсов.
Было бы здорово, если бы для всех без исключения графических объектов можно было бы иметь две системы координат - экранную и временно-ценовую,
притом раздельно по вертикали и по горизонтали. И чтоб можно бы было "при жизни" объекта изменять способ привязки как руками, так и программно.
Не вижу ничего плохого в том, что кнопки научатся ездить по экрану, а линии регрессии, например, наоборот зависать на месте (это позволило бы, например,
сравнивать наклоны разных каналов простым наложением их друг на друга. При фиксированном масштабе, разумеется.).
А сейчас нету даже стандарных функций XToTime() и YToPrice()... А жаль.
Alexander писал(а) >>
MetaTrader 5 Client Terminal build 216
- Добавлены свойства ширины и высоты графических объектов Bitmap и Label в MQL5.
1. Вот не совсем понятен результат функции.//--------------------------------------------------------------------------------------------------------------
bool CTable::Create(string TName,uchar TCols,uchar TRows,int X=1,int Y=1,ENUM_BASE_CORNER TCorner=CORNER_LEFT_LOWER,int TWindow=0)
{
ObjectsDeleteAll(0);
string tname;
for (int TC=0;TC<TCols;TC++)
{//столбцы
for (int TR=0;TR<TRows;TR++)
{//ряды
tname="";
StringConcatenate(tname,ObjPrefix,TName,"_C",(string)TC,"R",(string)TR);
ObjectCreate(0,tname,OBJ_LABEL,TWindow,0,0);
ObjectSetInteger(0,tname, OBJPROP_XDISTANCE,X+(TC*90));
ObjectSetInteger(0,tname, OBJPROP_YDISTANCE,Y+(TR*10));
ObjectSetInteger(0,tname, OBJPROP_COLOR,WhiteSmoke);
ObjectSetInteger(0,tname, OBJPROP_FONTSIZE,7);
ObjectSetString (0,tname, OBJPROP_TEXT,TimeToString(TimeCurrent(),TIME_DATE|TIME_MINUTES));
ObjectSetInteger(0,tname, OBJPROP_XSIZE,15);
//-----------------------------------------------------------
Print("OBJPROP_XSIZE=",ObjectGetInteger(0,tname, OBJPROP_XSIZE)," OBJPROP_YSIZE=",ObjectGetInteger(0,tname, OBJPROP_YSIZE));
//-----------------------------------------------------------
ChartRedraw(0);
}//ряды
}//столбцы
return(true);
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Ответ:
2009.11.07 15:56:24 ME-V-v001 (EURUSD,H1) OBJPROP_XSIZE= 72 OBJPROP_YSIZE= 12
2009.11.07 15:56:24 ME-V-v001 (EURUSD,H1) OBJPROP_XSIZE= 72 OBJPROP_YSIZE= 12
2009.11.07 15:56:24 ME-V-v001 (EURUSD,H1) OBJPROP_XSIZE= 177 OBJPROP_YSIZE= 188
2009.11.07 15:56:24 ME-V-v001 (EURUSD,H1) OBJPROP_XSIZE= 72 OBJPROP_YSIZE= 12
2009.11.07 15:56:24 ME-V-v001 (EURUSD,H1) OBJPROP_XSIZE= 72 OBJPROP_YSIZE= 12
2009.11.07 15:56:24 ME-V-v001 (EURUSD,H1) OBJPROP_XSIZE= 72 OBJPROP_YSIZE= 12
2009.11.07 15:56:24 ME-V-v001 (EURUSD,H1) OBJPROP_XSIZE= 72 OBJPROP_YSIZE= 12
2009.11.07 15:56:24 ME-V-v001 (EURUSD,H1) OBJPROP_XSIZE= 72 OBJPROP_YSIZE= 12
2009.11.07 15:56:24 ME-V-v001 (EURUSD,H1) OBJPROP_XSIZE= 72 OBJPROP_YSIZE= 12
2009.11.07 15:56:24 ME-V-v001 (EURUSD,H1) OBJPROP_XSIZE= 72 OBJPROP_YSIZE= 12
2009.11.07 15:56:24 ME-V-v001 (EURUSD,H1) OBJPROP_XSIZE= 72 OBJPROP_YSIZE= 12
2009.11.07 15:56:24 ME-V-v001 (EURUSD,H1) OBJPROP_XSIZE= 72 OBJPROP_YSIZE= 12
2009.11.07 15:56:24 ME-V-v001 (EURUSD,H1) OBJPROP_XSIZE= 72 OBJPROP_YSIZE= 12
2009.11.07 15:56:24 ME-V-v001 (EURUSD,H1) OBJPROP_XSIZE= 22 OBJPROP_YSIZE= 12
2009.11.07 15:56:24 ME-V-v001 (EURUSD,H1) OBJPROP_XSIZE= 72 OBJPROP_YSIZE= 12
2009.11.07 15:56:24 ME-V-v001 (EURUSD,H1) OBJPROP_XSIZE= 72 OBJPROP_YSIZE= 12
2009.11.07 15:56:24 ME-V-v001 (EURUSD,H1) OBJPROP_XSIZE= 0 OBJPROP_YSIZE= 0
2009.11.07 15:56:24 ME-V-v001 (EURUSD,H1) OBJPROP_XSIZE= 72 OBJPROP_YSIZE= 12
2009.11.07 15:56:24 ME-V-v001 (EURUSD,H1) OBJPROP_XSIZE= 72 OBJPROP_YSIZE= 12
2009.11.07 15:56:24 ME-V-v001 (EURUSD,H1) OBJPROP_XSIZE= 72 OBJPROP_YSIZE= 12
И значения раз от раза меняются в случайном порядке, даже если убрать ObjectSetInteger(0,tname, OBJPROP_XSIZE,15);
Однако, если увеличить количество символов для comment(), это решит много проблем. А лучше отменить ограничение, вообще.
2. Во вторых, вероятно, не совсем верно часто получать ноль в ответ на запрос на последнее известное время сервера
TimeToString(TimeCurrent(),TIME_DATE|TIME_MINUTES)
например, когда выходные, или терминал только открыл, а к Сети не подключился.
При поддержке некоторых форумчан и детальном изучении справки от Borland задача корректного импорта/экспорта строк решена успешно (есть конечно узкие места, но это уже мелочи).
Теперь следующий раз буду с глупыми вопросами приставать к разработчикам по поводу структур, классов и WinAPI...
PS
Уважаемые разработчики - Когда понадобится торговать с представителями рассы КЛИНГОНА думаю новый терминал будет не заменим...
Здравствуйте, при переносе MT5 с одной системы на другую (т е без установки) - не запускается.
С МТ4 таких проболем никогда не было.
Критически важный момент - на рабочем компьютере установка новых программ заблокирована.
Подскажите что можно сделать в таком случае.
Как я понял а новой версии языка альтернатива вот этой функции отсутствует?
Здравствуйте, при переносе MT5 с одной системы на другую (т е без установки) - не запускается.
С МТ4 таких проболем никогда не было.
Критически важный момент - на рабочем компьютере установка новых программ заблокирована.
Подскажите что можно сделать в таком случае.
Думаю проще всего админу пива поставить, для временного снятия блокирования...
PS
Да забыл, еще не стоит забывать о нашем любимом SSL сертификате
Разработчикам - с информацией по используемой марже не все понятно... :(
вместо:
double AccountMargin() - double AccountInfoDouble(ACCOUNT_MARGIN)
double AccountFreeMargin() - double AccountInfoDouble(ACCOUNT_FREEMARGIN)
А альтернативы для AccountFreeMarginCheck( string symbol, int cmd, double volume) и AccountFreeMarginMode() как я понял пока нет, или я не прав?
PS
Кстати, AccountFreeMarginMode() в MQL4 был обозначен как double, а судя по описанию должен возвращать int.
И еще есть опечатки в справке, уже сбился в счете версий (вроде последняя).
В данном случае я думаю подразумевалось "по счету"...
ACCOUNT_EQUITY
Значение собственных средств на счету(е)
double
ACCOUNT_MARGIN
Размер зарезервированных залоговых средств на счету(е)
double
ACCOUNT_FREEMARGIN
Размер свободных средств на счету(е), доступных для открытия позиции
double
ACCOUNT_MARGIN_LEVEL
Уровень залоговых средств на счету(е)
double