Форум трейдеров » Торговые роботы, советники, индикаторы » Как правильно импортировать функции?
+ Подписаться
Страница 1 из 3 123 ПоследняяПоследняя
  1. 525
    Комментарии
    14
    Темы
    526
    Репутация Pro
     
    Banned

    4 Медалей

    Как правильно импортировать функции?

    Приветствую!
    прописал импорт функции
    Код:
    #import "Strategy.ex4"
       bool StrategyCheck(string str);
    #import
    скомпилировал библитеку в директории terminal\experts\libraries\

    при проверке выдаёт:
    expert stopped
    cannot load external expert 'Strategy'
    Strategy: not enough memory for expert data

    Как правильно импортировать функции?
    Недоступно! Pro 0
    Поделиться
    Просмотров: 5,080
  2. 4,160
    Комментарии
    7
    Темы
    4265
    Репутация Pro
    Аватар для Денис Давыдов  
    Мастер форумных наук

    4 Медалей
    В MetaEditor в окне Навигатора вкладка Словарь, далее Основы языка - Препроцессор - Импорт функций
  3. 4,819
    Комментарии
    10
    Темы
    4852
    Репутация Pro
    Аватар для Максимъ  
    Снеговик-флудовик

    5 Медалей
    Вся ошибка заключается не в недостатке памяти, а в "cannot load external expert 'Strategy'". Так что либо он лежит в неверном месте, может быть ошибка в названии файла в одной букве, а либо антивирус его запрещает выполнять. Могут быть и еще варианты.

    Можешь:
    1) Попробовать функцию в отдельный файл не писать, а прописать ее для начала в самом советнике, что бы убедится работает ли она.
    2) Выложить сюда архив с включаемым файлом и файлом, где функция эта вызывается. :)
  4. 59
    Комментарии
    0
    Темы
    60
    Репутация Pro
    Аватар для lazyboy1027  
    В начале пути

    2 Медалей
    Цитата Сообщение от DECIDE Посмотреть сообщение
    Приветствую!
    прописал импорт функции
    Код:
    #import "Strategy.ex4"
       bool StrategyCheck(string str);
    #import
    скомпилировал библитеку в директории terminal\experts\libraries\

    при проверке выдаёт:
    expert stopped
    cannot load external expert 'Strategy'
    Strategy: not enough memory for expert data

    Как правильно импортировать функции?
    Если название библиотеки заключено вы кавычках, то препроцессор ищет ее в каталоге с самим экспертом. И естественно не находит. Либо напише в заголовке путь к библиотеке (можно и относительный) либо закинь ее в стандартный каталог "experts\include\" и название заключи в угловые скобки: <Strategy.ex4>. В этом случае препроц будет искать ее в стандартном каталоге.
  5. 525
    Комментарии
    14
    Темы
    526
    Репутация Pro
     
    Banned

    4 Медалей
    спасибо конечно за ответы, но если вы ни разу не использовали импортирование функций, то не стоит и советовать что и как делать ИМХО

    фанкция вложенная в главный файл прекрасно работает, но вот импортироватся не хочет

    инструкцию я перечитал и не раз
    пробовал размещать в разных директориях
    ..\experts\
    ...\experts\include\
    ...\experts\libraries\

    насчёт ковычек, это формат команды включения файла при компиляции, а не импортирования функций из скомпилированного или dll файла
    #include <имя_файла>
    #include "имя_файла";

    ещё до создания данной темы я всё это проверил и надеялся получить ответ от тех кто имеет опыт в импортировании функций, буду надеятся, что такие люди всё таки найдутся
  6. 4,160
    Комментарии
    7
    Темы
    4265
    Репутация Pro
    Аватар для Денис Давыдов  
    Мастер форумных наук

    4 Медалей
    Цитата Сообщение от DECIDE Посмотреть сообщение
    спасибо ...
    Я импортировал функции согласно справке и всегда успешно, возможно дело в самом файле функции, скомпелируй его заново, и проверь всё-таки написание названия файла, скопируй его название и вставь в команду импорта, так надёжнее будет.
  7. 525
    Комментарии
    14
    Темы
    526
    Репутация Pro
     
    Banned

    4 Медалей
    Денис Давыдов, не могли бы вы рабочий пример показать? если умеете импортировать функции, то вам это не составит труда

    тестовый файл советника допустим DECIDE.mq4
    Код:
    #import "Strategy.ex4"
       bool StrategyCheck(string str);
    #import
    
    int start(){
      bool fl=StrategyCheck("eee");
      Comment("флаг импортируемой функции: ",fl);
    }
    файл Strategy.mq4
    Код:
    bool StrategyCheck(string str){
       bool fl;
       if(str=="eee")fl=true;else fl=false;
       return(fl);
    }
  8. 4,160
    Комментарии
    7
    Темы
    4265
    Репутация Pro
    Аватар для Денис Давыдов  
    Мастер форумных наук

    4 Медалей
    Цитата Сообщение от DECIDE Посмотреть сообщение
    Денис Давыдов, не могли бы вы рабочий пример показать? если умеете импортировать функции, то вам это не составит труда ...
    Сейчас готовых примеров нет, а писать времени пока не будет, посмотри в терминале есть period_converter (кажется так пишется :) ), или загляни на форум MQL
  9. 525
    Комментарии
    14
    Темы
    526
    Репутация Pro
     
    Banned

    4 Медалей
    чего писать-то? я всё уже написал, пример файла советника и файла для импортирования функции

    если вы действительно умели бы импортировать, то легко данный пример проверили и выложили рабочий код с какими-то поправками

    прежде чем говорить, что я умею импортировать функции следует это уметь, а не ссылатся на инструкции и форумы..
    я и без этого читал инструции, описания и пользовался поиском в надежде получения ответа, но так как я его не нашол, то создал здесь тему
  10. 4,160
    Комментарии
    7
    Темы
    4265
    Репутация Pro
    Аватар для Денис Давыдов  
    Мастер форумных наук

    4 Медалей
    Цитата Сообщение от DECIDE Посмотреть сообщение
    если вы действительно умели бы импортировать, то легко данный пример проверили и выложили рабочий код с какими-то поправками
    А кто сказал, что я буду это делать бесплатно? Я дал вам направление в котором надо думать, этого вполне хватает, или вы хотите чтобы за вас всё сделали? :cool:

Вверх
РегистрацияX

чтобы писать, читать, комментировать