[Архив!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 2. - страница 164

 
polsvv:

Простой вопрос. Подскажите кто может :)

Если мне нужно на один инструмент поставить 2 советника.

Я открываю два окна в терминале и к каждому привязываю своего бота?

Получается, что 2-й бот, к примеру, который работает только с 1 рыночным ордером не сможет открыть сделку если будут висеть сделки открытые 1-м ботом?

Или 2-й бот сможет закрыть сделки 1-го бота если они будут удовлетворять критериям закрытия 2-го?


Используйте вот этот код - он ставит приказы серверу в очередь:

if(!IsTradeAllowed()){
  Comment("Торговля запрещена в настройках терминала, либо торговый поток занят");
  Print("Торговля запрещена в настройках терминала, либо торговый поток занят");
  return(0);
}

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

 
VOLDEMAR:
Спасибо .... Если бы мне это помогло я б тут вопрос не задавал .............


А в чём, собственно, проблема-то?

mode   -   Индекс линии индикатора. Может быть любым из идентификаторов линий индикаторов. 
MODE_UPPER - Верхняя линия 
MODE_LOWER - Нижняя линия 
 
double BBUP =iCustom(NULL, 0, "Bands","BandsPeriod","BandsShift","BandsDeviations",1,0);

double BBDW =iCustom(NULL, 0, "Bands","BandsPeriod","BandsShift","BandsDeviations",2,0);

Как перенести с помощью iCustom значение индикатора в советник . Покажите один раз и я отстану ......

 
спасибо
 
VOLDEMAR:
double BBUP =iCustom(NULL, 0, "Bands","BandsPeriod","BandsShift","BandsDeviations",1,0);

double BBDW =iCustom(NULL, 0, "Bands","BandsPeriod","BandsShift","BandsDeviations",2,0);

Как перенести с помощью iCustom значение индикатора в советник . Покажите один раз и я отстану ......

double BBUP =iBands(Symbol(),0,20,2,0,PRICE_CLOSE,MODE_UPPER,0);// верхняя линия на нулевой свече

double BBDW =iBands(Symbol(),0,20,2,0,PRICE_CLOSE,MODE_LOWER,0);// нижняя линия на нулевой свече
В другие переменные можно внести значение линий индикатора, взятый не с нулевой, а с другой свечки (это последний параметр в функции iBands()).
 
drknn:


Используйте вот это:

В пользовательских переменных пишем:

В Старте советника пишем:

После старта в пользовательских подпрограммах пишем:

Функции типа ModifError() - это мои пользовательские функции - они просто выводят сообщение об ошибке. Напишите вместо них свои сообщения.


спасибо
 
Спасибо парни.....
а как с помощью iCustom и ндикатора который рисует стрелку в какойто момент показать советнику что надо открыться .....
Если iBands там если Ask > BBUP то это понятно а как с обьектом который стрелка и может появиться а может и нет (типа стрелка )??????
 
drknn:
В другие переменные можно внести значение линий индикатора, взятый не с нулевой, а с другой свечки (это последний параметр в функции iBands()).

Вы немного не поняли меня болинжер бэндс не интересует а интересует пользовательский Bands так как в нем деватионс можно выставить меньше 1,

На этот вопрос я уже получил ответ на другом форуме . а как с помощью iCustom и ндикатора который рисует стрелку в какойто момент показать советнику что надо открыться .....

Если iBands там если Ask > BBUP то это понятно а как с обьектом который стрелка и может появиться а может и нет (типа стрелка )??????
 
drknn:



Прошу прощения...... советник мартингейл, можно в нем прописать стоплосс или это невозможно. Спасибо.
 
VOLDEMAR:
Спасибо парни.....
а как с помощью iCustom и ндикатора который рисует стрелку в какойто момент показать советнику что надо открыться .....
Если iBands там если Ask > BBUP то это понятно а как с обьектом который стрелка и может появиться а может и нет (типа стрелка )??????


Нужно смотреть код индикатора. Если для стрелок он использует индикаторные буфферы, то можно в своетнике использовать iCustom() - в этом случае при появлении стрелки вверх, цена её установки будет внесена в соответствующий индикаторный буффер, а та же самая ячейка буффера для противоположных стрелок будет иметь пустое значение. Ну а если индикаторные буфферы не используются, а вместо них программер заюзал принудительное создание объекта на графике (не используя буфферы), то в код индикатора нужно внести изменение. А именно: В момент установки стрелки нужно в переменную глобального уровня терминала внести значение цены этой стрелки. Эти переменные видны в терминале по нажатию кнопки F3. Для верхних стрелок одна переменная, для нижних другая. Если на текущей свечке стрелки нет, то значение соответствуюшей переменной из этих двух, обнуляем. В советнике же тогда всё, что нам останется - это проверить, что конкретно у нас в этих двух переменных.