Опубликован первый учебник по MQL4 - страница 5

 

В данном случае две литеры: ! и = представляют собой единое неразрывное обозначение, а именно знак операции отношения (не равно). Знаки операций отношения указываются между операндами.

Существует также знак логической операции ! (не). Этот знак указывается перед операндом.

А сочетание литер типа А! употребляется в обычных текстах для обозначения реакции юзера, читающего учебник по диагонали:)

 
SK. писал (а):

А сочетание литер типа А! употребляется в обычных текстах для обозначения реакции юзера, читающего учебник по диагонали:)

Дык иначе пока по другому не получается... ;)
решение вопросов по мере поступления, в основном при чтении чужих кодов.

операции отношения

В данном случае две литеры: ! и = представляют собой единое неразрывное обозначение, а именно знак (не равно). Знаки операций отношения указываются между операндами.

логической операции


Существует также знак ! (не). Этот знак указывается перед операндом.

Вот, говорю же, мелочи...
Читаю про a!=b и тут-же вижу в соседнем скрипте if ( !blabla || lala = 0 ) ...
Вопрос и возник сам собой... ошибся? неверно понял?
ну все были когда вопрошаюшими-начинающими...
А за ответ огромный Вам сасибо!!!
 

Пожалуйста. Лишь бы польза была.

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

У каждого свой путь.
Я предпочитаю академический вариант: неторопясь, последовательно, внимательно и аккуратно. И, как показывает практика, такой подход оказывается более эффективным по времени достижения результата, а иногда и вообще единственно возможным, если задача серьёзная.

PS. Это if ( !blabla || lala = 0 ) неверно. Нужно так: if ( !blabla || lala == 0 )

 

Вот бы несколько примеров как сделать...

Как делать временЫе выборки одного во времени другого?
Например:
- цены первой М15 свечки каждого дня
- с и по внутри дня (или каждого из дней)

Как назначить граф.обьекту ширину длиною в день?
(разбираю пока для этого инд. Пивот, но ещё не очень вьехал...)

Кстати про пивот.
Есть ДЦ который начинает работу на час раньше... ;)
И посему ввиду лишних воскресных данных, пивот ломается каждый понедельник.
Пытаюсь создать нечто: если сегодня понедельник, то берём данные пятницы
но увы... :(

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

 
kombat:

Кстати про пивот.
Есть ДЦ который начинает работу на час раньше... ;)
И посему ввиду лишних воскресных данных, пивот ломается каждый понедельник.
Пытаюсь создать нечто: если сегодня понедельник, то берём данные пятницы но увы... :(

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

Графики без воскресных баров
 

Разбирать чужие коды, тем более без комментариев, бывает очень сложно. Лучше создавать свои.

Собрать данные внутри какого-то промежутка времени совсем несложно. Для этого нужно точно знать время начала и окончания выбранного интервала в формате гггг.мм.дд чч:мм. После этого время для первой точки, выраженное в гггг.мм.дд чч:мм, нужно перевести в целое число секунд, прошедших с 1970 года по заданное время. То же проделать для второй крайней точки.

После этого нужно пойти в цикле по времени от первой до второй точки. В цикле нужно определить номер бара для текущего времени, а зная номер бара легко определить значения таймсерии (макс, мин, откр и т.д.)

Вы легко найдёте все необходимые функции для преобразования и вычисления данных в документации (проще всего в МЕ).

------

Вообще, любая задача решается легко, если разделять её на небольшие составляющие части. Например, найти максимум из 3х значений или выбрать из списка объект нужного типа. Решение появляется само собой. Потом из мелких составляющих легко сложить полный алгоритм.

 

Справку читаю... открыта практически всегда...
Намониторная книга так сказать, впрочем как и учебник.

Преобразование в принципе понятно, а вот с построением циклов пока туго.
Хотя сам смысл и назначение ясны аки божий день...

Что касаемо чтения кодов... дык из чисто своих тока вот это пока:

 МАКСИЛОТ=MarketInfo(Symbol(),MODE_MAXLOT);
// обьём в цифрах только для экспериментов
 double ОБЬЁМ=5000000; // на самом деле тут формула по ММ
 if (ОБЬЁМ >= МАКСИЛОТ) ОБЬЁМ=МАКСИЛОТ;
Для ДЦ где существует ограничение сверху на позу 10 или там 20 лот
(центовые, или на ФРРФ где например обьем 5К6 семечки... почти...)

Кстати, на его основе есть мнение создать скрипт открывающий позиции, уж простите "раком".
Например, ДЦ имеет максилот 10, а средств много, позволяют без проблем открыть 56.1 лота,
далее скрипт "долбит" 10, 10, 10, 10, 10 и в конце уже 6.1 лота...

Цикл. Счётчик. Буфер (?) для запоминания расчитаной величины 56.1 лота. Счётчик отстёгивает с каждым открытием.
Сложно пока для меня это...

Копаюсь с пивотом... новые мыслишки посетили... вот таки дела.
И всё потому что читаешь, смотришь, бродишь и... компилируешь. :)))

 
kombat:

Кстати, на его основе есть мнение создать скрипт открывающий позиции, уж простите "раком".
Например, ДЦ имеет максилот 10, а средств много, позволяют без проблем открыть 56.1 лота,
далее скрипт "долбит" 10, 10, 10, 10, 10 и в конце уже 6.1 лота...

Когда-то писал нечто подобное, можно посмотреть и (обязательно!) доработать:
    double tmp_lot = 56.1, MaxLot = 10.0;
    while ( tmp_lot > MaxLot )
    {
        if ( OrderSend( Symbol(), OP_BUY, MaxLot, ... ) > 0 ) tmp_lot -= MaxLot;
    }
    if ( tmp_lot > 0 )
    {
        OrderSend( Symbol(), OP_BUY, tmp_lot, ... );
    }
 

ОК!

посмотрю и доработаю... наверное... ;) спасиб!

 

Небольшая ошибка в книге...

double double GlobalVariableGet( string name)

лишний дабл.

Уточните плиз по глобальным переменным.
(инструмент отработанный, так что можно без подробностей... ;)
На выходных забил в код глобалсет, но данные не появились.
Потом отвлёкся от этого... а сегодня, ба! появились...
(эксперт так и висел на графике)

То есть данные появляются\обновляются исключительно при наличии тиков?
И всякие манипуляции типа наброса на график, смена т\ф и т.д...
на это дело не влияет... так?

Причина обращения: