Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 6. - страница 173

 
tara:

В операциях с файлами - предусмотрена.

А где это сказано? В упор не наблюдается в документации. Или это они спецом утаивают? :)
 
hoz:

А где это сказано? В упор не наблюдается в документации. Или это они спецом утаивают? :)

В си файл - просто кусочек информации. Если работали с базами данных, то придется отвыкать.
 
tara:

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

В общем не указано нигде? :)
 
Хм.
 
Добрый день,подскажите, есть ли в интернете советник, выставляющий общий TakeProfit/StopLoss на уровень запланированной прибыли в рублях(долларах), а при изменении числа ордеров пересчет уровня TakeProfit/StopLoss(открытых как в бай так и шелл).
 
ALXIMIKS:

Ну дайте блин первоисток.

Вы приняли какуе-то величину последнего закрытого бара за 1?

а 4 бара за ним, по отношению к етой велечине имеют значение 0,33 0,33 3 3 ??? так?

Теперь вы ввели какой-то свой коеффициент для характеристики изминения и хотите расчитать етот коеффициент для [1] бара?


ну не совсем так.

есть массив отношений величин. одной к другой. это не абсолютные значения, а индексы, отношения.
это значит, что скажем 0.5 - это не "на 50% меньше". это значит, меньше В 2 РАЗА
а 0.2 - это не на 80% меньше, а в 5 раз.
при этом 2 или 5 - это как раз корректно, выражает суть - в 2 и 5 раз больше, соответственно

пример массива
1.2 1.02 0.833 10 0.98 0.1

надо найти среднее (в данном примере очевидно, среднее будет равно 1)

среднее арифметически или геометрическое тут не внесет ясности, оно сравнивает просто значения, для данных методов 0.5 - это именно на 50% меньше.

чтобы понять логику - как я уже писал - можно это представить даже в виде графика -
когда значение меньше единицы представлена обратной отрицательной дробью. выйдет

1.2 1.02 -1.2 10 -1.02 -10

тут уже можно посчитать среднее арифметическое

но тут есть затык - если среднее итоговое значение например 0.2 = это по сути своей 1.2 (т е надо прибавить 1)
если среднее итоговое значение например -0.2 = это по сути своей 0.8 (а точнее 0.8333) (т е тоже в общем то прибавить единицу)

однако, в случае, если все значения скажем равны 3, на выхлопе будет 3. и вот как узнать, надо ли прибавлять 1цу?
делать проверку - если значение меньше 1, то да? если нет, то нет?
видимо как то так

опять же - это решение алгоритмическое. т е с множественные преобразования по условиям

я же спрашивал с надеждой, что возможно есть более просто решение, может формулой какой ;-))))

не знаю какой еще надо первоисток ))
если никто не может вкурить, что 0.2 - это не на 80% меньше, а в 5 раз.. то я снимаю свой вопрос (((((((

[update]
кажется нашел.
при формировании второго массива надо из значений вычитать 1цу,
а к итоговому резалту эту единицу прибавлять 0.2 -> 1.2, -0.2 -> -1.2 (эту еще преобразовывать обратной отрицательной дробью, т е получится 0.833(3) )
тогда все сойдется.

если кто знает иное, математическое решение - буду благодарен )



 
https://docs.mql4.com/ru/series
Если не хватает баров на графике, то увеличить надо в настройках МТ4.

Спасибо, меня интересуют цены тиков в каждом баре. Именно их хочу просуммировать и поделив на количество тиков найти среднюю цену.

Может это в MQL 5 можно сделать, а то в MQL4 никто не знает.

 
rosomah:

Спасибо, меня интересуют цены тиков в каждом баре. Именно их хочу просуммировать и поделив на количество тиков найти среднюю цену.

Может это в MQL 5 можно сделать, а то в MQL4 никто не знает.

Сначала нужно определить период (время) за который хотите считать. Например, за минуту. По приходу нового М1 бара собираете в массив "тиковые" значения цены на каждом приходящем тике. Размер массива можно задать статически, а можно изменять динамически. По приходу следующего бара вычисляете среднюю цену. По текущему бару можно вычислять среднюю по количеству пришедших тиков. Расчитанные данные можно писать в файл, синхронизируя их по времени открытия бара. Тиковой истории в МТ4 нет - тут "кто во что горазд".
 
TarasBY:
Сначала нужно определить период (время) за который хотите считать. Например, за минуту. По приходу нового М1 бара собираете в массив "тиковые" значения цены на каждом приходящем тике. Размер массива можно задать статически, а можно изменять динамически. По приходу следующего бара вычисляете среднюю цену. По текущему бару можно вычислять среднюю по количеству пришедших тиков. Расчитанные данные можно писать в файл, синхронизируя их по времени открытия бара. Тиковой истории в МТ4 нет - тут "кто во что горазд".

За последнюю фразу спасибо. Я почему-то так и думал, что нужно суммировать тики (Ask-и или Bid-ы?) по текущему бару, делить на количество, т.е. находить среднюю и отправлять в массив.

А в MQL5 есть тиковая история, не в курсе? Я как не читал и там найти не смог.