Советники: Копирование сделок с одного счёта на другой (Советники ExpertSource и ExpertReceiver) - страница 2
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
В общем случае - Приёмник не знает по какой торговой системе работает источник сигналов. Поэтому выставление стопов - это ещё не гарантия, что при отсутствии связи не нарушится работа системы у приёмника (даже если стопы на сервере и сработают). Может на самом деле стопы у источника будут отсутствовать на момент, когда на приёмнике ордер закроется по ним.
А поэтому в любом случае надо будет держать связь с источником.
Ваши советники не работают для роботов. Только для ручной торговли. :((( Разочарован.
Ваши советники не работают для роботов. Только для ручной торговли. :((( Разочарован.
Неправ. Я разобрался все работает отлично, полноценный советник. Спасибо Автору, то что нужно, вещь.
Автор молодец: придумал хорошее решение, выложил исходник.
Спасибо ему!
Вот только, если поставить отложенный ордер, а потом удалить,
то получим в результате пустой файл в папке-источнике и ордер
в копируемом терминале не удалится.
Выглядит это так: приемник находит пустой файл и читает строки:
k=FileReadArray(handle,buffer,0,1000);
В результате
k=0
а это значит, что строк нет и обрабатывать нечего, а по факту нужно удалить
ордера, которые были выставлены ранее.
Для этого в функции FileLoad добавил вот это:
И еще в самом начале получил ошибку с сообщением о том, что открыто слишком много файлов в Советнике-источнике ExpertSource.mq4.
Поисправлял места, где файл нужно было закрывать и через полдня скрипт, вроде бы заработал.
Одно из таких мест здесь:
Лучше сразу получить результат выполнения FileWriteArray(handle, buffer, 0, j)>0
в переменную и закрыть файл так:
Что-то еще правил наверное, но уже не вспомню точно.
Вот только на разных серверах гонять копирование проблематично
из за разницы в котировках и условиях выставления ордеров.
Быть может, доведу до ума и опубликую. Вообще очень плохо пониаю MQL,
но делать нечего - нужно включать мозги и решать задачи. :-)
Кстати, видел продает такой скрпит KimIV (Игорь) по цене 1000 USD и
1200 за позможность зеркалить сделки.
Полагаю, что это явно перебор, хотя, может кто-то так и зарабатывает.
Мне скрипт нужен по банальной причине: торгую очень много, но больше
в минус. Если лосей перевернуть и удвоить объем в деньгах, то получим
на выходе профит, превосходящий лосей. Этого будет достаточно, чтобы
постепенно тренироваться.
Но четко перевернуть технически очень сложно из-за проскальзывания
и прочих форс-мажорных факторов даже при использовании отложенных
ордеров. Потому это абсолютно не Грааль и цена ему баксоов 100,
как максимум.
А вот проверить идею на демке будет не лишним.
ExpertReceiver
Цитирую из описания: "FileName - Имя файла в каталоге TerminalPath()+"\experts\files", с которого будут считываться данные о изменениях в ордерах." ---- не совсем понятно, что именно вписывать в настройки получателя. Я так понимаю, нужно в получателе создать полный путь к Orders.txt который находится в папке терминала "сигнальщика"? Делал по всякому уже, не получается что то...
В первом терминале (сигнальщике) все работает, все настроил, открываю ордер и в файле Orders.txt появляется запись о открытии ордера, с этим все в порядке. Но вот что в получателе вписывать? Пробовал писать полный путь сигнальщика, например у меня это (без кавычек): "C:\MT4Terminals\MetaTraderSignal\experts\files" или же: "C:\MT4Terminals\MetaTraderSignal\experts\files\Orders.txt" ничего не получается. Или надо вот это " TerminalPath()+"\experts\files" " ---- сюда еще вписывать или как быть? Не могли бы Вы мне пояснить какой путь мне вписать к файлу.
Но вот что в получателе вписывать? Пробовал писать полный путь сигнальщика, например у меня это (без кавычек): "C:\MT4Terminals\MetaTraderSignal\experts\files" или же: "C:\MT4Terminals\MetaTraderSignal\experts\files\Orders.txt" ничего не получается. Или надо вот это " TerminalPath()+"\experts\files" " ---- сюда еще вписывать или как быть? Не могли бы Вы мне пояснить какой путь мне вписать к файлу.
Просто "Orders.txt" (без кавычек)
Но вот что в получателе вписывать? Пробовал писать полный путь сигнальщика, например у меня это (без кавычек): "C:\MT4Terminals\MetaTraderSignal\experts\files" или же: "C:\MT4Terminals\MetaTraderSignal\experts\files\Orders.txt" ничего не получается. Или надо вот это " TerminalPath()+"\experts\files" " ---- сюда еще вписывать или как быть? Не могли бы Вы мне пояснить какой путь мне вписать к файлу.
Просто "Orders.txt" (без кавычек)
Всем привет, у меня такая проблема с этим копировщиком:
Советник-источник ExpertSource.mq4 пишет файл Orders.txt не туда, куда сказали в переменной Path, а в свой каталог(TerminalPath())! а ведь должен писать в каталог ("D:\MetaTraderПолучатель\experts\files") где стоит ExpertReceiver.mq4.
Уважаемый разработчик, проясните свет на эту проблему, может я что не так сделал?
Но вот что в получателе вписывать? Пробовал писать полный путь сигнальщика, например у меня это (без кавычек): "C:\MT4Terminals\MetaTraderSignal\experts\files" или же: "C:\MT4Terminals\MetaTraderSignal\experts\files\Orders.txt" ничего не получается. Или надо вот это " TerminalPath()+"\experts\files" " ---- сюда еще вписывать или как быть? Не могли бы Вы мне пояснить какой путь мне вписать к файлу.
Просто "Orders.txt" (без кавычек)
Всем привет, у меня такая проблема с этим копировщиком:
Советник-источник ExpertSource.mq4 пишет файл Orders.txt не туда, куда сказали в переменной Path, а в свой каталог(TerminalPath())! а ведь должен писать в каталог ("D:\MetaTraderПолучатель\experts\files") где стоит ExpertReceiver.mq4.
Уважаемый разработчик, проясните свет на эту проблему, может я что не так сделал?
ExpertSource должен писать файл Orders.txt сначала в свой каталог, а после этого должен его копировать от туда в папку, которую Вы назначили в переменную Path.
Если не копирует - значит ищите корень проблемы в правах доступа пользователя Windows и программы "terminal.exe" к папке Path.
Попробуйте создать на диске D папку test и попробовать снова. Если файл там не появится, то не знаю.... у меня всё работает.