Новая версия платформы MetaTrader 5 build 1745 - страница 5

 

Включаемый файл не подтянулся.

Создал проект. Создал в нём папку. Скопировал в него три советника:

Проект

В файле "MACD MQL4 style EA short.mq5" есть включаемый файл:

//+------------------------------------------------------------------+
//|                                     MACD MQL4 style EA short.mq5 |
//|                              Copyright © 2018, Vladimir Karputov |
//|                                           http://wmua.ru/slesar/ |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2018, Vladimir Karputov"
#property link      "http://wmua.ru/slesar/"
#property version   "1.000"
#include <SimpleCall\Indicators.mqh>
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()

Причём советник "MACD MQL4 style EA short.mq5" открываемый из этого нового проекта удачно компилируется. 

Но я нигде не вижу в проекте, что включаемый файл Indicators.mqh подключился/прицепился/подтянулся к проекту:

Навигатор

Вопрос: человек, которому я дал доступ увидит файл Indicators.mqh или нет в такой ситуации? 

 

Не увидит.

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

Если планируете использовать свою библиотеку в совместных проектах, то сделайте отдельный проект типа «Username.Common”, поместите туда нужные файлы или настройте внутри хардлинки на каталоги этой же библиотеки внутри MQL5/Include и тоже делайте доступными для обмена.

Еще вариант - это создание локального /include каталога внутри разделяемого проекта и ручная привязка хардлинками нужных файлов из основного MQL5/Include.

 
Renat Fatkhullin:

Не увидит.


Хорошо, я в проекте перешёл в Навигатор и там по правому клику "Добавить существующий" добавил в проект (как я понял добавил ЗАВИСИМОСТИ) два включаемых файла:

Зависимые файлы

Сохранил проект, отправил изменения. Выключил/включил редактор. 

Но человек на второй стороне по прежнему не может скомпилировать советник "MACD MQL4 style EA short.mq5", в котором есть включаемый файл "Indicators.mqh" (этот включаемый файл я выше уже вставил/подвязал/подключил к своему проекту)

//+------------------------------------------------------------------+
//|                                     MACD MQL4 style EA short.mq5 |
//|                              Copyright © 2018, Vladimir Karputov |
//|                                           http://wmua.ru/slesar/ |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2018, Vladimir Karputov"
#property link      "http://wmua.ru/slesar/"
#property version   "1.000"
#include <SimpleCall\Indicators.mqh>
 

Посмотрите более полный ответ выше, пожалуйста.

 
Renat Fatkhullin:

Посмотрите более полный ответ выше, пожалуйста.


Нужен пример для такой ситуации: разрабатывается что-то там (торговая идея). В процесс появились советники, который лежат в Experts\"Папка с советниками", индикаторы, которые лежат в Indicators\"Папка с индикаторами" и включаемые файлы в папке Include\"Папка с включаемым".

Как я понял из всего написанного выше - для такой ситуации проекты не годятся. В них нет отдельных папок Experts, Indicators и Include.

То есть проекты - это занятие исключительно для тех, кто расшаривает ОДИН единственный файл. Так? Если не так, то как расшарить мои советники, индикаторы и включаемые файлы?

 

Прочтите еще раз мой ответ, пожалуйста.

И меняйте подход - об этом четко сказано. Не придумывайте "меня ограничили, один файл".

Думайте до тех пор, пока не поймете.
 

второе обновление за два дня, уже 1748, что там за изменения?

 
Konstantin:

второе обновление за два дня, уже 1748, что там за изменения?

Та да, у меня бабушка пирожки реже печёт, чем пекутся новые билды)

 
Renat Fatkhullin:

Прочтите еще раз мой ответ, пожалуйста.

И меняйте подход - об этом четко сказано. Не придумывайте "меня ограничили, один файл".


Я прочёл. И понял что с новыми проектами:

  • нереально передать советники, индикаторы и включаемые файлы с той иерархией папок, которая есть у меня (советники в своих папках, индикаторы в своих, включаемые файлы в своих)

То есть задача по передаче слепка иерархии папок нереализуема.

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


Человек на другой стороне ДОЛЖЕН простым движением получить СЛЕПОК (копию) папок моих советников  индикаторов и включаемых файлов относящихся к одной разработке. То есть запустив компиляцию советника с включаемым файлом, он не должен получить ошибку о том, что файл в папке Includ не найден.

 

Кроме того, не путайте "Проект как mqproj файл, объединяющий совекупность файлов" и "Совместный проект как расшириваемый каталог данных".

Это две разные сущности, у которые есть одинаковое слово "Проект".

1) Mqproj файлы вы можете создавать где хотите, в любом каталоге. И для этого не нужны никакие совместные проекты.

2) Совместные проекты - это отдельные реплицируемые каталоги, где могут присутствовать как отдельные файлы, так и объединения в mqproj проекты.

Если вы реплицировали нечто, у которого есть внешние связи вне рамок штатной поставки MQL5, то значит другая сторона не увидит этих связанных файлов. Поэтому связанные файлы или надо внести внутрь реплицируемого совместного проекта(это может быть и приватный проект без сторонних участников) или вынести в другой реплицируемый проект типа библиотеки.


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

Причина обращения: