[АРХИВ]Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 5. - страница 254
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Народ, раньше в эдиторе при наведении курсора на зарезервированное слово и нажатии ф1 открывалось снизу окно с описанием данной функции, сейчас у меня этого не стало. В чём может быть проблема ?
Кто подскажет, как сделать результат всегда положительным ? (лоты Бай - лоты Селл)= -0,25, а надо чтоб всегда с плюсом ?
Так и делаю: if (profitbuy+profitsell > SymbProf_magBUY_magSELL* MathAbs((OrdersTotalMagicBuyLots(MagicBuy)-OrdersTotalMagicSellLots(MagicSell))/Lots)())
что в скобках?
if (profitbuy+profitsell > SymbProf_magBUY_magSELL* MathAbs((OrdersTotalMagicBuyLots(MagicBuy)-OrdersTotalMagicSellLots(MagicSell))/Lots)(??????))
там где ???? что?
Я открываю позицию объемом = 0,05. Нужен код - как сократить объем позиции на 0,01 при достижении убытка 100 пунктов для 5 знаков ???
Спасибо.
Сколько советников я писал, везде при торговле отложками проверю рыночные условия (стоплевел, спред и тд). Посмотрел я как пишут гридеров, так ни в одном не увидел, чтоб хоть перед посылом какого-н. одного ордера проверялось значение того же стоплевела. В чём причина?
На форуме уйма метариалов про тестер, и почему его результаты отличаются от реальной жизни. Поищите в разделе Статьи, там эта тема затрагивалась не раз.
Спасибо.
Нашёл альтернативу.
Это значит, что в DLL строка передается именно как char*, а не как MqlStr. Но не значит, что в ex4-программе строка не хранится как MqlString. Вообще передача параметров из ex4 в dll - это (по заявлениям разработчиков) довольно сложный процесс, сопровождающийся всевозможными проверками и преобразованиями параметров.
Справку по MQL4 читали? MQL4-строка это таже с-строка с нультерминатором.
Структура предназначена только для организации массива строк. Чисто придумка Метаквотов для облегчения создания строковых массивов.
StrStrA из библиотеки shlwapi.dll. Тест:
Лог:
Механизм следующий. shlwapi.dll в /system32. StrStrA это WinAPI-аналог StringSubstr. MQL4 безтиповый язык, и если мы ставим на выходе ловушку не string, а int, то и получаем не строку, а указатель на неё. StrStrA ищет первое вхождение подстроки в строке (с учётом регистра, но т.к. у нас строки одинаковы, нас это не волнует), и поскольку у нас строки одинаковы, возвращает указатель на первый символ строки, т.е. на саму строку.
Поясню для тех, кто будет использовать этот код. В WinAPI нет формата string. Вместо него только формат lpsz (указатель на первый элемент массива символов, заканчивающийся 0х00, он же /0). Указатель на адрес памяти. А поскольку у нас ячейки памяти 32-битные (т.е. 4 байта) и int тоже размером 4 байта, то всё туда аккуратно входит.
Итог: можно спокойно упаковывать строки в интовые массивы, эмулируя тем самым структуры (а на MQL4 структур и классов нет) для передачи их дальше в dll, если там необходимы структура или класс. Самописные dll для перевода типов данных (т.е. конструкции типа "int(const char*)" (си-тип перевода) или аналогичные на C++) теперь можно не использовать.