Скачать MetaTrader 5

Проблема торговли на нескольких идентичных советниках одновременно.

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Повторяй сделки успешных трейдеров. Подпишись на сигнал!
Eugene
30
Eugene 2015.03.30 10:37 

Добрый день,

 Помогите пожалуйста советом, если можете.

Я написал советник для торговли - "EURUSD-exp". Прикрепляю его к графику - EUR/USD - все работает ОК.

Мне же надо, чтобы такой же советник работал параллельно еще например на USD/JPY. 

 Что я делаю:

  - Создаю новый советник - называю его - "USDJPY-exp"

  - Копирую в него программный код из "EURUSD-exp"

  - Сохраняю его и прикрепляю к графику USD/JPY

 

  ---- внутри USDJPY-exp никаких сносок к EURUSD-exp нет. 

 

В итоге, когда они работают одновременно, каждый на своем графике:   при открытии ордера например на EUR/USD - плавающий StopLoss принимает значение то по графику EUR/USD, то USD/JPY и каждый тик они сменяют друг друга.

 Общих файлов, переменных и т.п. у этих советников нет, я сознательно их максимально разделил для независимой друг от друга работы.

 Тем не менее, где-то они пересекаются, но я никак не могу понять где.

 Буду благодарен за любой совет.

Спасибо. 

dav1977
140
dav1977 2015.03.30 12:50  

У меня несколько советников с одинаковыми именами, но на разных символах работают нет проблем. Абсолютно независят друг от друга

Переустанови MT4

Создай новый профиль и вставляй советник один и тот же но на разные символы

Roman Kutemov
1786
Roman Kutemov 2015.03.30 13:06  
dav1977:

У меня несколько советников с одинаковыми именами, но на разных символах работают нет проблем. Абсолютно независят друг от друга

Переустанови MT4

Создай новый профиль и вставляй советник один и тот же но на разные символы


Думаю что советник не различает символы. Он видит что пара его, а то что символ другой не видит.
А может даже не видит и пары свои. Просто все подрят модифицирует.
А то что вы название файла меняет, то это вообще толку нет.
Eugene
30
Eugene 2015.03.30 13:32  
Протестил через GetLastError() и получил ошибку 146 - получается, что 2 эксперта не могут поделить торговый поток. Потому и происходит наложение. Видимо придется создавать разные счета.
Artyom Trishkin
Модератор
75865
Artyom Trishkin 2015.03.30 18:08  
Eugene_Iv:
Протестил через GetLastError() и получил ошибку 146 - получается, что 2 эксперта не могут поделить торговый поток. Потому и происходит наложение. Видимо придется создавать разные счета.

Да ну нет же. У вас есть магик в советнике? Если есть, задайте для каждого советника свой магик. Не нужно менять название - ничего не даст. Вполне может быть, что в коде нет проверки и на символ графика. Нужно смотреть исходник.


У вас каждый советник считает, что все ордера, открытые на счёте - его. Вот они и трогают чужие позиции. Интересно, а позиции, открытые вручную, тоже советник считает своими?

Artyom Trishkin
Модератор
75865
Artyom Trishkin 2015.03.30 18:12  
dav1977:

У меня несколько советников с одинаковыми именами, но на разных символах работают нет проблем. Абсолютно независят друг от друга

Переустанови MT4

Создай новый профиль и вставляй советник один и тот же но на разные символы

Не нужно ничего переустанавливать. Советник не различает позиции, открытые не им. Нужно код смотреть.
dav1977
140
dav1977 2015.03.30 19:08  

Я магик в советинке так высчитываю

на каждом символе свой магик получается автоматом. И в торговом потоке ордера не пересекаются

  int c1=StringGetChar(_Symbol, 0);
  int c2=StringGetChar(_Symbol, 1);
  int c3=StringGetChar(_Symbol, 2); 
  int c4=StringGetChar(_Symbol, 3);
  
  MAGIC=c1+c2+c3+c4;
Artyom Trishkin
Модератор
75865
Artyom Trishkin 2015.03.30 19:57  
dav1977:

Я магик в советинке так высчитываю

на каждом символе свой магик получается автоматом. И в торговом потоке ордера не пересекаются

А символ графика как проверяете?
Алексей Тарабанов
7216
Алексей Тарабанов 2015.03.30 20:34  
Eugene_Iv:

плавающий StopLoss принимает значение то по графику EUR/USD, то USD/JPY и каждый тик они сменяют друг друга

Плавающий Stop Loss - не Static ли, часом? 
dav1977
140
dav1977 2015.03.30 22:40  
artmedia70:
А символ графика как проверяете?
А смысл? принцип :   один символ == один советник
Artyom Trishkin
Модератор
75865
Artyom Trishkin 2015.03.31 00:13  
dav1977:
А смысл? принцип :   один символ == один советник
В советнике проверяете принадлежность ордера тому символу, на котором запущен советник?
12
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий