Ваши вопросы по языку MQL4

Milord

Местный знаток
Есть много способов детектировать появление нового бара, и через Volume, и через Bars, через равенство OHLC, через TimeCurrent(), но из них один только один надежный - изменение Time[0]. Все остальное на быстром рынке может не сработать.
приведите плиз пример кода, на Time[0]
 

mobidik

-----
Простейший варинт
static datetime LastTime;
if(LastTime==Time[0])return(0);
LastTime=Time[0];

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

А подскажите, плз, как это использовать в индюке, где именно прописать?
 

qqmber

Почетный гражданин
А подскажите, плз, как это использовать в индюке, где именно прописать?

В индюках это не особо актуально, они по логике должны отражать текущее состояние.
Но во всяком случае этот код нужно вставлять сразу после start() {
 

mobidik

-----
Благодарю Ugar, qqmber, просто есть желание проверить такую работу одного индюка на ренко и сравнить с оригом.
 

Milord

Местный знаток
Простейший варинт
static datetime LastTime;
if(LastTime==Time[0])return(0);
LastTime=Time[0];

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

Спасибо Ugar, скажите первую строку
static datetime LastTime;
где прописывать перед Start(), или после Start()
 

Milord

Местный знаток
Без разницы. static впереди поставлен для того что бы можно было после start(){ переменную объявлять.
правильно ли я понял, если так написать:
PHP:
int start() 
{
static datetime LastTime;
if(LastTime==Time[0])return(0);
{
 LastTime=Time[0];
 OrderSend(...);
}

return(0);
}
еще вопросик, подскажите плиз - как изменить код, чтобы ордер открывать на Close[0]
 

AlexeyVik

Программист mql4 mql5
правильно ли я понял, если так написать:
PHP:
int start() 
{
static datetime LastTime;
if(LastTime==Time[0])return(0);
{
 LastTime=Time[0];
 OrderSend(...);
}

return(0);
}
еще вопросик, подскажите плиз - как изменить код, чтобы ордер открывать на Close[0]
Я-бы лучше написал так
Код:
здесь может быть код который выполняется на каждом тике
if(LastTime != Time[0])
{
// тут твой код который надо выполнять на открытии бара.
}
здесь тоже может быть код который выполняется на каждом тике
Ответ 2: Никак.
Close[0] это текущая цена Bid
 

Ugar

Гуру форума
правильно ли я понял, если так написать:
PHP:
int start() 
{
static datetime LastTime;
if(LastTime==Time[0])return(0);
{
 LastTime=Time[0];
 OrderSend(...);
}

return(0);
}
еще вопросик, подскажите плиз - как изменить код, чтобы ордер открывать на Close[0]
1. Выделил красным лишние фигурные скобки. Хотя и с ними будет работать, компилятор их выкинет.
2. Close[0] это текущая цена Bid. OP_SELL ордера по ней и открываются, а OP_BUY открываются по Ask.
 
Последнее редактирование:

Milord

Местный знаток
1. Выделил красным лишние фигурные скобки. Хотя и с ними будет работать, компилятор их выкинет.
2. Close[0] это текущая цена Bid. OP_SELL ордера по ней и открываются, а OP_BUY открываются по Ask.
извиняюсь, если торможу,но красных скобок не заметил...:facepalm:
 

Milord

Местный знаток
Я-бы лучше написал так
Код:
здесь может быть код который выполняется на каждом тике
if(LastTime != Time[0])
{
// тут твой код который надо выполнять на открытии бара.
}
здесь тоже может быть код который выполняется на каждом тике
Ответ 2: Никак.
Close[0] это текущая цена Bid

вот так да:
PHP:
int start() 
{
static datetime LastTime;
if(LastTime != Time[0])
{
 LastTime=Time[0];
 OrderSend(...);
}

return(0);
}
 

Milord

Местный знаток
Кто разбирается в свечах???

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

Вложения

  • Screenshot - 13_01.jpg
    Screenshot - 13_01.jpg
    25 КБ · Просмотры: 19

matro3

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

Ugar

Гуру форума
подскажите плиз, что за свеча, в смысле почему на верхней тени есть поперечная черта и что она значит, я такое впервые вижу....ниже скрин, на черту указывает стрелка
Эта чёрточка не имеет отношения к свечи. Свеча это часть графика, а чёрточка это объект. Объект можно выделить и удалить, свечу так грохнуть не получится.
 

Red13

Новичок форума
Опять свечи...

Помогите пожалуйста записать выражение,найти числовое значение,пробовал сам -ругается, типа есть деление на ноль.:eek:opss::)


(Higt-Сlose)/ модуль (Open-Close)
 
Последнее редактирование:

Ugar

Гуру форума
Помогите пожалуйста записать выражение,найти числовое значение,пробовал сам -ругается, типа есть деление на ноль.:eek:opss::)


(Higt-Сlose)/ модуль (Open-Close)
Когда Open=Close разница между ними =0. 0 по модулю то же 0. Естественно что ругается.
 

ansol

Местный знаток
Я имею в виду жесткую формальность люього языка программирования!
Только так, а ни как иначе!
 
Верх