Скачать MetaTrader 5

Выход через n-баров

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Написал робота? Опубликуй его в Маркете и получай доход!
boris
17
boris 2013.12.01 06:30 
Люди добрые !
Сами мы не местные, помогите, пожалуйста :-)
Нужно вставить в код конструктора стратегий exp_iCustom_v7_2 (из MQL4 Code Base) - выход через n-баров. Возможно можно это сделать как-то в виде скрипта или индикатора. Может кто видел,
что подобное киньте ссылку пожалуйста.
Вчера весь день искал, излазил всё.
Google, MQL4форум, MQL4Code Base,forextsd.com,forexfactory.com.
Сам не программист, пробовал "методом научного тыка"-не получилось. Убил 12 часов.

Буду крайне признателен.

Наверное и другим пригодится.

С уважением,

Борис

PS.

Раньше хелп к советнику exp_iCustom_v7_2 был на сайте h--p://dmffx.com, сейчас страниц с этим советником нет.

Файлы:
Mikhail Kozhemyako
1235
Mikhail Kozhemyako 2013.12.01 06:53  

Выход после чего?

Например, если после открытия ордера, я бы так попробовал n=iBarShift(Symbol(), Period(), OrderOpenTime(), false); if(n>=N) {делаем что нужно при выходе}

boris
17
boris 2013.12.01 07:15  
Sepulca:

Выход после чего?

Например, если после открытия ордера, я бы так попробовал n=iBarShift(Symbol(), Period(), OrderOpenTime(), false); if(n>=N) {делаем что нужно при выходе}

Sepulca,

cпасибо за ответ.

>Выход после чего?

Выход после открытия позиции.

>Например, если после открытия ордера, я бы так >попробовалn=iBarShift(Symbol(), Period(), OrderOpenTime(), >false);if(n>=N)

я к сожалению не программист и боюсь неверно вставить эти строчки.

>{делаем что нужно при выходе}

-тут нужно закрыть позицию. Если не сложно черкните пару строк как это сделать.

С уважением,Борис

PS. Не подумайте, что мне лень самому попробовать вставить, я просто не знаю в какое место кода их вставить - в коде около 4000 строк.

Leonid Borsky
2384
Leonid Borsky 2013.12.01 15:13  

Посмотрите здесь https://www.mql5.com/ru/forum/131859

Страничка №4:

функция NumberOfBarOpenLastPos - Возвращает номер бара открытия последней позиции или -1.

Саму функцию (её код) целиком копируете в код советника. Как отдельную функцию, - просто вставляете в самый "низ" кода советника.

А потом задаете в коде условие закрытия нужной позиции, примерно так:

if (NumberOfBarOpenLastPos(NULL, 0, OP_BUY, Magic_N) > n )  {

//если после открытия бай-позиции  с заданным магиком на рабочем тф
// прошло более n баров, то закрываем
OrderClose ( ... бла-бла-бла  ...
                } 
boris
17
boris 2013.12.01 17:01  
leonid553:

Посмотрите здесь https://www.mql5.com/ru/forum/131859

Страничка №4:

функция NumberOfBarOpenLastPos - Возвращает номер бара открытия последней позиции или -1.

Саму функцию (её код) целиком копируете в код советника. Как отдельную функцию, - просто вставляете в самый "низ" кода советника.

А потом задаете в коде условие закрытия нужной позиции, примерно так:


Спасибо огромное Леонид !
Очень конкретный ответ.
Сейчас буду пробовать.
Желаю Вам успехов.
С уважением,
Борис
boris
17
boris 2013.12.02 11:19  
novozilov.boris:

Спасибо огромное Леонид !
Очень конкретный ответ.
Сейчас буду пробовать.
Желаю Вам успехов.
С уважением,
Борис


Спасибо огромное Леонид !

Немного помчался, выбирая место куда вставить

if (NumberOfBarOpenLastPos(NULL, 0, OP_BUY, Magic_N) > n )  {

//если после открытия бай-позиции  с заданным магиком на рабочем тф
// прошло более n баров, то закрываем
OrderClose ( ... бла-бла-бла  ...
                } 
В итоге всё получилось, как Вы и писали.
Желаю Вам успехов.
С уважением,
Борис

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий