#include - это просто вставка текста файла в текст эксперта.
Поэтому после любых изменений нужна компиляция.
Если необходима возможность менять только включаемый файл, его надо оформить в виде библиотеки. Тогда для внесения изменений в экспета достаточно будет скомпилировать библиотеку и перезапустить эксперта.
;)
Поэтому после любых изменений нужна компиляция.
Если необходима возможность менять только включаемый файл, его надо оформить в виде библиотеки. Тогда для внесения изменений в экспета достаточно будет скомпилировать библиотеку и перезапустить эксперта.
;)
#include - это просто вставка текста файла в текст эксперта.
Поэтому после любых изменений нужна компиляция.
Если необходима возможность менять только включаемый файл, его надо оформить в виде библиотеки. Тогда для внесения изменений в экспета достаточно будет скомпилировать библиотеку и перезапустить эксперта.
;)
Поэтому после любых изменений нужна компиляция.
Если необходима возможность менять только включаемый файл, его надо оформить в виде библиотеки. Тогда для внесения изменений в экспета достаточно будет скомпилировать библиотеку и перезапустить эксперта.
;)
Всмысле, в виде DLL или просто подключать .ex4, каторый можно изменить, перекомпилить и все работать будет? Как правельно?
попробывал засунуть все в библиотеку и подключить её к эксперту пишет
'temp.ex4' - cannot open program file D:\Program Files\MetaTrader 4\experts\TRUBA_H1.mq4 (316, 1)
В папке "D:\Program Files\MetaTrader 4\experts\libraries\" библиотека создана, но компилется не хочет, требует кое какие параметры из эксперта, впринципе можно их туда перенести, но если честно я пока плохо представляю чего нужно и главнок как правельно все сделать.
Кomposter, если тебя не затруднит объясни на пальцах. код желательно посмотреть, как подключается и все такое. ниразу не сталкивался с подобной штукой. В хелпе написано. но пока не догнал что нужно.
'temp.ex4' - cannot open program file D:\Program Files\MetaTrader 4\experts\TRUBA_H1.mq4 (316, 1)
В папке "D:\Program Files\MetaTrader 4\experts\libraries\" библиотека создана, но компилется не хочет, требует кое какие параметры из эксперта, впринципе можно их туда перенести, но если честно я пока плохо представляю чего нужно и главнок как правельно все сделать.
Кomposter, если тебя не затруднит объясни на пальцах. код желательно посмотреть, как подключается и все такое. ниразу не сталкивался с подобной штукой. В хелпе написано. но пока не догнал что нужно.
библиотеку надо пометить #property library, сохранить в "D:\Program Files\MetaTrader 4\experts\libraries\" и скомпилировать.
В эксперте вместо #include вставить #import и описать все функции, которые будут использоваться.
В хелпе об этом достаточно подробно написано. С примерами ;)
В эксперте вместо #include вставить #import и описать все функции, которые будут использоваться.
В хелпе об этом достаточно подробно написано. С примерами ;)
библиотеку надо пометить #property library, сохранить в "D:\Program Files\MetaTrader 4\experts\libraries\" и скомпилировать.
В эксперте вместо #include вставить #import и описать все функции, которые будут использоваться.
В хелпе об этом достаточно подробно написано. С примерами ;)
В эксперте вместо #include вставить #import и описать все функции, которые будут использоваться.
В хелпе об этом достаточно подробно написано. С примерами ;)
Как прикрутить библиотеку я разобрался.
код библиотеки:
#property library //+------------------------------------------------------------------+ //| Условие для BUY | //+------------------------------------------------------------------+ int BUY(bool lFlagBuyOpen){ lFlagBuyOpen = (.....условие для покупки.....); return(lFlagBuyOpen); } //+------------------------------------------------------------------+ //| Условие для SELL | //+------------------------------------------------------------------+ int SELL(bool lFlagSellOpen){ lFlagSellOpen = (.....условие для продажи.....); return(lFlagSellOpen); }
В основном коде эксперта, куда прикреплена данная библиотека, используются индикаторы
double MacdCurrent; MacdCurrent=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,0);
код основного эксперта компилится, но когда я пытаюсь записать условия покупки или продажи по значениям этих индикаторов библиотека не компилится, впринципе ясно почему, добавляем:
#property library double MacdCurrent; //+------------------------------------------------------------------+ //| Условие для BUY | //+------------------------------------------------------------------+ int BUY(bool lFlagBuyOpen){ lFlagBuyOpen = (MacdCurrent<0); return(lFlagBuyOpen); } //+------------------------------------------------------------------+ //| Условие для SELL | //+------------------------------------------------------------------+ int SELL(bool lFlagSellOpen){ lFlagSellOpen = (MacdCurrent>0); return(lFlagSellOpen); }
Теперь код компилится, но не открывается ни одной сделки при данных условиях.
Объясните что я не так сделал?!
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Написал эксперт. в эксперте есть одна внешняю функция. в эксперт прикрутил её так.
#include <files.mqh>
Если в файле "files.mqh" изменить что-то и сохранить, эксперт изменения не увидет. Если просто кнопкой отключить работу эксперта и сново включить в логах пишется:
2006.05.22 14:45:14 TRUBA_H1 EURUSD,H1: initialized
2006.05.22 14:45:14 TRUBA_H1 EURUSD,H1: deinitialized
и опять эксперт не видет измененные параметры.
Так же не видет если терминал закрыть и сново загрузить. конект произошел, все подключилось в логах
2006.05.22 14:53:40 Expert TRUBA_H1 EURUSD,H1: loaded successfully
но изменения в файле "files.mqh" эксперт не видет.
Помогает только полная компиляция эксперта. А если исходного кода у меня нету, есть только "files.mqh" в катором я меняю что нужно, а все остальное заложено в скомпелированном эксперте. Как тогда пользоваться экспертом?