Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 6. - страница 353

 
Pyro:
Подскажите плиз такую вещь. На выходных Альпари увеличивает спред до размера, при котором советник всегда сливает. ОК. В тестере можно выставлять спред вручную. Но в каких единицах? 100, 50, 30, 10 - это что? Проценты, пункты, что? Благодарю заранее.

В тестере спрэд в пунктах. У ДЦ обычно плавающий спрэд. И в пятницу в 23:00 он как правило возрастает до неимоверных значений. В это время лучше не торговать.
 

Всем привет.

С университета не люблю программирование, но вот, настал час, когда понадобился бот для торговли на бирже (я так понимаю, что советник и бот это одно и то же?).

Он (бот) должен закрывать позицию при пересечении мувингов (быстрый пересекает медленный).

Нашёл пару кодов в кодобазе. Но:

1. Там не понятно где таймфрейм выставлять в коде советника?

2. Некоторые советники имеют 2 файла: один с расширением mq4, второй с расширением mqh. Зачем нужен файл mqh?

3. Как настраивать советник в mt4? Достаточно ли просто внести советник в папку "experts" и активировать его? Или что-то ещё надо проделать, чтобы он заработал? В общем, буду признателен, если процесс установки советника в торговую программу будет разъяснён подробно.

В языке Си ++ я вообще ни бум-бум. Мне надо готовый советник, чтоб я там только поменял таймфрейм и мувинги.

Торгую на бирже btc-e криптовалютой. Тем, кто поможет (и просто хорошим людям), могу помочь, ответить на вопросы по этой бирже и по валюте BitCoin. Пишите в личку или скайп okidoki543

 

Вроде нашёл то, что мне надо:

https://www.mql5.com/ru/code/8463?source=terminal4_codebase

Щас доработаю и попробую протестить на малых лотах. Но всем, кто выскажется здесь по моему вопросу - благодарность. Не факт ещё, что у меня всё получится. К программированию у меня стойкое отвращение. )

 

Товарищи, я убрал в коде (см. ссыль выше) строчку: //============================================================================================
int CrossPositionOpen()
{
PosOpen=0; // Вот где собака зарыта!!:)
if ((MA1_1<=MA2_0 && MA1_0>MA2_0) || (MA1_1<MA2_0 && MA1_0>=MA2_0)) // Пересечение снизу вверх
{
PosOpen=1;
}
if ((MA1_1>=MA2_0 && MA1_0<MA2_0) || (MA1_1>MA2_0 && MA1_0<=MA2_0)) // Пересечение сверху вниз
{
PosOpen=2;
}
return(PosOpen); // Возвращаем направление пересечен.
}

Насколько я смог понять своим скудным умом, этот раздел кода отвечает за открытие позиций при пересечении МА. Мне он не нужен, так как советник мне нужен (во всяком случае пока) только для закрытия позиций.

Кому не лень, подскажите, правильно ли я мыслю, что теперь этот советник будет только закрывать уже открытые позиции при пересечении МА (например, пересеклись сверху вниз - закрылся лонг)???

Правильно ли я мыслю, что в коде MA1_Price - это вид цены, по которой считается МА и если туда поставить "4", то это будет цена close?

Правильно ли я мыслю. что в коде extern double - это количество лотов, на которое будет открываться позиция. Мне ведь надо, чтобы моя позиция, открытая на любое количество лотов, закрывалась по этому коду. Подскажите, пожалуйста, как это настроить в коде? Или и без настроек этот код будет закрывать позу с любым лотом?

Уповаю на помощь.

 
okidoki543:

Товарищи, я убрал в коде (см. ссыль выше) строчку: //============================================================================================
int CrossPositionOpen()
{
PosOpen=0; // Вот где собака зарыта!!:)
if ((MA1_1<=MA2_0 && MA1_0>MA2_0) || (MA1_1<MA2_0 && MA1_0>=MA2_0)) // Пересечение снизу вверх
{
PosOpen=1;
}
if ((MA1_1>=MA2_0 && MA1_0<MA2_0) || (MA1_1>MA2_0 && MA1_0<=MA2_0)) // Пересечение сверху вниз
{
PosOpen=2;
}
return(PosOpen); // Возвращаем направление пересечен.
}

Насколько я смог понять своим скудным умом, этот раздел кода отвечает за открытие позиций при пересечении МА. Мне он не нужен, так как советник мне нужен (во всяком случае пока) только для закрытия позиций.

Кому не лень, подскажите, правильно ли я мыслю, что теперь этот советник будет только закрывать уже открытые позиции при пересечении МА (например, пересеклись сверху вниз - закрылся лонг)???

Правильно ли я мыслю, что в коде MA1_Price - это вид цены, по которой считается МА и если туда поставить "4", то это будет цена close?

Правильно ли я мыслю. что в коде extern double - это количество лотов, на которое будет открываться позиция. Мне ведь надо, чтобы моя позиция, открытая на любое количество лотов, закрывалась по этому коду. Подскажите, пожалуйста, как это настроить в коде? Или и без настроек этот код будет закрывать позу с любым лотом?

Уповаю на помощь.


Да уж убрал строчку с комментариями))))) Действительно с программированием туго)))

Навскидку так, если не нужно открытие ордеров, заккоментируйте строчки:

// OpenBuy();

и

// OpenSell();

MA1_Price это действительно вид цены, но 4-это средняя цена. И это только для первой машки, есть ещё и MA2_Price. C ценовыми константами смотреть тут

В советнике вроде нет проверки на магик и символ. Так что будет закрывать всё подряд.

И после внесения изменений в текст советника не забываем его перекомпилировать.

Лоты в вашем случае не нужны, не обращайте на них внимание.

 
Да, советник будет работать на таймфрейме и инструменте, на который Вы его прикрепите. Автор вроде советует на М15..
 
Да! и ещё не бросайтесь с этим советником сразу в реал. В нем нет обработки ошибок, до реала его ещё нужно доводить. Погоняйте в тестере для начала.
 
Sepulca:


Да уж убрал строчку с комментариями))))) Действительно с программированием туго)))


Вы вроде бы не правы. Там после строки //============================================================================================

шли синенькие команды, так что это не коммент был.

Sepulca:

И после внесения изменений в текст советника не забываем его перекомпилировать.

Как это сделать???!?!?
Sepulca:
Да! и ещё не бросайтесь с этим советником сразу в реал. В нем нет обработки ошибок, до реала его ещё нужно доводить. Погоняйте в тестере для начала.

Да, я думаю сначала потестить его на демо с недельку.

Спасибо вам большое за помощь. Надеюсь на дальнейшую помощь. ;)

 

Ещё подшаманил код, убрал всё ненужное.

Разобрался как компилировать, загрузил советник на минутный график на демо, проверю на нём, через минут 20 уже будет понятно работает или нет.

Если что будет не так, ещё обращусь с вопросами.

 

Вопросы:

Если я сменю таймфрейм на графике, то все настройки советника собьются? То есть можно ли менять таймфрейм на графике, где установлен советник?

Я закрыл графики на реале, где поставил советника (вначале не разобрался как иначе удалять советников). Советники удалились или нет?

Работает ли советник, когда я не подключён к MT4 по интернету?

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