Ответить
12.01.2014, 15:32
Аватар для Milord
Milord Milord вне форума Местный знаток
Регистрация: 26.03.2011 / Сообщений: 601
Поблагодарили 708 раз(а) / Репутация: 711
Есть много способов детектировать появление нового бара, и через Volume, и через Bars, через равенство OHLC, через TimeCurrent(), но из них один только один надежный - изменение Time[0]. Все остальное на быстром рынке может не сработать.
приведите плиз пример кода, на Time[0]
тестю советники, иногда пишу и дорабатываю их ...
ПУТЬ ДЛИННОЙ В 10000 МИЛЬ НАЧИНАЕТСЯ С 1 ШАГА (Лао Цзы)
12.01.2014, 15:41
Регистрация: 13.03.2009 / Сообщений: 2,362
Поблагодарили 1,968 раз(а) / Репутация: 2045
приведите плиз пример кода, на Time[0]
Простейший варинт
static datetime LastTime;
if(LastTime==Time[0])return(0);
LastTime=Time[0];

После этих строк программа будет выполняться только на первом полученном тике бара.
Глубокое понимание процессов помогает в работе, но сильно мешает в отдыхе.
http://forexsystems.ru/signaturepics/sigpic3798_1.gif
Чужие программы не переделываю!
12.01.2014, 16:04
Регистрация: 09.08.2012 / Адрес: Ua_Khm / Сообщений: 1,851
Поблагодарили 9,516 раз(а) / Репутация: 9521
Простейший варинт
static datetime LastTime;
if(LastTime==Time[0])return(0);
LastTime=Time[0];

После этих строк программа будет выполняться только на первом полученном тике бара.
А подскажите, плз, как это использовать в индюке, где именно прописать?
12.01.2014, 16:27
Аватар для qqmber
qqmber qqmber вне форума Почётный гражданин
Регистрация: 20.01.2013 / Сообщений: 530
Поблагодарили 386 раз(а) / Репутация: 386
А подскажите, плз, как это использовать в индюке, где именно прописать?
В индюках это не особо актуально, они по логике должны отражать текущее состояние.
Но во всяком случае этот код нужно вставлять сразу после start() {
12.01.2014, 16:31
Регистрация: 09.08.2012 / Адрес: Ua_Khm / Сообщений: 1,851
Поблагодарили 9,516 раз(а) / Репутация: 9521
Благодарю Ugar, qqmber, просто есть желание проверить такую работу одного индюка на ренко и сравнить с оригом.
12.01.2014, 16:31
Аватар для Milord
Milord Milord вне форума Местный знаток
Регистрация: 26.03.2011 / Сообщений: 601
Поблагодарили 708 раз(а) / Репутация: 711
Простейший варинт
static datetime LastTime;
if(LastTime==Time[0])return(0);
LastTime=Time[0];

После этих строк программа будет выполняться только на первом полученном тике бара.
Спасибо Ugar, скажите первую строку
static datetime LastTime;
где прописывать перед Start(), или после Start()
тестю советники, иногда пишу и дорабатываю их ...
ПУТЬ ДЛИННОЙ В 10000 МИЛЬ НАЧИНАЕТСЯ С 1 ШАГА (Лао Цзы)
12.01.2014, 16:50
Регистрация: 13.03.2009 / Сообщений: 2,362
Поблагодарили 1,968 раз(а) / Репутация: 2045
Спасибо Ugar, скажите первую строку
static datetime LastTime;
где прописывать перед Start(), или после Start()
Без разницы. static впереди поставлен для того что бы можно было после start(){ переменную объявлять.
Глубокое понимание процессов помогает в работе, но сильно мешает в отдыхе.
http://forexsystems.ru/signaturepics/sigpic3798_1.gif
Чужие программы не переделываю!
Milord 
12.01.2014, 19:06
Аватар для Milord
Milord Milord вне форума Местный знаток
Регистрация: 26.03.2011 / Сообщений: 601
Поблагодарили 708 раз(а) / Репутация: 711
Без разницы. static впереди поставлен для того что бы можно было после start(){ переменную объявлять.
правильно ли я понял, если так написать:
PHP код:
int start() 
{
static 
datetime LastTime;
if(
LastTime==Time[0])return(0);
{
 
LastTime=Time[0];
 
OrderSend(...);
}

return(
0);

еще вопросик, подскажите плиз - как изменить код, чтобы ордер открывать на Close[0]
тестю советники, иногда пишу и дорабатываю их ...
ПУТЬ ДЛИННОЙ В 10000 МИЛЬ НАЧИНАЕТСЯ С 1 ШАГА (Лао Цзы)
12.01.2014, 20:07
Аватар для AlexeyVik
AlexeyVik AlexeyVik вне форума Программист mql4 mql5
Регистрация: 19.11.2009 / Сообщений: 2,590
Поблагодарили 3,715 раз(а) / Репутация: 3711
правильно ли я понял, если так написать:
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
Milord 
12.01.2014, 20:38
Регистрация: 13.03.2009 / Сообщений: 2,362
Поблагодарили 1,968 раз(а) / Репутация: 2045
правильно ли я понял, если так написать:
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.
Глубокое понимание процессов помогает в работе, но сильно мешает в отдыхе.
http://forexsystems.ru/signaturepics/sigpic3798_1.gif
Чужие программы не переделываю!

Последний раз редактировалось Ugar; 12.01.2014 в 20:40.
13.01.2014, 03:05
Аватар для Milord
Milord Milord вне форума Местный знаток
Регистрация: 26.03.2011 / Сообщений: 601
Поблагодарили 708 раз(а) / Репутация: 711
1. Выделил красным лишние фигурные скобки. Хотя и с ними будет работать, компилятор их выкинет.
2. Close[0] это текущая цена Bid. OP_SELL ордера по ней и открываются, а OP_BUY открываются по Ask.
извиняюсь, если торможу,но красных скобок не заметил...
тестю советники, иногда пишу и дорабатываю их ...
ПУТЬ ДЛИННОЙ В 10000 МИЛЬ НАЧИНАЕТСЯ С 1 ШАГА (Лао Цзы)
13.01.2014, 03:16
Аватар для Milord
Milord Milord вне форума Местный знаток
Регистрация: 26.03.2011 / Сообщений: 601
Поблагодарили 708 раз(а) / Репутация: 711
Я-бы лучше написал так
Код:
здесь может быть код который выполняется на каждом тике
if(LastTime != Time[0])
{
// тут твой код который надо выполнять на открытии бара.
}
здесь тоже может быть код который выполняется на каждом тике
Ответ 2: Никак.
Close[0] это текущая цена Bid
вот так да:
PHP код:
int start() 
{
static 
datetime LastTime;
if(
LastTime != Time[0])
{
 
LastTime=Time[0];
 
OrderSend(...);
}

return(
0);

тестю советники, иногда пишу и дорабатываю их ...
ПУТЬ ДЛИННОЙ В 10000 МИЛЬ НАЧИНАЕТСЯ С 1 ШАГА (Лао Цзы)
13.01.2014, 03:21
Аватар для Milord
Milord Milord вне форума Местный знаток
Регистрация: 26.03.2011 / Сообщений: 601
Поблагодарили 708 раз(а) / Репутация: 711

По умолчанию Кто разбирается в свечах???

подскажите плиз, что за свеча, в смысле почему на верхней тени есть поперечная черта и что она значит, я такое впервые вижу....ниже скрин, на черту указывает стрелка
тестю советники, иногда пишу и дорабатываю их ...
ПУТЬ ДЛИННОЙ В 10000 МИЛЬ НАЧИНАЕТСЯ С 1 ШАГА (Лао Цзы)
13.01.2014, 04:37
Аватар для matro3
matro3 matro3 на форуме Почётный гражданин
Регистрация: 18.07.2013 / Сообщений: 349
Поблагодарили 340 раз(а) / Репутация: 344
Эти черточки остаются от линий стопов, покупок и прочего. По крайней мере, у меня так.
Milord 
13.01.2014, 08:37
Регистрация: 13.03.2009 / Сообщений: 2,362
Поблагодарили 1,968 раз(а) / Репутация: 2045
извиняюсь, если торможу,но красных скобок не заметил...
int start()
{
static
datetime LastTime;
if(
LastTime==Time[0])return(0);
{
LastTime=Time[0];
OrderSend(...);
}

return(
0);
}
Глубокое понимание процессов помогает в работе, но сильно мешает в отдыхе.
http://forexsystems.ru/signaturepics/sigpic3798_1.gif
Чужие программы не переделываю!
Milord 
13.01.2014, 08:40
Регистрация: 13.03.2009 / Сообщений: 2,362
Поблагодарили 1,968 раз(а) / Репутация: 2045
подскажите плиз, что за свеча, в смысле почему на верхней тени есть поперечная черта и что она значит, я такое впервые вижу....ниже скрин, на черту указывает стрелка
Эта чёрточка не имеет отношения к свечи. Свеча это часть графика, а чёрточка это объект. Объект можно выделить и удалить, свечу так грохнуть не получится.
Глубокое понимание процессов помогает в работе, но сильно мешает в отдыхе.
http://forexsystems.ru/signaturepics/sigpic3798_1.gif
Чужие программы не переделываю!
Milord 
13.01.2014, 17:35
Аватар для Red13
Red13 Red13 вне форума Новичок форума
Регистрация: 13.08.2013 / Сообщений: 92
Поблагодарили 22 раз(а) / Репутация: 24

По умолчанию Опять свечи...

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


(Higt-Сlose)/ модуль (Open-Close)

Последний раз редактировалось Red13; 13.01.2014 в 17:37.
13.01.2014, 17:56
Регистрация: 13.03.2009 / Сообщений: 2,362
Поблагодарили 1,968 раз(а) / Репутация: 2045
Помогите пожалуйста записать выражение,найти числовое значение,пробовал сам -ругается, типа есть деление на ноль.


(Higt-Сlose)/ модуль (Open-Close)
Когда Open=Close разница между ними =0. 0 по модулю то же 0. Естественно что ругается.
Глубокое понимание процессов помогает в работе, но сильно мешает в отдыхе.
http://forexsystems.ru/signaturepics/sigpic3798_1.gif
Чужие программы не переделываю!
13.01.2014, 18:07
Аватар для ansol
ansol ansol на форуме Местный знаток
За призовое место в конкурсе 

Регистрация: 22.04.2010 / Сообщений: 2,039
Поблагодарили 874 раз(а) / Репутация: 860
Когда Open=Close разница между ними =0. 0 по модулю то же 0. Естественно что ругается.
Вроде и все по честному. А ведь головой-то понятно, что нечестно!

Вот и думаем!
Нет, серьезно!
13.01.2014, 18:08
Аватар для ansol
ansol ansol на форуме Местный знаток
За призовое место в конкурсе 

Регистрация: 22.04.2010 / Сообщений: 2,039
Поблагодарили 874 раз(а) / Репутация: 860
Я имею в виду жесткую формальность люього языка программирования!
Только так, а ни как иначе!
Ответить

Метки
mql4, mql4 помощь, вопросы mql4


Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Выкл.
Pingbacks are Выкл.
Refbacks are Выкл.



Текущее время: 17:22. Часовой пояс GMT.


Перевод: zCarot
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
SEO by vBSEO