Разработана библиотека функций API для MetaTrader 4 - страница 6

 

Учтите еще, что Омега "не знает" определений из файла Mforex.h. Т.е., например, при вызове функции открытия позиции, нужно указать код операции скажем для Sell - 1, а не OP_SELL и т.д. Более подробно - см. документацию к DevKit, которая описывает формат работы омеги с внешними библиотеками.
Удачи!


У меня есть документация к DevKit но там я хотя и искал ничего пока не нашёл, английский - тёмный лес.
но из документа мфорекс.н есть вытяжка,
Ордера
enum { OP_BUY=0,
OP_SELL,
OP_BUY_LIMIT,
OP_SELL_LIMIT,
OP_BUY_STOP,
OP_SELL_STOP,
OP_BALANCE,
OP_CREDIT
};

значит ли что если
OP_BUY=0 то
OP_SELL=1 и
OP_BUY_LIMIT=2 итд.?

если так то не сложно.

А как быть с названием Инструмента?
 

А как быть с названием Инструмента?

Вы практически со всем разобрались сами. Название инструмента должно быть в кавычках, т.к. оно передается в МТ4 без изменений. Когда создавалась библиотека MFOREX, я сначала хотел также пронумеровать все доступные пары, но потом выяснилось, что стандартными способами невозможно получить список торгуемых инструментов! Поэтому просто пишем "USDCHF" или "GBPUSD".
Можно также передавать имя пары в строковой переменной.
Удачи!
 
Большое спасибо, с Омегой проблем пока меньше.
Обнаружил более вескую проблему:
Советник в МТ4 битый т.е. не работающий сам по себе, в листе он серый, что делать?
Перезакачал поновой - никаких изменений.

Вытяжка из Хелпа:

По завершении разработки необходимо скомпилировать советник. Для этого в редакторе советников необходимо выполнить команду меню "Файл — Компилировать", нажать клавишу F9 или кнопку панели инструментов. В результате успешной компиляции создается исполняемый файл программы с расширением *.EX4, автоматически помещаемый в папку /EXPERTS. Список скомпилированных экспертов можно просмотреть в окне "Навигатор — Советники" клиентского терминала. Если компиляция не была успешно завершена, пиктограмма эксперта будет закрашена серым цветом. Это означает, что его использовать нельзя.
 
В результате успешной компиляции создается исполняемый файл программы с расширением *.EX4, автоматически помещаемый в папку /EXPERTS. Список скомпилированных экспертов можно просмотреть в окне "Навигатор — Советники" клиентского терминала. Если компиляция не была успешно завершена, пиктограмма эксперта будет закрашена серым цветом. Это означает, что его использовать нельзя.

Тут Вы не правы. Советник полностью жизнеспособен. Серый цвет еще означает, что отсутствует файл исходника *.MQ4. Большинство коммерческих экспертов распространяются именно таким образом в скомпилированной форме. Попробуйте удалить исходник любого эксперта и перезапустить терминал - эксперт станет серым.
Кроме этого, советую заменить файл Mem.dll на новый. Я переделал последний вариант под новый билд торгового терминала 197. В файлах у меня на сайте Mem.dll уже заменен на новый вариант:
http://www.min2006.ru
Удачи!
 
Добрый день, у меня значит такой вопрос:
если я хочу войти в рынок по маркету, то мне всё равно надо указывать цену?
 
Добрый день, у меня значит такой вопрос:
если я хочу войти в рынок по маркету, то мне всё равно надо указывать цену?

Здравствуйте! Это стандартная процедура. Все торговые советники так работают: сначала получаете текущую цену (функция TikKot), а затем формируете новый ордер по этой цене (NewPos). Если открываете ордер на покупку (Buy), то берете цену Ask, на продажу (Sell) - Bid.
Посмотрите прилагаемый пример на моем сайте на С++ или Delphi. Там есть варианты открытия позиций.
Удачи!
 
Значит вчера весь день запускал ДЛЛку в Омеге с разными функциями и установил что Омега постоянно зависает от ДЛЛки. Выскакивает окно с номером компьютера и даже несколько, не знаю проблема это только в демоверсии или как? Значит мне окно с номером не очень мешает, но зависание омеги делает работу невозможной...
 
Значит вчера весь день запускал ДЛЛку в Омеге с разными функциями и установил что Омега постоянно зависает от ДЛЛки. Выскакивает окно с номером компьютера и даже несколько, не знаю проблема это только в демоверсии или как? Значит мне окно с номером не очень мешает, но зависание омеги делает работу невозможной...

Не могу ответить ничего конкретного. С Омегой я библиотеку не тестировал. Видимо, проблема состоит в некорректном вызове функций из библиотеки. Резервировали ли Вы память для возвращаемых массивов данных? Еще могу посоветовать внимательно исследовать логи МТ4 и самой библиотеки (она при работе создает файл Protokol.dat).
Окно с номером компьютера выскакивает только в демоверсии. Удачи!
 
Резервировали ли Вы память для возвращаемых массивов данных?


А как это делается?
 

А как это делается?

Это стандартная процедура для любого языка программирования. Посмотрите в документации Омеги. Нужно объявить массив для его последующего использования. Например, для получения истории котировок нужно 2000-5000 элементов массива. Для массива перед операцией нужно средствами Омеги отвести в памяти необходимое место.
Посмотрели, что там в логах?