Как можно легко писать программы работающие в MT4 и в MT5 кроссплатформенный код , стимул изучать ООП - страница 2
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
https://www.mql5.com/en/blogs/post/681230
Там дальше и продолжение с хэш-таблицей.
ОПС! вот ради чего стоит подобные темы открывать - спасибо!
https://www.mql5.com/en/blogs/post/681230
Там дальше и продолжение с хэш-таблицей.
Я вот этим классом пользуюсь, надо сравнить. Никогда не мог понять, почему такого нужного класса нет в СБ
https://www.mql5.com/ru/articles/1334
Юра, я не супер какой сторонник МТ5 в стиле "только МТ5, за что и свой лоб с удовольствием расшибу" -- но есть объективная реальность:
1) говорить что хедж привёл к резкому росту популярности МТ5 нельзя -- т.к. заказы на МТ5 идут под фонды, а там хедж не нужен
2) МТ4 терминал хуже чем МТ5, как минимум по части тестера
3) и главное -- МТ5 сейчас по функционалу полностью перекрывает МТ4 со многими плюсами -- и ставить даже среднесрочные разработки на МТ4 уже тупо нет никакого смысла
Все это так. Никто из здравомыслящих людей подвергать сомнению сказанное конечно не будет. Но реальность к сожалению иная. По Маркету могу сказать, что 85%-90% всех покупок приходится на MetaTrader 4. Т.е. что-либо специально разрабатывать для MetaTrader 5 - это экономическое самоубийство. Лично я поддерживаю в своих продуктах MetaTrader 5 только благодаря простой кросплатформенности, а значит и низким затратам времени/денег на перевод продукта в МТ5. Надеюсь со временем пропорция продаж поменяется. Если это так и будет, то держать продукты для МТ5 стоит хотя бы для этого.
Что касается брокераджа там тоже не все так просто. Я сейчас работаю совместно с одним партнером. Он ко мне придет, как уже бывало ни раз, и скажет: "Завтра открываем 20 счетов в брокере *** и начинаем торговать нашу стратегию. У него условия хорошие. Я уже обо всем договорился" - И что мне ему сказать? Что там нет MetaTrader 5, а есть только MetaTrader 4? И торговать у него не получиться, потому что наш робот работает только под МТ5, а что бы перевести его под МТ4 я должен фактически написать его заново и месяц работать нон-стоп (вот такие умельцы до меня писали)?
В общем я что хочу сказать: то что мы любим - это хобби. А работа - то, на чем мы зарабатываем. И раз наша задача так или иначе максимизировать прибыль (от продаж в Маркете, заказов в Фрилансе, управления счетами в ПАММ'ах, от подписок в Сигналах, от лучших брокерских условий), то мы просто не имеем право игнорировать MetaTrader 4 и всегда необходимо оглядываться на него, как бы не хотелось нам от него избавиться.
@o_O, вроде, давно уже написал mqh-библу, вставка которой в MQL4-исходник делает его кроссплатформенным. Но решение не опубликовано, видимо, по бизнес-соображениям.
Cервис фриланс сильно повлиял на всех, решения теперь не любят вываливать на форме. Времена рыцарства , назову их времена "Игоря Кима" , миновали.
Но я нашел то о чем говорите, все чудесно работает.
Cервис фриланс сильно повлиял на всех, решения теперь не любят вываливать на форме. Времена рыцарства , назову их времена "Игоря Кима" , миновали.
Но я нашел то о чем говорите, все чудесно работает.
Я вот этим классом пользуюсь, надо сравнить. Никогда не мог понять, почему такого нужного класса нет в СБ
https://www.mql5.com/ru/articles/1334
Посмотрел я код англицкий, похоже, там в хеш-таблице простой перебор при поиске, у Соколова все быстрее
https://www.mql5.com/en/blogs/post/681230
Там дальше и продолжение с хэш-таблицей.
То, что предлагается вообще не вариант. Единственным выходом видится, имхо, писать стратегии на уровне кросплатформенного фреймворка, что-то вроде такого:
//+------------------------------------------------------------------+
//| Работа с отложенными ордерами BuyStop для открытия длинной |
//| позиции |
//+------------------------------------------------------------------+
void CImpulse::InitBuy(const MarketEvent &event)
{
if(!IsTrackEvents(event))return;
if(positions.open_buy > 0) return;
int buy_stop_total = 0;
ENUM_ORDER_TASK task;
double target = WS.Ask() + WS.Ask()*(m_percent/100.0);
if(target < Moving.OutValue(0)) // Цена срабатывания ордера должна быть выше скользящей средней
task = ORDER_TASK_DELETE;
else
task = ORDER_TASK_MODIFY;
for(int i = PendingOrders.Total()-1; i >= 0; i--)
{
CPendingOrder* Order = PendingOrders.GetOrder(i);
if(Order == NULL || !Order.IsMain(ExpertSymbol(), ExpertMagic()))
continue;
if(Order.Type() == ORDER_TYPE_BUY_STOP)
{
if(task == ORDER_TASK_MODIFY)
{
buy_stop_total++;
Order.Modify(target);
}
else
Order.Delete();
}
}
if(buy_stop_total == 0 && task == ORDER_TASK_MODIFY)
Trade.BuyStop(MM.GetLotFixed(), target, ExpertSymbol(), 0, 0, NULL);
}
...
Т.е. что бы в коде советника вообще не было вызовов платформо-специфических функций вроде OrderSend, Ask() или iCustom.
Все это так. Никто из здравомыслящих людей подвергать сомнению сказанное конечно не будет. Но реальность к сожалению иная. По Маркету могу сказать, что 85%-90% всех покупок приходится на MetaTrader 4. Т.е. что-либо специально разрабатывать для MetaTrader 5 - это экономическое самоубийство. Лично я поддерживаю в своих продуктах MetaTrader 5 только благодаря простой кросплатформенности, а значит и низким затратам времени/денег на перевод продукта в МТ5. Надеюсь со временем пропорция продаж поменяется. Если это так и будет, то держать продукты для МТ5 стоит хотя бы для этого.
Что касается брокераджа там тоже не все так просто. Я сейчас работаю совместно с одним партнером. Он ко мне придет, как уже бывало ни раз, и скажет: "Завтра открываем 20 счетов в брокере *** и начинаем торговать нашу стратегию. У него условия хорошие. Я уже обо всем договорился" - И что мне ему сказать? Что там нет MetaTrader 5, а есть только MetaTrader 4? И торговать у него не получиться, потому что наш робот работает только под МТ5, а что бы перевести его под МТ4 я должен фактически написать его заново и месяц работать нон-стоп (вот такие умельцы до меня писали)?
В общем я что хочу сказать: то что мы любим - это хобби. А работа - то, на чем мы зарабатываем. И раз наша задача так или иначе максимизировать прибыль (от продаж в Маркете, заказов в Фрилансе, управления счетами в ПАММ'ах, от подписок в Сигналах, от лучших брокерских условий), то мы просто не имеем право игнорировать MetaTrader 4 и всегда необходимо оглядываться на него, как бы не хотелось нам от него избавиться.
на самом деле -- мне известен только один, кто готов биться "за" МТ5 и "против" МТ4 с любым трейдером и даже с любой преградой каждой клеточкой своего тела и сознания.