![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
В принципе, индикаторные буфера четверки нужны только для отрисовки, а для рассчетов имеет смысл использовать обычные массивы - в произвольном количестве. Если какие-то из этих массивов нужно визуализировать, то можно это делать по частям - указывая в настройках, какой массив в какой буфер вывести. Я предпочитаю сигнальные индикаторы, т.е. в которых есть буфер, "подводящий итог", так сказать, ситуации на каждом баре. Объединить такие индикаторы не составляет труда, вызывая несколько сигнальных через iCustom.
Что касается передачи "тиражируемых" структур, то в MQL4 на замену может претендовать только массив double-ов, в элементы которого можно запихнуть все что угодно кроме строк (в общем-то и строки можно путем некоторого геморроя).
В принципе, индикаторные буфера четверки нужны только для отрисовки, а для рассчетов имеет смысл использовать обычные массивы - в произвольном количестве. Если какие-то из этих массивов нужно визуализировать, то можно это делать по частям - указывая в настройках, какой массив в какой буфер вывести. Я предпочитаю сигнальные индикаторы, т.е. в которых есть буфер, "подводящий итог", так сказать, ситуации на каждом баре. Объединить такие индикаторы не составляет труда, вызывая несколько сигнальных через iCustom.
Что касается передачи "тиражируемых" структур, то в MQL4 на замену может претендовать только массив double-ов, в элементы которого можно запихнуть все что угодно кроме строк (в общем-то и строки можно путем некоторого геморроя).
Да и сложенее это - все реализовать внутри dll, хотя бы потому, что дебаг проводить сложнее (по крайней мере, я не представляю, как).
Это смотря для чего пишем: если на заказ, то Вы правы - зачем заморачиваться.
А вот если свой проект, то элементарно: пишете саму длл. К ней пишете отдельный проект-консольное приложение. С единственной целью - запуск и отладка функций из длл. Туда линкуете вашу длл. Лучше неявно. в MS VS 2010 делается на раз. Дальше вся мощь студии у Вас в руках: отладчик + стандартный язык с немерянными возможностями. Данные из МТ в файл - читайте оттуда и подавайте на вход. Для отладки вполне..... Индикаторы из МТ4 очень легко переносятся под тот же С++.
Для работы из МТ пишем функцию, передающую необходимую инфу в длл как параметры и возвращающую сам сигнал, как результат анализа. Дальше - Вам выше написали - переход на любую платформу проблем не вызовет.
Удачи.
Начал изучать MQL4 b и немагу разобраться почему неработает мой скрипт.... Помогите плиз разобраться :(
int start()
{
//----
double Lots=0.1;
double SL=15;
double TP=20;
string Para=Symbol();
//----
SL=Bid -15*Point;
TP=Bid +20*Point;
int tiket=OrderSend(Para,OP_BUY,Lots,Ask,0,SL,TP);
int Eror =GetLastError();
return(0);
}
//+------------------------------------------------------------------+
Начал изучать MQL4 b и немагу разобраться почему неработает мой скрипт.... Помогите плиз разобраться :(
А почему он в субботу должен работать (если конечно это скрипт)
А почему он в субботу должен работать (если конечно это скрипт)
а... ТОЧНО!!!!! тока сечас над етим подумал.... СПС :)
Севодня Вторник... пробую запустить скрипт - нехочет открывать ордер.... папробывал на другом брокере Аналогично пишет:
2011.05.10 12:29:57 Script открываем ордер GBPUSD,H4: removed
2011.05.10 12:29:57 Script открываем ордер GBPUSD,H4: loaded successfully
Люди-програмисты помогите плиз...
Дабавил - Alert(GetLastError()); -выдает ошибку 4109 ( Торговля не разрешена )
Я уже на трёх разных ДЦ опробывал и одно и тоже.... Ктонибуть подскажите...
Дабавил - Alert(GetLastError()); -выдает ошибку 4109 ( Торговля не разрешена )
Я уже на трёх разных ДЦ опробывал и одно и тоже.... Ктонибуть подскажите...
Наверно надо разрешить автоторговлю в настройках. Тогда и другие ошибки появятся
Наверно надо разрешить автоторговлю в настройках. Тогда и другие ошибки появятся
Разрешил.... нечиво не паменялось :( Может у меня вообще скрипты немогут открывать ордера....
Подскажите плиз
int start()
{
//----
double Lots=0.1;
double SL;
double TP;
string Para=Symbol();
//----
SL=Bid -15*Point;
TP=Bid +20*Point;
int ticket1=OrderSend(Para,OP_BUY,Lots,Ask,0,SL,TP);
bool OrderClose(ticket1,0.1,Ask,0);
Alert(GetLastError());
return(0);
}
Тут я папробывал вставить - bool OrderClose(ticket1,0.1,Ask,0); - но мне вадало - 'OrderClose' - variable expected - я неправельно разместил ето.... или что я зделал не правельно?