Скачать MetaTrader 5

На одной свечке - одна сделка.

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Вся активность MQL5.community у тебя на ладони. Заходи в раздел Стена!
DJAlbertBik
80
DJAlbertBik 2010.11.30 18:42 

Уважаемые специалисты MQL4,нужна ваша помощь.

Не получается написать часть кода советника,отвечающую за ограничение сделок на одной свечке.

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

Пробывал разные подходы,ни один не дал результата.

На форуме находил похожие темы,но проблему решить не удалось.

Предлагаю выложить тут код,советника,который просто покупает на текущей свечке,если на ней ещё не было покупок и продаж.

Заранее всем благодарен. 

Сергей Исаев
994
Сергей Исаев 2010.11.30 19:03  
Kowalski:

Уважаемые специалисты MQL4,нужна ваша помощь.

Не получается написать часть кода советника,отвечающую за ограничение сделок на одной свечке.

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

Пробывал разные подходы,ни один не дал результата.

На форуме находил похожие темы,но проблему решить не удалось.

Предлагаю выложить тут код,советника,который просто покупает на текущей свечке,если на ней ещё не было покупок и продаж.

Заранее всем благодарен.


https://www.mql5.com/ru/forum/113930
Airat Safin
1300
Airat Safin 2010.11.30 19:15  
DJAlbertBik
80
DJAlbertBik 2010.11.30 20:02  
TEXX,огромное спасибо.
Airat Safin
1300
Airat Safin 2010.11.30 20:25  

Справочник MQL4 Предопределенные переменные Bars

https://docs.mql4.com/ru/predefined/variables/bars => " int Bars: Количество баров на текущем графике."

Значание данной переменной может изменяться в следующих случаях:

1. подкачка истории при открытии графика;

2. изменение смещения графика;

3. изменение масштаба графика;

4. прокрутка графика;

5. начало формирования нового бара.

DJAlbertBik
80
DJAlbertBik 2010.12.02 20:01  
Ais:

Справочник MQL4 Предопределенные переменные Bars

https://docs.mql4.com/ru/predefined/variables/bars => " int Bars: Количество баров на текущем графике."

Значание данной переменной может изменяться в следующих случаях:

1. подкачка истории при открытии графика;

2. изменение смещения графика;

3. изменение масштаба графика;

4. прокрутка графика;

5. начало формирования нового бара.



Т.е. использовать переменную Барс некорректно?

 Ais,пытаюсь разобраться в коде https://forum.mql4.com/30475/page7#287657,спасибо. 

DJAlbertBik
80
DJAlbertBik 2010.12.02 20:04  

А как вообще сделать паузу в работе эксперта после некоторго события на несколько баров.

Будь то сделка,срабатывание ордеров лосс и профит и т.д. 

DJAlbertBik
80
DJAlbertBik 2010.12.02 20:06  
Пробывал "sleep" и различные функции со временем,но не получается.
Airat Safin
1300
Airat Safin 2010.12.02 20:57  

"Т.е. использовать переменную Барс некорректно?"

Ненадежно.

Vladyslav Goshkov
2068
Vladyslav Goshkov 2010.12.02 21:52  
Kowalski:



Т.е. использовать переменную Барс некорректно?


bool IsNewChartBar()
{
static int nP=-1,nB=-1;
static datetime nT = 0;
    if(((nT==Time[0])&&(nB==Bars)&&(nP==Period())))
        return(false);
    nT=Time[0];
    nB=Bars;
    nP=Period();
    return(true);
}

int start()
{
    //if(!IsNewChartBar()) return(0);//Для срабатывания эксперта один раз на новом баре.
    if(IsNewChartBar())
    {
    // Делаем то, что нужно при формировании нового бара.
    }
    // Все остальное ...... 
}
Можно еще и символ учесть - по аналогии.
DJAlbertBik
80
DJAlbertBik 2010.12.03 11:03  
Огромное спасибо, VladislavVG!
12
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий