Ответить
20.09.2013, 12:44
Аватар для Leonup
Leonup Leonup вне форума Новичок форума
Регистрация: 23.12.2011 / Сообщений: 58
Поблагодарили 4 раз(а) / Репутация: 5
Это почему вдруг? Машки могут быть расположены в любом порядке, в зависимости от истории.
qqmber, сейчас проветрил мозги свои – прогулялся на свежем воздухе, и у меня возник такой же вопрос. Так, возможно ли, все-таки написать код с ПОСЛЕДОВАТЕЛЬНЫМ пересечением или нет?
20.09.2013, 13:21
Аватар для ansol
ansol ansol вне форума Местный знаток
За призовое место в конкурсе 

Регистрация: 22.04.2010 / Сообщений: 2,062
Поблагодарили 892 раз(а) / Репутация: 878
qqmber, сейчас проветрил мозги свои – прогулялся на свежем воздухе, и у меня возник такой же вопрос. Так, возможно ли, все-таки написать код с ПОСЛЕДОВАТЕЛЬНЫМ пересечением или нет?
Ну дык тогда надо кучу If'ов со сравнениями кто чего больше, т.е. не только МА5 сравнивать с остальными но и остальные между собой.
Типа, написать неравенство на бумажке МА5>МА11> МА31>МА21
а потом раскладывать на if(MA5>MA11 && MA11>MA31... и т.д.)
20.09.2013, 13:29
Аватар для qqmber
qqmber qqmber вне форума Почётный гражданин
Регистрация: 20.01.2013 / Сообщений: 530
Поблагодарили 386 раз(а) / Репутация: 386
qqmber, сейчас проветрил мозги свои – прогулялся на свежем воздухе, и у меня возник такой же вопрос. Так, возможно ли, все-таки написать код с ПОСЛЕДОВАТЕЛЬНЫМ пересечением или нет?
Код можно написать почти всегда, особенно если дело касается пересечений чего-то чем-то. Проверяй последовательно, что времена последнего пересечения каждой пары машек расположены в нужном порядке. Если машек фиксированное количество, типа 4, то сойдет if(t5x11>t5x21 && t5x21>t5x31), где t5x11-время последнего пересечения 5 и 11 машки и т.п. Функцию типа tx(5,11) удобно иметь.
20.09.2013, 14:36
Аватар для aqpfn
aqpfn aqpfn на форуме Новичок форума
Регистрация: 29.06.2013 / Сообщений: 16
Поблагодарили 10 раз(а) / Репутация: 11
Переменная а пробегает значения 1 5 9 13. Если Alert() стоит после инкремента, будет печатать 5 9 13, а если до, то 1 5 9.
Весьма благодарен.)
21.09.2013, 19:22
Аватар для hoz
hoz hoz вне форума Активный участник
Регистрация: 01.04.2011 / Сообщений: 532
Поблагодарили 112 раз(а) / Репутация: 111
  • Отправить сообщение для hoz с помощью ICQ
qqmber, сейчас проветрил мозги свои – прогулялся на свежем воздухе, и у меня возник такой же вопрос. Так, возможно ли, все-таки написать код с ПОСЛЕДОВАТЕЛЬНЫМ пересечением или нет?
Пишишь как хочешь. Может даже написать условие, что мол при каждом пересечении переменная инкриментируется какая-нибудь. Т.е. счётчик пересечений. И типа после какого-то пересечения что-то сделать..
21.09.2013, 19:29
Аватар для hoz
hoz hoz вне форума Активный участник
Регистрация: 01.04.2011 / Сообщений: 532
Поблагодарили 112 раз(а) / Репутация: 111
  • Отправить сообщение для hoz с помощью ICQ
Понадобилось на выходных узнать некоторые вещи. Проверить которые сразу не выйдет.
Интересуют некоторые рыночные идентификаторы. Вот эти:
1. MODE_STOPLEVEL
2. MODE_FREEZELEVEL
Я так понимаю они оба динамичны, верно? На новостях и ещё когда пленный рынок, их могут расширять значительно, так?
21.09.2013, 20:05
Регистрация: 13.03.2009 / Сообщений: 2,394
Поблагодарили 1,974 раз(а) / Репутация: 2051
Понадобилось на выходных узнать некоторые вещи. Проверить которые сразу не выйдет.
Интересуют некоторые рыночные идентификаторы. Вот эти:
1. MODE_STOPLEVEL
2. MODE_FREEZELEVEL
Я так понимаю они оба динамичны, верно? На новостях и ещё когда пленный рынок, их могут расширять значительно, так?
Зависит от ДЦ. Обычно если стоплевел гулящий в ДЦ где гуляет спред. Но не всегда. На некоторых может спред гулять а стоп нет.
Заморозку ордеров вообще редко кто применяет. Это прошлый век.
Глубокое понимание процессов помогает в работе, но сильно мешает в отдыхе.
http://forexsystems.ru/signaturepics/sigpic3798_1.gif
Чужие программы не переделываю!
eevviill , hoz 
22.09.2013, 11:15
Аватар для eevviill
eevviill eevviill вне форума Заблокирован
За второе место в конкурсе 

Регистрация: 30.07.2009 / Сообщений: 5,474
Поблагодарили 9,034 раз(а) / Репутация: 9034
  • Отправить сообщение для eevviill с помощью Skype™
По моему до 500 билда было нормально, а сейчас?

Как было.

Если файл индикатор.
Пишем в глобальных переменных
double buf1[];
Компилятор автоматически устанавливает величину буфера и порядок как в таймсерии.

Как сейчас.
Написал.
double buf1[];
Присваиваю скажем 300 элементам буфера значения. И вуаля. Везде 0.
Пришлось писать в Инит
ArrayResize(buf1,300);
ArrauSetAsSeries(buf1,true);


Всё так как написал или я где то втыкнул?
22.09.2013, 12:40
Аватар для qqmber
qqmber qqmber вне форума Почётный гражданин
Регистрация: 20.01.2013 / Сообщений: 530
Поблагодарили 386 раз(а) / Репутация: 386
По моему до 500 билда было нормально, а сейчас?

Как было.

Если файл индикатор.
Пишем в глобальных переменных
double buf1[];
Компилятор автоматически устанавливает величину буфера и порядок как в таймсерии.

Как сейчас.
Написал.
double buf1[];
Присваиваю скажем 300 элементам буфера значения. И вуаля. Везде 0.
Пришлось писать в Инит
ArrayResize(buf1,300);
ArrauSetAsSeries(buf1,true);


Всё так как написал или я где то втыкнул?
SetIndexBuffer(0,buf1) в init().

Последний раз редактировалось qqmber; 22.09.2013 в 12:43.
22.09.2013, 12:43
Аватар для eevviill
eevviill eevviill вне форума Заблокирован
За второе место в конкурсе 

Регистрация: 30.07.2009 / Сообщений: 5,474
Поблагодарили 9,034 раз(а) / Репутация: 9034
  • Отправить сообщение для eevviill с помощью Skype™
SetIndexBuffer(buf1,0) в init().
Та не. Мне не нужно чтобы он выводил какие либо данные. Просто для подсчётов внутри индикатора. А если мне надо будет таких буферов 17 например?

Последний раз редактировалось eevviill; 22.09.2013 в 12:46.
22.09.2013, 12:50
Аватар для qqmber
qqmber qqmber вне форума Почётный гражданин
Регистрация: 20.01.2013 / Сообщений: 530
Поблагодарили 386 раз(а) / Репутация: 386
Та не. Мне не нужно чтобы он выводил какие либо данные. Просто для подсчётов внутри индикатора. А если мне надо будет таких буферов 17 например?
Сколько буферов выводить регулируется #property indicator_buffers
Внутренних буферов можно иметь больше, как раз для расчетов, типа как в ATR сделано.
Если надо больше 8, то ты прав, ArraySetAsSeries() и ArrayResize() для каждого нового элемента.
Автоматики тут не было никогда.
23.09.2013, 10:21
Аватар для hoz
hoz hoz вне форума Активный участник
Регистрация: 01.04.2011 / Сообщений: 532
Поблагодарили 112 раз(а) / Репутация: 111
  • Отправить сообщение для hoz с помощью ICQ
Зависит от ДЦ. Обычно если стоплевел гулящий в ДЦ где гуляет спред. Но не всегда. На некоторых может спред гулять а стоп нет.
Заморозку ордеров вообще редко кто применяет. Это прошлый век.
Я просто думал, достаточно ли один раз за тик получать эти значения, или всё же лучше в каждой функции в которой они используются?
23.09.2013, 10:37
Регистрация: 13.03.2009 / Сообщений: 2,394
Поблагодарили 1,974 раз(а) / Репутация: 2051
Я просто думал, достаточно ли один раз за тик получать эти значения, или всё же лучше в каждой функции в которой они используются?
Достаточно на каждом тике. Но если есть функции с длительным выполнением, то могут пройти несколько тиков пока они выполняются. Тогда, после выполнения этой длительной функции лучше обновить данные RefreshRates() и получить эти стопы и заморозки заново.
Глубокое понимание процессов помогает в работе, но сильно мешает в отдыхе.
http://forexsystems.ru/signaturepics/sigpic3798_1.gif
Чужие программы не переделываю!
23.09.2013, 16:55
Аватар для Leonup
Leonup Leonup вне форума Новичок форума
Регистрация: 23.12.2011 / Сообщений: 58
Поблагодарили 4 раз(а) / Репутация: 5
Пишишь как хочешь. Может даже написать условие, что мол при каждом пересечении переменная инкриментируется какая-нибудь. Т.е. счётчик пересечений. И типа после какого-то пересечения что-то сделать..
Написал все условия для каждого пересечения. Ввел переменные для каждого условия. Получилось всего 6 переменных: для Buy - int Crossed1; int Crossed2; int Crossed3; для Sell - int Crossed4; int Crossed5; int Crossed6.
Раньше не сталкивался со счетчиками (я – начинающий), попытался найти более-менее подробную информацию в инете, но что-то у меня не получилось.
Подскажите, пожалуйста, как можно создать счетчик пересечений?
23.09.2013, 17:30
Аватар для hoz
hoz hoz вне форума Активный участник
Регистрация: 01.04.2011 / Сообщений: 532
Поблагодарили 112 раз(а) / Репутация: 111
  • Отправить сообщение для hoz с помощью ICQ
Достаточно на каждом тике. Но если есть функции с длительным выполнением, то могут пройти несколько тиков пока они выполняются. Тогда, после выполнения этой длительной функции лучше обновить данные RefreshRates() и получить эти стопы и заморозки заново.
Я так понимаю, тут логично будет замерить время исполнения функции и от этого плясать? Тока вот скока времени до следующего тика пройдёт в каждом конкретном случае, опять же вопрос открытый постоянно..
23.09.2013, 17:43
Аватар для hoz
hoz hoz вне форума Активный участник
Регистрация: 01.04.2011 / Сообщений: 532
Поблагодарили 112 раз(а) / Репутация: 111
  • Отправить сообщение для hoz с помощью ICQ
Написал все условия для каждого пересечения. Ввел переменные для каждого условия. Получилось всего 6 переменных: для Buy - int Crossed1; int Crossed2; int Crossed3; для Sell - int Crossed4; int Crossed5; int Crossed6.
Раньше не сталкивался со счетчиками (я – начинающий), попытался найти более-менее подробную информацию в инете, но что-то у меня не получилось.
Подскажите, пожалуйста, как можно создать счетчик пересечений?
А легко. Буду писать чтоб проще так:

PHP код:
IsCrossed()
{
    
int cnt// Создаём счётчик
   
    // Тело функции
    
for (i=Bars-1i>=0i--)
    {
        if (
машки пересеклись)
        {
            
// Можно выполнить какое-то условие...
            
cnt++; // А тут инкремент к счётчику, т.е. значение cnt
                       //.. увеличится на 1
         

    }

Тут получается что будет проход по всем барам в истории и прибавлять к счётчику 1, если на каком-то баре есть пересечение.
Leonup 
23.09.2013, 19:18
Регистрация: 13.03.2009 / Сообщений: 2,394
Поблагодарили 1,974 раз(а) / Репутация: 2051
Я так понимаю, тут логично будет замерить время исполнения функции и от этого плясать? Тока вот скока времени до следующего тика пройдёт в каждом конкретном случае, опять же вопрос открытый постоянно..
Совсем не обязательно. Всё просто, внутри компьютера шина работает во много раз быстрее чем любая линия связи в интернете.
Соответственно, то что идёт через инет точно медленно, то что внутри компа скорее всего быстро. Тики идут через инет, они всяко медленнее чем даже куча вычислений внутри компа. Медленнее тиков исполняются приказы открыть закрыть, удалить, модифицировать ордер.
Внутри компа может быть тормознутым вызов пользовательских индюков, особенное если их куча. После медленных надо обновить.
Глубокое понимание процессов помогает в работе, но сильно мешает в отдыхе.
http://forexsystems.ru/signaturepics/sigpic3798_1.gif
Чужие программы не переделываю!
23.09.2013, 20:09
Аватар для eevviill
eevviill eevviill вне форума Заблокирован
За второе место в конкурсе 

Регистрация: 30.07.2009 / Сообщений: 5,474
Поблагодарили 9,034 раз(а) / Репутация: 9034
  • Отправить сообщение для eevviill с помощью Skype™
В терминал посупают не нормализированые цены(стопы) ордеров?
23.09.2013, 21:32
Аватар для hoz
hoz hoz вне форума Активный участник
Регистрация: 01.04.2011 / Сообщений: 532
Поблагодарили 112 раз(а) / Репутация: 111
  • Отправить сообщение для hoz с помощью ICQ
В терминал посупают не нормализированые цены(стопы) ордеров?
Да.
23.09.2013, 21:35
Регистрация: 13.03.2009 / Сообщений: 2,394
Поблагодарили 1,974 раз(а) / Репутация: 2051
В терминал посупают не нормализированые цены(стопы) ордеров?
Нет, вполне нормальные. Проблема в погрешности при хранении и обработке double данных.
Глубокое понимание процессов помогает в работе, но сильно мешает в отдыхе.
http://forexsystems.ru/signaturepics/sigpic3798_1.gif
Чужие программы не переделываю!

Последний раз редактировалось Ugar; 23.09.2013 в 21:37.
Ответить

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


Опции темы

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

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



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


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