Коллеги добрый день! Нужна формула расчета профита позиций на хэджевом счете - зная среднюю цену их входа т.е. по сути цену безубытка однонаправленных позиций, плюс некое значение в пп - типа пипсы жадности - как узнать профит однонаправленных поз зная их обьем общий и цену символа где смотреть этот профит, если их все по этой цене закрыть.
По цене безубытка + пипсы жадности умноженные на пойнт. Если их все если закрыть по этой цене - то какой профит возможен. Будет.
Коллеги добрый день! Нужна формула расчета профита позиций на хэджевом счете - зная среднюю цену их входа т.е. по сути цену безубытка однонаправленных позиций, плюс некое значение в пп - типа пипсы жадности - как узнать профит однонаправленных поз зная их обьем общий и цену символа где смотреть этот профит, если их все по этой цене закрыть.
По цене безубытка + пипсы жадности умноженные на пойнт. Если их все если закрыть по этой цене - то какой профит возможен. Будет.
Нет, открытие и чтение это разные вещи. Файл в винде может быть открыт только одной программой. Режим для пользователя открыть открытый кем то файл только для чтения это уже копия файла. Ошибку возвращает 5004. Не давно парился, в индикаторах вызванный из советника по айКьюстом файлы открываются, а вот ОнДеИнит индикатора в тестере не срабатывает и выгрузка индикатора в ОнДеИнит советника тоже.
Если первый раз открывать по (до)записи (закомментированная строка), получаем:
И по поводу "одной программы" - легко смотрю логи своих роботов, пока они открываются/дописываются/закрываются самими роботами.
Лучше так все таки не делать.) путаница в хендлах еще тот баг))) Читать писать совместно никто не запрещает. Совместный доступ нескольких программ по чтению и по записи это все таки спецрежим и нужный в общем то, если читать писать несколькими советниками в один файл, в рамках одного советника он особо не нужен))) И если какие то хендлы не убрать, файл останется открытым.
К тому же ситуация часто бывает, тест закончился, файл остался открытым, новый тест не смог открыть файл.
Блокнот винды кстати позволяет открывать открытые другими прогами файлы в текущем состоянии и обновлять состояние.
Программа позволяет использовать этот файл с записанными в него значениями массива в нескольких различных Советниках.
Я написал код в котором читаю из включаемого файла, и меняю данные записанные во включаемый файл.
#include <STOP.mqh>
voidOnTick()
{
if (STOP[0][0]==1){STOP[0][1]=10;Print("--------ПРОВЕРКА---------------DayOfWeek()--- ",DayOfWeek()," BAY[0][0] ",STOP[0][1]);}
if (STOP[0][1]==10)STOP[0][0]=10;
}
В данном Советнике эти данные меняются успешно и Советник прекращает исполнять первую строку. То есть, значение элемента массива из включаемого файла было STOP[0][1]=0; , а после изменения - стало STOP[0][1]=10; значение STOP[0][0] было =1, стало = 10
ВОПРОС 1
Почему после изменения этих значений в программе в самом массиве во включаемом файле значение этих элементов этого массива в этом включаемом файле остались прежними, то есть не изменились? . Это значит что новые значения этих элементов массива этого включаемого файла я не смогу использовать в другом Советнике, поскольку в массиве включаемого файла измененные значения элементов массива не сохранились.
Как нужно изменить код, что бы значения элементов массива из включаемого файла измененные программой менялись и сохранялись в массиве включаемого файла.
ВОПРОС 2
В вышеуказанный включаемый файл я записывал данные массива путем копирования из таблицы ЕКСЕЛЬ. А при помощи какого кода можно заполнять массив из включаемого файла прямо из программы? Я пробовал делать это при помощи цикла... но безуспешно
Всем доброго времени суток! Вопрос по тестеру mql4, по включаемым файлам. У меня есть включаемый файл, в который записан массив со значениями чисел.
Программа позволяет использовать этот файл с записанными в него значениями массива в нескольких различных Советниках.
Я написал код в котором читаю из включаемого файла, и меняю данные записанные во включаемый файл.
В данном Советнике эти данные меняются успешно и Советник прекращает исполнять первую строку. То есть, значение элемента массива из включаемого файла было STOP[0][1]=0; , а после изменения - стало STOP[0][1]=10; значение STOP[0][0] было =1, стало = 10
ВОПРОС 1
Почему после изменения этих значений в программе в самом массиве во включаемом файле значение этих элементов этого массива в этом включаемом файле остались прежними, то есть не изменились? . Это значит что новые значения этих элементов массива этого включаемого файла я не смогу использовать в другом Советнике, поскольку в массиве включаемого файла измененные значения элементов массива не сохранились.
Как нужно изменить код, что бы значения элементов массива из включаемого файла измененные программой менялись и сохранялись в массиве включаемого файла.
ВОПРОС 2
В вышеуказанный включаемый файл я записывал данные массива путем копирования из таблицы ЕКСЕЛЬ. А при помощи какого кода можно заполнять массив из включаемого файла прямо из программы? Я пробовал делать это при помощи цикла... но безуспешно
Всем спасибо за помощь.
Файл включается во время компиляции программы.
Если хотите во время исполнения - смотрите в сторону FileWriteArray()/FileReadArray() https://docs.mql4.com/ru/files , но там работа с бинарными файлами. Для парсинга текста придётся писать свой код.
Почему после изменения этих значений в программе в самом массиве во включаемом файле значение этих элементов этого массива в этом включаемом файле остались прежними, то есть не изменились? . Это значит что новые значения этих элементов массива этого включаемого файла я не смогу использовать в другом Советнике, поскольку в массиве включаемого файла измененные значения элементов массива не сохранились.
Как нужно изменить код, что бы значения элементов массива из включаемого файла измененные программой менялись и сохранялись в массиве включаемого файла.
Всё это описано в документации. Функция FileFlush вам в помощь.
Alexey Viktorov #: Функция FileFlush вам в помощь.
Спасибо за ценную информацию. Если я правильно понял FileFlush из языка MQL5 . А я пишу код пока на MQL4 Правильно ли я понял что для четверки функция FileFlush не подходит. Если не подходит , то какую альтернативу ей можете посоветовать для решения моей проблемы именно на MQL4 ?
И еще... правильно ли я понял, что FileFlush запишет данные не в включаемый файл mqh а в файл стороннего приложения , например сvv ?
Если хотите во время исполнения - смотрите в сторону FileWriteArray()/FileReadArray() https://docs.mql4.com/ru/files , но там работа с бинарными файлами. Для парсинга текста придётся писать свой код.
Спасибо за ценную информацию
Если я Вас правильно понял, Вы предлагаете писать массив не в включаемый файл mqh , а в файл стороннего приложения типа сvv и ему подобных. Это делать я уже умею. Но я хочу научиться записывать из программы на mql 4 данные именно в файл mqh. Если это возможно.
Нет, открытие и чтение это разные вещи. Файл в винде может быть открыт только одной программой. Режим для пользователя открыть открытый кем то файл только для чтения это уже копия файла. Ошибку возвращает 5004. Не давно парился, в индикаторах вызванный из советника по айКьюстом файлы открываются, а вот ОнДеИнит индикатора в тестере не срабатывает и выгрузка индикатора в ОнДеИнит советника тоже.
Флаг для чтения не помог)))
Получаем:
Если первый раз открывать по (до)записи (закомментированная строка), получаем:
И по поводу "одной программы" - легко смотрю логи своих роботов, пока они открываются/дописываются/закрываются самими роботами.
Общий лот * Стоимость пункта * Кол-во пунктов
Получаем:
Если первый раз открывать по (до)записи (закомментированная строка), получаем:
И по поводу "одной программы" - легко смотрю логи своих роботов, пока они открываются/дописываются/закрываются самими роботами.
Лучше так все таки не делать.) путаница в хендлах еще тот баг))) Читать писать совместно никто не запрещает. Совместный доступ нескольких программ по чтению и по записи это все таки спецрежим и нужный в общем то, если читать писать несколькими советниками в один файл, в рамках одного советника он особо не нужен))) И если какие то хендлы не убрать, файл останется открытым.
К тому же ситуация часто бывает, тест закончился, файл остался открытым, новый тест не смог открыть файл.
Блокнот винды кстати позволяет открывать открытые другими прогами файлы в текущем состоянии и обновлять состояние.
Всем доброго времени суток! Вопрос по тестеру mql4, по включаемым файлам.
У меня есть включаемый файл, в который записан массив со значениями чисел.
Программа позволяет использовать этот файл с записанными в него значениями массива в нескольких различных Советниках.
Я написал код в котором читаю из включаемого файла, и меняю данные записанные во включаемый файл.
В данном Советнике эти данные меняются успешно и Советник прекращает исполнять первую строку. То есть, значение элемента массива из включаемого файла было STOP[0][1]=0; , а после изменения - стало STOP[0][1]=10; значение STOP[0][0] было =1, стало = 10
ВОПРОС 1
Почему после изменения этих значений в программе в самом массиве во включаемом файле значение этих элементов этого массива в этом включаемом файле остались прежними, то есть не изменились? . Это значит что новые значения этих элементов массива этого включаемого файла я не смогу использовать в другом Советнике, поскольку в массиве включаемого файла измененные значения элементов массива не сохранились.
Как нужно изменить код, что бы значения элементов массива из включаемого файла измененные программой менялись и сохранялись в массиве включаемого файла.
ВОПРОС 2
В вышеуказанный включаемый файл я записывал данные массива путем копирования из таблицы ЕКСЕЛЬ. А при помощи какого кода можно заполнять массив из включаемого файла прямо из программы? Я пробовал делать это при помощи цикла... но безуспешно
Всем спасибо за помощь.
Всем доброго времени суток! Вопрос по тестеру mql4, по включаемым файлам.
У меня есть включаемый файл, в который записан массив со значениями чисел.
Программа позволяет использовать этот файл с записанными в него значениями массива в нескольких различных Советниках.
Я написал код в котором читаю из включаемого файла, и меняю данные записанные во включаемый файл.
В данном Советнике эти данные меняются успешно и Советник прекращает исполнять первую строку. То есть, значение элемента массива из включаемого файла было STOP[0][1]=0; , а после изменения - стало STOP[0][1]=10; значение STOP[0][0] было =1, стало = 10
ВОПРОС 1
Почему после изменения этих значений в программе в самом массиве во включаемом файле значение этих элементов этого массива в этом включаемом файле остались прежними, то есть не изменились? . Это значит что новые значения этих элементов массива этого включаемого файла я не смогу использовать в другом Советнике, поскольку в массиве включаемого файла измененные значения элементов массива не сохранились.
Как нужно изменить код, что бы значения элементов массива из включаемого файла измененные программой менялись и сохранялись в массиве включаемого файла.
ВОПРОС 2
В вышеуказанный включаемый файл я записывал данные массива путем копирования из таблицы ЕКСЕЛЬ. А при помощи какого кода можно заполнять массив из включаемого файла прямо из программы? Я пробовал делать это при помощи цикла... но безуспешно
Всем спасибо за помощь.
Файл включается во время компиляции программы.
Если хотите во время исполнения - смотрите в сторону FileWriteArray()/FileReadArray() https://docs.mql4.com/ru/files , но там работа с бинарными файлами. Для парсинга текста придётся писать свой код.
ВОПРОС 1
Почему после изменения этих значений в программе в самом массиве во включаемом файле значение этих элементов этого массива в этом включаемом файле остались прежними, то есть не изменились? . Это значит что новые значения этих элементов массива этого включаемого файла я не смогу использовать в другом Советнике, поскольку в массиве включаемого файла измененные значения элементов массива не сохранились.
Как нужно изменить код, что бы значения элементов массива из включаемого файла измененные программой менялись и сохранялись в массиве включаемого файла.
Всё это описано в документации. Функция FileFlush вам в помощь.
Функция FileFlush вам в помощь.
Спасибо за ценную информацию. Если я правильно понял FileFlush из языка MQL5 . А я пишу код пока на MQL4
Правильно ли я понял что для четверки функция FileFlush не подходит. Если не подходит , то какую альтернативу ей можете посоветовать для решения моей проблемы именно на MQL4 ?
И еще... правильно ли я понял, что FileFlush запишет данные не в включаемый файл mqh а в файл стороннего приложения , например сvv ?
Еще раз спасибо.
Файл включается во время компиляции программы.
Если хотите во время исполнения - смотрите в сторону FileWriteArray()/FileReadArray() https://docs.mql4.com/ru/files , но там работа с бинарными файлами. Для парсинга текста придётся писать свой код.
Спасибо за ценную информацию
Если я Вас правильно понял, Вы предлагаете писать массив не в включаемый файл mqh , а в файл стороннего приложения типа сvv и ему подобных. Это делать я уже умею.
Но я хочу научиться записывать из программы на mql 4 данные именно в файл mqh. Если это возможно.