Страница 1 из 104 1234561151101 ... ПоследняяПоследняя
Показано с 1 по 100 из 10395
  1. #1
    Marketing FXCLUB
    Регистрация
    03.10.2003
    Сообщений
    1,572
    Поблагодарил(а)
    328
    Получено благодарностей: 1,151 (сообщений: 235).
    Записей в дневнике
    16

    По умолчанию Обсуждение языка RuLang

    C 10 января 2005 года для всех интересующихся языком программирования RuLang, работает специалист-консультант. Для общения с ним создан специальный e-mail адрес [email protected], а также данная тематическая ветка форума.

    Общие сведения о языке RuLang

    В программе Румус начиная с версии 1.4.5. существует возможность добавления в систему собственных индикаторов, для написания которых используется язык RuLang.

    Язык RuLang основан на тех же принципах что и многие распространенные языки программирования, поэтому его использование доступно для большинства трейдеров, интересующихся созданием собственных инструментов для анализа рынка.

    Основные особенности языка RuLang:
    - использование переменных (числовых или строковых) и массивов;
    - обращение к параметрам свечек (open, close, low, high) как для текущей свечки, так и несколько шагов вперед или назад;
    - набор встроенных функций и индикаторов, которые можно использовать, в том числе и в качестве основы для дальнейших вычислений;
    - функции-алерты, выдающие сообщения в отдельное окно при наступлении условий, заданных в параметрах фунции;
    - возможность использовать условия, циклы и операторные скобки;
    - возможность настройки цвета и параметров каждой линии в индикаторе;
    - возможность строить гистограммы;


    Обсудить и проконсультироваться по программированию на языке RuLang можно в специальной ветке форума, а так же напрямую с ее куратором по email: [email protected]

    Ведущий ветки, Старцев Роман Александрович.В 2000 г. степень бакалавра техники и технологии информатики и вычислительной техники в Красноярском Государственном Техническом Университете на факультете Информатики и Вычислительной техники. В 2002 там же окончил и магистратуру – направление математическое моделирование.
    С мая 2003г. Работает сотрудником отдела технической поддержкой в красноярском филиале «Форекс Клуба». Занимается программированием с 1993. Работает с языками: Basic, Pascal, C++, Fortran, Delphi, Assambler , Borland C++ Builder.
    Последний раз редактировалось Екатерина Г; 20.11.2005 в 12:52.
  2. 4 пользователей сказали cпасибо Marketing FXCLUB за это полезное сообщение:

    faza102 (19.07.2009), Lionet (25.04.2009), Дед1 (30.10.2009), Резидент43 (19.04.2010)

  3. #2
    Почетный участник Аватар для Старцев Роман
    Регистрация
    06.01.2005
    Адрес
    Красноярск
    Сообщений
    4,590
    Поблагодарил(а)
    48
    Получено благодарностей: 1,271 (сообщений: 1,077).

    По умолчанию

    Здравствуйте, вот уже и первое письмо пришло
    предлагю публично его разобрать:

    Доброго дня Роман Александрович!!!
    В двойне приятно, что мы с вами земляки. С наступившим 2005годом вас и весь ФК!
    Очень заинтересовало ваше предложение по встроенному языку в Румус. Только вот какое дело, я не программист, пробовал зайти в Румусе в опцию где язык этот есть но так и не смог найти как. Попал только в алерт и то не понял как это с ним общаться. Извините за дилетанство в этом вопросе. Но было бы классно если бы вы начали с азов. Думамю, что таких ламеров как я море. Или дайте ссылку где можно почитать на понятном языке об этом. Начаиная с того как в программе попасть в режим програмиррования и далее об самом языке.
    С уважением Дмитрий.

    Что можно посоветовать??? Во первых почитать справку.
    Во вторых учится проще на примерах, тач что спрашивайте поконкретнее что именно вас интересует. Так на простеньких примерах и поучимся.
  4. 2 пользователей сказали cпасибо Старцев Роман за это полезное сообщение:

    Serpico (25.01.2008), vik_fish_ka (27.10.2009)

  5. #3
    Новый человек здесь Аватар для U-Rich
    Регистрация
    11.12.2004
    Сообщений
    4
    Поблагодарил(а)
    0
    Получено благодарностей: 0 (сообщений: 0).

    По умолчанию

    А где можно качнуть распечатываемый мануал ?
  6. #4
    Новый человек здесь Аватар для sub
    Регистрация
    09.12.2004
    Сообщений
    29
    Поблагодарил(а)
    0
    Получено благодарностей: 2 (сообщений: 1).

    По умолчанию Что за язык ???

    Это "Metastock" или "Omega TradeStation"
    Если "ни там, ни тут", то
    есть такая идея, что пора унифицицироваться с каким-нибудь "брендом"
    а изобретать велосипед по 28 кругу - очень спорный вариант
    по следующим причинам :
    1. Описаний MS и ОTS в сети предостаточно
    2. Существует масса индикаторов уже написанных,но не используемых в Rumusе .
    3. Пожалейте трейдеров изучать и вникать в специфику ЕЩЕ одного языка, не кислая головная боль

    При всем уважении к компании "Форекс-клуб" считаю своим долгом напомнить о том, что программы должны служить человеку, а не наоборот.

    Для продвижения НОВОГО языка недостаточно создать консультационную службу (e-mail !!!).
    Выложите подробное описание с примерами, комментариями и т.п.
    (как у конкурентов)
    вот это будет разговор
  7. 2 пользователей сказали cпасибо sub за это полезное сообщение:

    meredja (25.07.2010), olegpar (09.10.2010)

  8. #5
    Новый человек здесь
    Регистрация
    29.10.2004
    Адрес
    Владивосток
    Сообщений
    1
    Поблагодарил(а)
    0
    Получено благодарностей: 0 (сообщений: 0).

    По умолчанию

    Добрый день. Румус очень простая и хорошая программа, но очень хотелось бы видеть в ней индикаторы из Investor`s Dream. Румус просто бы поглотил бы её!!! Очень нужны индикаторы AO, AC, Profitunity. Хочу научиться писать их, но не знаю как. Напишите пожалуйста эти индикаторы.
  9. #6
    Участник форума Аватар для ruan65
    Регистрация
    15.03.2004
    Адрес
    Москва
    Сообщений
    379
    Поблагодарил(а)
    1
    Получено благодарностей: 6 (сообщений: 6).

    По умолчанию

    Нужны операторы "модуль" и мин/макс (значения функции за выбранный промежуток) , когда появятся?
  10. #7
    Уважаемый участник Аватар для Гентор
    Регистрация
    07.01.2004
    Адрес
    Альметьевск
    Сообщений
    1,080
    Поблагодарил(а)
    1
    Получено благодарностей: 8 (сообщений: 5).

    По умолчанию

    Цитата Сообщение от Валера Ловейко
    Добрый день. Румус очень простая и хорошая программа, но очень хотелось бы видеть в ней индикаторы из Investor`s Dream. Румус просто бы поглотил бы её!!! Очень нужны индикаторы AO, AC, Profitunity. Хочу научиться писать их, но не знаю как. Напишите пожалуйста эти индикаторы.
    Эти индикаторы давно уже написаны на языке Римуса
    а Аллигатор встроенный индикатор
    вот сами индикаторы
    //АО для рамуса

    //RED
    T1=Mov((H+L)/2,5,S)-Mov((H+L)/2,34,S);
    IF REF(T1,-1)>T1 THEN Res=T1; else Res=0;
    Res;

    //GREEN

    T11=Mov((H+L)/2,5,S)-Mov((H+L)/2,34,S);
    IF REF(T11,-1)<T11 THEN Res1=T11; else Res1=0;
    Res1;
    -----------------------------------------------------------
    //AC для раиуса

    //RED
    T4=Mov((H+L)/2,5,S)-Mov((H+L)/2,34,S);
    T5=T4-MOV(T4,5,S);
    IF REF(T5,-1)>T5 THEN Res=T5; else Res=0;
    Res;

    //GREEN
    T41=Mov((H+L)/2,5,S)-Mov((H+L)/2,34,S);
    T51=T41-MOV(T41,5,S);
    IF REF(T51,-1)<T51 THEN Res1=T51; else Res1=0;
    Res1;
    -------------------------------------------------------------

    Цвета гистограмм и толщину нужно будет настроить
    Искусство Трейдинга - это совокупность приемов и установок, позволяющих находить наилучший выход из любой мыслимой ситуации.
  11. 1 пользователь сказал cпасибо Гентор за это полезное сообщение:

    Borisord (26.05.2008)

  12. #8
    Почетный участник Аватар для Старцев Роман
    Регистрация
    06.01.2005
    Адрес
    Красноярск
    Сообщений
    4,590
    Поблагодарил(а)
    48
    Получено благодарностей: 1,271 (сообщений: 1,077).

    По умолчанию

    Цитата Сообщение от ruan65
    Нужны операторы "модуль" и мин/макс (значения функции за выбранный промежуток) , когда появятся?
    "модуль"
    два варианта
    mod_x=sqrt(x*x);;
    mod_x2=sqrt(pow(x, 2));;

    если нужено маскимальное значение функции yy за последние N интервалов то hhv(yy, N);

    максимальное значение функции yy из NN последних интревалов сдвинутое вперед на MM интервалов
    ref(hhv(yy, NN),-MM);
    для минимума hhv меняем на llv
  13. #9
    Новый человек здесь
    Регистрация
    27.09.2004
    Сообщений
    58
    Поблагодарил(а)
    0
    Получено благодарностей: 0 (сообщений: 0).

    По умолчанию

    Нужен индюк в рамусе
    Кто нить подскажет как ставить EMA в румус
  14. #10
    Почетный участник Аватар для Старцев Роман
    Регистрация
    06.01.2005
    Адрес
    Красноярск
    Сообщений
    4,590
    Поблагодарил(а)
    48
    Получено благодарностей: 1,271 (сообщений: 1,077).

    По умолчанию

    EMA это Экспоненциальное среднее
    или
    mov(x,n,e);
    x - что усредняем
    n - период усреднения
  15. 1 пользователь сказал cпасибо Старцев Роман за это полезное сообщение:

    Lavrov (09.03.2009)

  16. #11
    Новый человек здесь
    Регистрация
    27.09.2004
    Сообщений
    58
    Поблагодарил(а)
    0
    Получено благодарностей: 0 (сообщений: 0).

    По умолчанию

    EMA это Экспоненциальное среднее

    Cпасибо родной![/quote]
  17. #12
    Почетный участник Аватар для Старцев Роман
    Регистрация
    06.01.2005
    Адрес
    Красноярск
    Сообщений
    4,590
    Поблагодарил(а)
    48
    Получено благодарностей: 1,271 (сообщений: 1,077).

    По умолчанию Re: Что за язык ???

    Цитата Сообщение от sub
    Это "Metastock" или "Omega TradeStation"
    Скорее Metastock.
  18. #13
    Участник форума Аватар для ruan65
    Регистрация
    15.03.2004
    Адрес
    Москва
    Сообщений
    379
    Поблагодарил(а)
    1
    Получено благодарностей: 6 (сообщений: 6).

    По умолчанию

    Цитата Сообщение от Старцев Роман
    "модуль"
    два варианта
    mod_x=sqrt(x*x);;
    mod_x2=sqrt(pow(x, 2));;
    Ой спасибо , подсказали, а можно ещё с нулем сравнивать (if then),
    а если в 4 степень возвести - тоже получится! Но огород то этот надоел уже.
  19. #14
    Участник форума Аватар для ruan65
    Регистрация
    15.03.2004
    Адрес
    Москва
    Сообщений
    379
    Поблагодарил(а)
    1
    Получено благодарностей: 6 (сообщений: 6).

    По умолчанию

    Цитата Сообщение от Старцев Роман

    если нужено маскимальное значение функции yy за последние N интервалов то hhv(yy, N);

    максимальное значение функции yy из NN последних интревалов сдвинутое вперед на MM интервалов
    ref(hhv(yy, NN),-MM);
    для минимума hhv меняем на llv
    Здесь я извиняюсь вопрос не правильно сформулировал

    а вопрос такой : Как в языке выбрать наибольшее (или наименьшее) значение из нескольких текущих значений функций,

    что-то вроде a=10, b=15, n=13; x=max(a,b,...,n)=15
  20. #15
    Новый человек здесь
    Регистрация
    26.11.2004
    Адрес
    г. Москва
    Сообщений
    162
    Поблагодарил(а)
    0
    Получено благодарностей: 6 (сообщений: 2).

    По умолчанию

    Доброго времени суток...

    Небольшой глюк:
    Вводим A=sqrt(C);
    Получаем сообщение "...no found <;> in str 1"

    Чешем репу... Тупо cтавим еще одну ";"
    A=sqrt(C);; - все ОК. Почему так?
    В правилах синтаксиса четко сказано, что каждый оператор или команда заканчивается символом ';'...

    Еще один глюк:
    Вводим

    if c > ref(c, -1) then a=c; else a=ref(a, -1);
    if c < ref(c, -1) then b=c; else b=ref(b, -1);
    a;
    b;

    Получаем два нормальных графика
    Пробуем построить график разности между a и b

    if c > ref(c, -1) then a=c; else a=ref(a, -1);
    if c < ref(c, -1) then b=c; else b=ref(b, -1);
    d=a-b;
    d;

    Получаем что-то непонятное - вместо графика, находящегося в пределах нескольких десятков пунктов от нуля, имеем график с размахом плюс-минус текущая цена вперемешку с нулевыми значениями.

    В чем ошибка?

    И небольшая просьба: приведите пример объявления и использования массивов.
  21. #16
    Муравей может нести 50:1 Аватар для Reginald
    Регистрация
    08.09.2004
    Адрес
    Москва и Область
    Сообщений
    2,121
    Поблагодарил(а)
    54
    Получено благодарностей: 267 (сообщений: 176).

    По умолчанию

    Ув. Роман, подскажите, можно ли пользоваться функцией _fx Alert
    Level не для цены, а для уровней индикаторов?
    Каким звуком (встроенным в Румус и средствами Windows?)
    будет отмечаться пробитие и как это будет отображаться
    в качестве напоминания во всплывающем Окне Алертов?
  22. #17
    Почетный участник Аватар для Старцев Роман
    Регистрация
    06.01.2005
    Адрес
    Красноярск
    Сообщений
    4,590
    Поблагодарил(а)
    48
    Получено благодарностей: 1,271 (сообщений: 1,077).

    По умолчанию

    Цитата Сообщение от Пилот Пиркс
    Доброго времени суток...

    Небольшой глюк:
    Вводим A=sqrt(C);
    Получаем сообщение "...no found <;> in str 1"

    Чешем репу... Тупо cтавим еще одну ";"
    A=sqrt(C);; - все ОК. Почему так?
    В правилах синтаксиса четко сказано, что каждый оператор или команда заканчивается символом ';'...
    да есть такой глюк

    Цитата Сообщение от Пилот Пиркс
    Еще один глюк:
    Вводим

    if c > ref(c, -1) then a=c; else a=ref(a, -1);
    if c < ref(c, -1) then b=c; else b=ref(b, -1);
    a;
    b;

    Получаем два нормальных графика
    Пробуем построить график разности между a и b

    if c > ref(c, -1) then a=c; else a=ref(a, -1);
    if c < ref(c, -1) then b=c; else b=ref(b, -1);
    d=a-b;
    d;

    Получаем что-то непонятное - вместо графика, находящегося в пределах нескольких десятков пунктов от нуля, имеем график с размахом плюс-минус текущая цена вперемешку с нулевыми значениями.

    В чем ошибка?
    а ошибки никакой и нет, чтобы получить разницу в ПУНКТАХ умножаем на 10000 (или на 100 для пар с еной)

    Цитата Сообщение от Пилот Пиркс
    И небольшая просьба: приведите пример объявления и использования массивов.
    Array : myMass[5,5];

    i=0;
    while (i<5)
    begin
    i=i+1;
    myMass[1,i]=i;
    myMass[i,1]=myMass[1,i];

    end;

    i=1;
    while (i<5)
    begin
    i=i+1;
    j=1;
    while (j<5)
    begin
    j=j+1;
    myMass[i,j]=myMass[i,1]*myMass[1,j];

    end;
    end;



    myMass[1,3];
    myMass[2,4];
    myMass[3,5];
    myMass[4,3];
    myMass[5,5];
  23. #18
    Почетный участник Аватар для Старцев Роман
    Регистрация
    06.01.2005
    Адрес
    Красноярск
    Сообщений
    4,590
    Поблагодарил(а)
    48
    Получено благодарностей: 1,271 (сообщений: 1,077).

    По умолчанию

    Цитата Сообщение от ruan65

    Здесь я извиняюсь вопрос не правильно сформулировал

    а вопрос такой : Как в языке выбрать наибольшее (или наименьшее) значение из нескольких текущих значений функций,

    что-то вроде a=10, b=15, n=13; x=max(a,b,...,n)=15
    Так как встроенных функций очень мало, то напишем собственную функцию
    пример
    Создаем еще один индикатор. Пусть его название будет MyMax
    а его код будет следующим

    Inputs : s1, s2, s3;
    if s1>s2 then res=s1; else res=s2;
    if s3>rer then res=s3;
    return res;

    далее в нужном нам месте, в другом индикаторе вызываем его

    a=10;
    b=15;
    n=13;

    x2=MyMax(a,b,x);
    x2; // и в итоге получаем 15
  24. #19
    Почетный участник Аватар для Старцев Роман
    Регистрация
    06.01.2005
    Адрес
    Красноярск
    Сообщений
    4,590
    Поблагодарил(а)
    48
    Получено благодарностей: 1,271 (сообщений: 1,077).

    По умолчанию

    Цитата Сообщение от Reginald
    Ув. Роман, подскажите, можно ли пользоваться функцией _fx Alert
    Level не для цены, а для уровней индикаторов?
    Каким звуком (встроенным в Румус и средствами Windows?)
    будет отмечаться пробитие и как это будет отображаться
    в качестве напоминания во всплывающем Окне Алертов?
    Именно _fx Alert Level воспользоваться неполучится т.к. он работает с текущей ценой закрытия, но можно нописать аналогичный индикатор

    MyUp = inparam("Введите верхний уровень", 1, 100, 70);
    MyDw = inparam("Введите нижний уровень", 1, 100, 30);

    cc=rsi(c, 15); // ваш индикатор
    str1 = "значение функции = " + cc;
    //-----------------------------------------
    if (cc < MyDw) then
    begin
    strItog = "Пробили вниз " + str1 ;
    alertSound(strItog, 0, "c:\sound_Dw.wav") ; // указанный файл должен существовать иначе будет бдрынькать стандартным виндовозовским звуком
    end ;

    //-----------------------------------------
    if cc > MyUp then
    begin
    strItog = "Пробили вверх " + str1 ;
    alertSound(strItog, 1, "c:\sound_Up.wav") ; // указанный файл должен существовать иначе будет бдрынькать стандартным виндовозовским звуком
    end ;
    MyUp;
    cc; //для наглядности выводим и сам индикатор
    MyDw;
  25. #20
    Новый человек здесь
    Регистрация
    10.01.2005
    Сообщений
    1
    Поблагодарил(а)
    0
    Получено благодарностей: 0 (сообщений: 0).

    По умолчанию автоматические торговые системы

    Скажите, пожалуйста, а какие средства использовались для лексического/синтаксического/семантического разбора? Использовались ли автоматические грамматические генераторы?

    Мерил ли кто-нибудь производительность? Сопоставима ли она с рядовым скриптовым языком типа Perl?

    Реально ли на этом языке написать автоматическое определение трендовых линий (т.е. чтобы искалось два минимума и по ним строилась прямая)?

    И еще один важный вопрос. Можно ли будет писать автоматические торговые системы, т.е. отдавать приказы на покупку/продажу/установление ордеров автоматически?
  26. #21
    Почетный участник Аватар для Старцев Роман
    Регистрация
    06.01.2005
    Адрес
    Красноярск
    Сообщений
    4,590
    Поблагодарил(а)
    48
    Получено благодарностей: 1,271 (сообщений: 1,077).

    По умолчанию Re: автоматические торговые системы

    Цитата Сообщение от puvarov
    Реально ли на этом языке написать автоматическое определение трендовых линий (т.е. чтобы искалось два минимума и по ним строилась прямая)?

    И еще один важный вопрос. Можно ли будет писать автоматические торговые системы, т.е. отдавать приказы на покупку/продажу/установление ордеров автоматически?
    В этой версии Румуса два минимума найти можно, и соеденить их тоже можно (теоретически) а вот практически еще не пробовал, хотя нужда в этом есть
    А автоматические торговые системы будут в RUMUS 2
  27. #22
    Румусианин Аватар для Storozh
    Регистрация
    27.09.2003
    Адрес
    Москва
    Сообщений
    11,083
    Поблагодарил(а)
    6,104
    Получено благодарностей: 6,875 (сообщений: 2,420).

    По умолчанию

    А когда Румус2 планируется?

    По рулангу....
    Цикл в ref "+" не работает с индикативными системами.
    Индикаторы второго порядка "прыгают" при обновлении графиков.
    А так... на руланге можно написать всё, что душе угодно!
  28. #23
    Новый человек здесь
    Регистрация
    26.11.2004
    Адрес
    г. Москва
    Сообщений
    162
    Поблагодарил(а)
    0
    Получено благодарностей: 6 (сообщений: 2).

    По умолчанию

    Цитата Сообщение от Старцев Роман
    а ошибки никакой и нет, чтобы получить разницу в ПУНКТАХ умножаем на 10000 (или на 100 для пар с еной)
    Ну умножил:

    if c > ref(c, -1) then a=c*10000; else a=ref(a, -1);
    if c < ref(c, -1) then b=c*10000; else b=ref(b, -1);
    a;
    b;

    Все равно разность вычисляется неверно!

    if c > ref(c, -1) then a=c*10000; else a=ref(a, -1);
    if c < ref(c, -1) then b=c*10000; else b=ref(b, -1);
    d=a-b;
    d;

    Эта ошибка появляется, если при вычилении какой-нибудь переменной используется функция Ref, которая в свою очередь ссылается на саму себя более чем два раза, а полученное таким образом значение переменной используется для вычисления другой переменной. Вы введите код, убедитесь в этом сами!

    А за пример массива - спасибо!
  29. #24
    Румусианин Аватар для Storozh
    Регистрация
    27.09.2003
    Адрес
    Москва
    Сообщений
    11,083
    Поблагодарил(а)
    6,104
    Получено благодарностей: 6,875 (сообщений: 2,420).

    По умолчанию

    Вот и я говорю, что с "ref" не все в порядке....
    Посмотрите, пожалуйста! В версии 5.1 она работает исправно...
  30. #25
    Новый человек здесь
    Регистрация
    26.11.2004
    Адрес
    г. Москва
    Сообщений
    162
    Поблагодарил(а)
    0
    Получено благодарностей: 6 (сообщений: 2).

    По умолчанию Re: автоматические торговые системы

    Цитата Сообщение от Старцев Роман
    В этой версии Румуса два минимума найти можно, и соеденить их тоже можно (теоретически) а вот практически еще не пробовал, хотя нужда в этом есть
    А автоматические торговые системы будут в RUMUS 2
    Я пробовал. Но из-за глюка в функции Ref не получилось. Можно, конечно, и без этой функции обойтись (циклами например) - но уж очень громоздко получается! Исправте ошибочку, плз.

    А Румус 2 когда ожидается? И можно привести краткий анонс всех нововведений в нем?
  31. #26
    Участник форума Аватар для ruan65
    Регистрация
    15.03.2004
    Адрес
    Москва
    Сообщений
    379
    Поблагодарил(а)
    1
    Получено благодарностей: 6 (сообщений: 6).

    По умолчанию

    Цитата Сообщение от Старцев Роман
    Цитата Сообщение от ruan65

    Здесь я извиняюсь вопрос не правильно сформулировал

    а вопрос такой : Как в языке выбрать наибольшее (или наименьшее) значение из нескольких текущих значений функций,

    что-то вроде a=10, b=15, n=13; x=max(a,b,...,n)=15
    Так как встроенных функций очень мало, то напишем собственную функцию
    пример
    Создаем еще один индикатор. Пусть его название будет MyMax
    а его код будет следующим

    Inputs : s1, s2, s3;
    if s1>s2 then res=s1; else res=s2;
    if s3>rer then res=s3;
    return res;

    далее в нужном нам месте, в другом индикаторе вызываем его

    a=10;
    b=15;
    n=13;

    x2=MyMax(a,b,x);
    x2; // и в итоге получаем 15
    Спасибо конечно за демонстрацию знания "таблицы умножения",
    но зачем понимать так буквально, а если не 3 значения , а 256 ?
    Цитата Сообщение от ruan65
    x=max(a,b,...,n)=15
    "..."
  32. #27
    Почетный участник Аватар для Старцев Роман
    Регистрация
    06.01.2005
    Адрес
    Красноярск
    Сообщений
    4,590
    Поблагодарил(а)
    48
    Получено благодарностей: 1,271 (сообщений: 1,077).

    По умолчанию

    Цитата Сообщение от ruan65
    Спасибо конечно за демонстрацию знания "таблицы умножения",
    но зачем понимать так буквально, а если не 3 значения , а 256 ?
    Цитата Сообщение от ruan65
    x=max(a,b,...,n)=15
    "..."
    Тогда в цикле по тому же алгоритму
    если hhv и llv неприменимы.
  33. #28
    Новый человек здесь
    Регистрация
    26.11.2004
    Адрес
    г. Москва
    Сообщений
    162
    Поблагодарил(а)
    0
    Получено благодарностей: 6 (сообщений: 2).

    По умолчанию

    Уважаемый Роман Александрович, по функции Ref комментарии будут?
    Или уже исправленный Румус выкладываете?
  34. #29
    Румусианин Аватар для Storozh
    Регистрация
    27.09.2003
    Адрес
    Москва
    Сообщений
    11,083
    Поблагодарил(а)
    6,104
    Получено благодарностей: 6,875 (сообщений: 2,420).

    По умолчанию

    Цитата Сообщение от Пилот Пиркс
    Уважаемый Роман Александрович, по функции Ref комментарии будут?
    Или уже исправленный Румус выкладываете?
    Присоединяюсь к вопросу!
  35. #30
    Новый человек здесь
    Регистрация
    30.03.2004
    Адрес
    Московский офис продаж
    Сообщений
    12
    Поблагодарил(а)
    0
    Получено благодарностей: 0 (сообщений: 0).

    По умолчанию

    Роман, похоже, что в языке Rulang можно писать функции с переменным числом параметров, как в C/C++!
    Обявляем функцию func1

    Код:
    Inputs : s1, s2, s3, s4, s5;
    if s1 > s2 then res = s1; else res = s2; 
    if s3 > res then res = s3; 
    if s4 <> 0 then return res + s5;
    return res;

    Затем в твоём примере вызываем её дважды с разным набором параметров вот так:

    Код:
    a=10; 
    b=15; 
    n=13; 
    t=1;
    s=10;
    
    x1=func1 (a, b, x);         // call with 3 params
    x2=func1 (a, b, x, t, s);   // call with 5 params
    x1;                         // x1 = 15
    x2;                         // x2 = 25
    Получаем индикатор из двух линий соответственно 15 и 25.
  36. #31
    Новый человек здесь Аватар для ShortPoberi
    Регистрация
    04.05.2004
    Адрес
    Казань
    Сообщений
    149
    Поблагодарил(а)
    7
    Получено благодарностей: 0 (сообщений: 0).

    По умолчанию

    А есть ли в данном языке функция random ? :)
  37. #32
    Почетный участник Аватар для Старцев Роман
    Регистрация
    06.01.2005
    Адрес
    Красноярск
    Сообщений
    4,590
    Поблагодарил(а)
    48
    Получено благодарностей: 1,271 (сообщений: 1,077).

    По умолчанию

    Цитата Сообщение от Пилот Пиркс
    Уважаемый Роман Александрович, по функции Ref комментарии будут?
    Или уже исправленный Румус выкладываете?
    Функцию Ref сейчас перерабатывают программисты, а я консультант по RuLang. Как только появится "нормально" работающая версия - ждите обновления на сайте.
  38. #33
    Почетный участник Аватар для Старцев Роман
    Регистрация
    06.01.2005
    Адрес
    Красноярск
    Сообщений
    4,590
    Поблагодарил(а)
    48
    Получено благодарностей: 1,271 (сообщений: 1,077).

    По умолчанию

    Цитата Сообщение от ShortPoberi
    А есть ли в данном языке функция random ?
    нет, по крайней мере пока нет.
  39. #34
    Новый человек здесь Аватар для U-Rich
    Регистрация
    11.12.2004
    Сообщений
    4
    Поблагодарил(а)
    0
    Получено благодарностей: 0 (сообщений: 0).

    По умолчанию

    Кстати, неплохо было бы иметь возможность значки всякие на график цены автоматом лепить (типа стрелочек). Чтоб как в Метастоке - нагляднее все-таки.
  40. #35
    Новый человек здесь Аватар для abricOS
    Регистрация
    12.01.2005
    Адрес
    Самарская обл.
    Сообщений
    82
    Поблагодарил(а)
    0
    Получено благодарностей: 0 (сообщений: 0).

    По умолчанию

    Помогите пожалуйста перевести вот такую хрень на Румусовский синтаксис.
    If(CLOSE=OPEN,1,0)* If(Fml("ushd")>=Fml("lshd"),64,-64) + If(CLOSE=OPEN,0,1) * If(CLOSE>OPEN,1,-1) * (If(Fml("body")<= Fml("ThBot_b" ) ,80,0) +If(Fml("body")> Fml("ThBot_b" ) AND Fml("body") <= Fml("ThTop_b" ) ,96,0)+If(Fml("body")> Fml("ThTop_b" ),112,0)) + + If(CLOSE>=OPEN,-4,4)*( If(Fml("lshd") = 0,3,0)+If(Fml("lshd") < Fml("ThBot_l" ) AND Fml("lshd")>0,2,0)+ If(Fml("lshd")> Fml("ThBot_l" ) AND Fml("lshd")<= Fml("ThTop_l" ) AND Fml("lshd")>0,1,0) )+ If(CLOSE>=OPEN,1,-1)*( If(Fml("ushd")>0 AND Fml("ushd")<= Fml("ThBot_u" ) ,4,0)+If( Fml("ushd")> Fml("ThBot_u" ) AND Fml( "ushd")<= Fml("ThTop_u" ) ,8,0)+If(Fml( "ushd" )> Fml("ThTop_u" ),12,0) )

    Если можно, то киньте результаты на мыло.
    Заранее спасибо.
  41. #36
    Новый человек здесь
    Регистрация
    12.01.2005
    Сообщений
    2
    Поблагодарил(а)
    0
    Получено благодарностей: 0 (сообщений: 0).

    По умолчанию

    Добрый день,

    Хотел бы узнать как можно реализовать следующий алгоритм.
    Предположим, что у меня открыто 2 графика - часовой и дневной. Как можно взять High, Low, Close вчерашнего дня на дневном графике и передать эти значения в часовой график.

    Спасибо.
  42. #37
    Почетный участник Аватар для Старцев Роман
    Регистрация
    06.01.2005
    Адрес
    Красноярск
    Сообщений
    4,590
    Поблагодарил(а)
    48
    Получено благодарностей: 1,271 (сообщений: 1,077).

    По умолчанию

    Цитата Сообщение от U-Rich
    Кстати, неплохо было бы иметь возможность значки всякие на график цены автоматом лепить (типа стрелочек). Чтоб как в Метастоке - нагляднее все-таки.
    Согласен. Нагляднее
    Но такой возможности пока нету.
  43. #38
    Почетный участник Аватар для Старцев Роман
    Регистрация
    06.01.2005
    Адрес
    Красноярск
    Сообщений
    4,590
    Поблагодарил(а)
    48
    Получено благодарностей: 1,271 (сообщений: 1,077).

    По умолчанию %R Ларри Вильямса (William's R)

    %R Ларри Вильямса (William's R)

    n = inparam("N=", 1, 3000, 120) ;
    Cn=c;
    Hn=h;
    Ln=l;
    i=0;
    while (i<n) begin
    i=i+1;
    Ct=ref(c,-i);
    Ht=ref(h,-i);
    Lt=ref(l,-i);
    if Ct>Cn then Cn=Ct;
    if Ht>Hn then Hn=Ht;
    if Lt<Ln then Ln=Lt;
    end;
    R=-100*(Cn-c)/(Hn-Ln);
    u20=-20;
    u80=-80;
    u20;
    R;
    u80;
  44. #39
    Почетный участник Аватар для Старцев Роман
    Регистрация
    06.01.2005
    Адрес
    Красноярск
    Сообщений
    4,590
    Поблагодарил(а)
    48
    Получено благодарностей: 1,271 (сообщений: 1,077).

    По умолчанию

    Цитата Сообщение от abricOS
    Помогите пожалуйста перевести вот такую хрень на Румусовский синтаксис.
    If(CLOSE=OPEN,1,0)* If(Fml("ushd")>=Fml("lshd"),64,-64) + If(CLOSE=OPEN,0,1) * If(CLOSE>OPEN,1,-1) * (If(Fml("body")<= Fml("ThBot_b" ) ,80,0) +If(Fml("body")> Fml("ThBot_b" ) AND Fml("body") <= Fml("ThTop_b" ) ,96,0)+If(Fml("body")> Fml("ThTop_b" ),112,0)) + + If(CLOSE>=OPEN,-4,4)*( If(Fml("lshd") = 0,3,0)+If(Fml("lshd") < Fml("ThBot_l" ) AND Fml("lshd")>0,2,0)+ If(Fml("lshd")> Fml("ThBot_l" ) AND Fml("lshd")<= Fml("ThTop_l" ) AND Fml("lshd")>0,1,0) )+ If(CLOSE>=OPEN,1,-1)*( If(Fml("ushd")>0 AND Fml("ushd")<= Fml("ThBot_u" ) ,4,0)+If( Fml("ushd")> Fml("ThBot_u" ) AND Fml( "ushd")<= Fml("ThTop_u" ) ,8,0)+If(Fml( "ushd" )> Fml("ThTop_u" ),12,0) )

    Если можно, то киньте результаты на мыло.
    Заранее спасибо.
    Я смогу помочь только после того как вы распишите как вычисляются след индикаторы
    ushd
    lshd
    body
    ThBot_b
    ThBot_l
    ThBot_u
  45. #40
    Новый человек здесь Аватар для abricOS
    Регистрация
    12.01.2005
    Адрес
    Самарская обл.
    Сообщений
    82
    Поблагодарил(а)
    0
    Получено благодарностей: 0 (сообщений: 0).

    По умолчанию

    Я смогу помочь только после того как вы распишите как вычисляются след индикаторы
    ushd
    lshd
    body
    ThBot_b
    ThBot_l
    ThBot_u
    Честно говоря, я даже и не знаю. Я программировании не силен.
    Это индикатор для MetaStock г-на Лиховидова.
    Так называемый "Индекс настроения". Хочу просто проверить его состоятельность, а MetaStock не использую.
  46. #41
    Новый человек здесь
    Регистрация
    30.03.2004
    Адрес
    Московский офис продаж
    Сообщений
    12
    Поблагодарил(а)
    0
    Получено благодарностей: 0 (сообщений: 0).

    По умолчанию

    Цитата Сообщение от IvanP
    Как можно взять High, Low, Close вчерашнего дня на дневном графике и передать эти значения в часовой график?
    К сожалению, никак. Для этого отсутствуют такие возможности языка, как модульное программирование (возможность написать программу, состоящую из нескольких модулей) и глобальные переменные, видимые во всех модулях программы. (ну, это первое, что приходит в голову..)
  47. #42
    Почетный участник Аватар для Старцев Роман
    Регистрация
    06.01.2005
    Адрес
    Красноярск
    Сообщений
    4,590
    Поблагодарил(а)
    48
    Получено благодарностей: 1,271 (сообщений: 1,077).

    По умолчанию

    Цитата Сообщение от abricOS
    Я смогу помочь только после того как вы распишите как вычисляются след индикаторы
    ushd
    lshd
    body
    ThBot_b
    ThBot_l
    ThBot_u
    Честно говоря, я даже и не знаю. Я программировании не силен.
    Это индикатор для MetaStock г-на Лиховидова.
    Так называемый "Индекс настроения". Хочу просто проверить его состоятельность, а MetaStock не использую.
    Я нашел ответ на свой вопрос. Когда будет готово - выложу.
  48. #43
    Новый человек здесь
    Регистрация
    26.11.2004
    Адрес
    г. Москва
    Сообщений
    162
    Поблагодарил(а)
    0
    Получено благодарностей: 6 (сообщений: 2).

    По умолчанию

    Цитата Сообщение от IvanP
    Добрый день,

    Хотел бы узнать как можно реализовать следующий алгоритм.
    Предположим, что у меня открыто 2 графика - часовой и дневной. Как можно взять High, Low, Close вчерашнего дня на дневном графике и передать эти значения в часовой график.

    Спасибо.
    Единственный вариант - это найти High, Low, Close вчерашнего дня на часовом графике через функции hhv, llv и функции времени. Получится несколько громоздко, но работать будет.
  49. #44
    Почетный участник Аватар для Старцев Роман
    Регистрация
    06.01.2005
    Адрес
    Красноярск
    Сообщений
    4,590
    Поблагодарил(а)
    48
    Получено благодарностей: 1,271 (сообщений: 1,077).

    По умолчанию

    Цитата Сообщение от Пилот Пиркс
    Цитата Сообщение от IvanP
    Добрый день,

    Хотел бы узнать как можно реализовать следующий алгоритм.
    Предположим, что у меня открыто 2 графика - часовой и дневной. Как можно взять High, Low, Close вчерашнего дня на дневном графике и передать эти значения в часовой график.

    Спасибо.
    Единственный вариант - это найти High, Low, Close вчерашнего дня на часовом графике через функции hhv, llv и функции времени. Получится несколько громоздко, но работать будет.
    Таким способом можно найти только High и Low.
    А т.к. день закрывается в 21:30, то Close этим способом вы не получите.
  50. #45
    Новый человек здесь Аватар для abricOS
    Регистрация
    12.01.2005
    Адрес
    Самарская обл.
    Сообщений
    82
    Поблагодарил(а)
    0
    Получено благодарностей: 0 (сообщений: 0).

    По умолчанию

    Цитата Сообщение от Старцев Роман
    Цитата Сообщение от abricOS
    Я смогу помочь только после того как вы распишите как вычисляются след индикаторы
    ushd
    lshd
    body
    ThBot_b
    ThBot_l
    ThBot_u
    Честно говоря, я даже и не знаю. Я программировании не силен.
    Это индикатор для MetaStock г-на Лиховидова.
    Так называемый "Индекс настроения". Хочу просто проверить его состоятельность, а MetaStock не использую.
    Я нашел ответ на свой вопрос. Когда будет готово - выложу.
    Огромное человеческое СПАСИБО!
  51. #46
    Новый человек здесь
    Регистрация
    26.11.2004
    Адрес
    г. Москва
    Сообщений
    162
    Поблагодарил(а)
    0
    Получено благодарностей: 6 (сообщений: 2).

    По умолчанию

    Цитата Сообщение от Старцев Роман
    Таким способом можно найти только High и Low.
    А т.к. день закрывается в 21:30, то Close этим способом вы не получите.
    Пардон.. Пердимонокль случился...
    Хотя, на мой взгляд, если условно сместить начало и конец дня на полчаса, то на результатах ТС это не сильно скажется. Или, другой вариант, надо брать среднюю за последний час суток цену.

    Или, простите за крамолу, AmiBroker ставить... Вот там возможно ВСЕ!

    P.S. Что там слышно про Румус 2? И будет ли с ним в комплекте IDS 2?
    P.P.S. Готов выступить в роли Бета-Тестера.
  52. #47
    Новый человек здесь Аватар для Dibral
    Регистрация
    15.04.2004
    Адрес
    Красноярск
    Сообщений
    29
    Поблагодарил(а)
    4
    Получено благодарностей: 0 (сообщений: 0).

    По умолчанию

    Доброго дня всем! Скажите а можно написать такую штуку: что бы на графике в Румусе были разница хай и лоу дневной свечи (высота свечи) отдельной циферкой не в пипах а просто ширина канала и чтобы ещё была циферка в пипах показывающая среднедневную на данный момент. И что бы это всё обновлялось динамично само по себе. Хай и лоу есть а вот высоты канала( в цифрах) и сд(в пипах) нет. Спасибо.
  53. #48
    Новый человек здесь
    Регистрация
    12.01.2005
    Сообщений
    2
    Поблагодарил(а)
    0
    Получено благодарностей: 0 (сообщений: 0).

    По умолчанию

    Спасибо за комментарии,

    Я надеялся, что есть встроенные функции типа YesterdaysClose или какие-то глобальные переменные. кстати - вопрос разработчикам- может стоит в след версии добавить.

    Еще один вопрос - нигде не нашел как задавать тип и цвет линии , которую надо нарисовать на графике.
  54. #49
    Почетный участник Аватар для Старцев Роман
    Регистрация
    06.01.2005
    Адрес
    Красноярск
    Сообщений
    4,590
    Поблагодарил(а)
    48
    Получено благодарностей: 1,271 (сообщений: 1,077).

    По умолчанию

    Цитата Сообщение от Dibral
    Доброго дня всем! Скажите а можно написать такую штуку: что бы на графике в Румусе были разница хай и лоу дневной свечи (высота свечи) отдельной циферкой не в пипах а просто ширина канала и чтобы ещё была циферка в пипах показывающая среднедневную на данный момент. И что бы это всё обновлялось динамично само по себе. Хай и лоу есть а вот высоты канала( в цифрах) и сд(в пипах) нет. Спасибо.
    Это сделать можно, но только циферками выводить пока нельзя - только линией или гистограммой.
  55. #50
    Почетный участник Аватар для Старцев Роман
    Регистрация
    06.01.2005
    Адрес
    Красноярск
    Сообщений
    4,590
    Поблагодарил(а)
    48
    Получено благодарностей: 1,271 (сообщений: 1,077).

    По умолчанию

    Цитата Сообщение от IvanP
    Еще один вопрос - нигде не нашел как задавать тип и цвет линии , которую надо нарисовать на графике.
    Это можно сделать только в свойствах индикатора. В коде пока нельзя.
  56. #51
    Новый человек здесь
    Регистрация
    27.09.2004
    Сообщений
    58
    Поблагодарил(а)
    0
    Получено благодарностей: 0 (сообщений: 0).

    По умолчанию

    Подскажите пожалуста как организовать звуковой сигнал при пересечении экспотенциальных средних.
  57. #52
    Новый человек здесь
    Регистрация
    07.01.2005
    Сообщений
    4
    Поблагодарил(а)
    0
    Получено благодарностей: 0 (сообщений: 0).

    По умолчанию

    Если у кого есть Parabollic в RuLang выложите пожалуйста.
  58. #53
    Новый человек здесь Аватар для Shtirliz
    Регистрация
    02.01.2005
    Адрес
    Е-бург
    Сообщений
    134
    Поблагодарил(а)
    0
    Получено благодарностей: 0 (сообщений: 0).

    По умолчанию

    Здравствуйте.

    if cross(MACD_fast(5,7), MACD_slow(5,7,3)) then
    if MACD_fast(5,7) < 0,0002 and MACD_fast(5,7) > -0,0002 then
    Alert("ALert", 2);

    Выскакивает вот такая ошибка: BEGIN WITHOUT END IN str 2
    Как исправить
  59. #54
    Почетный участник Аватар для Старцев Роман
    Регистрация
    06.01.2005
    Адрес
    Красноярск
    Сообщений
    4,590
    Поблагодарил(а)
    48
    Получено благодарностей: 1,271 (сообщений: 1,077).

    По умолчанию

    Цитата Сообщение от boost
    Подскажите пожалуста как организовать звуковой сигнал при пересечении экспотенциальных средних.
    n1 = inparam("N1=", 1, 1000, 20); // период первой средней
    n2 = inparam("N2=", 1, 1000, 10); // период второй средней

    str1 = "Пересеклись " + c;

    if cross(mov(c, n1, e), mov(c, n2, e)) then alertSound(str1, 0, "c:\sound.wav") ;
    // указанный файл должен существовать иначе будет бдрынькать стандартным виндовозовским звуком
  60. #55
    Почетный участник Аватар для Старцев Роман
    Регистрация
    06.01.2005
    Адрес
    Красноярск
    Сообщений
    4,590
    Поблагодарил(а)
    48
    Получено благодарностей: 1,271 (сообщений: 1,077).

    По умолчанию

    Цитата Сообщение от Shtirliz
    Здравствуйте.

    if cross(MACD_fast(5,7), MACD_slow(5,7,3)) then
    if MACD_fast(5,7) < 0,0002 and MACD_fast(5,7) > -0,0002 then
    Alert("ALert", 2);

    Выскакивает вот такая ошибка: BEGIN WITHOUT END IN str 2
    Как исправить
    вот так будет лучше
    if cross(MACD_fast(5,7), MACD_slow(5,7,3)) then
    if (MACD_fast(5,7) < 0.0002) and (MACD_fast(5,7) > -0.0002) then
    Alert("ALert", 2);
    разделитель десятичных знаков точка а не запятая
  61. #56
    Новый человек здесь Аватар для Shtirliz
    Регистрация
    02.01.2005
    Адрес
    Е-бург
    Сообщений
    134
    Поблагодарил(а)
    0
    Получено благодарностей: 0 (сообщений: 0).

    По умолчанию

    разделитель десятичных знаков точка а не запятая [/quote]

    Это я конечно лажанулся
  62. #57
    Новый человек здесь Аватар для Shtirliz
    Регистрация
    02.01.2005
    Адрес
    Е-бург
    Сообщений
    134
    Поблагодарил(а)
    0
    Получено благодарностей: 0 (сообщений: 0).

    По умолчанию

    Цитата Сообщение от boost
    Подскажите пожалуста как организовать звуковой сигнал при пересечении экспотенциальных средних.

    if cross(MACD_fast(5,7), MACD_slow(5,7,3)) then
    if (MACD_fast(5,7) > -0.0002) and (MACD_fast(5,7) < 0.0002) then
    AlertSound("Пересечение средних", 1, "c:\ringin.wav");э
  63. #58
    Новый человек здесь
    Регистрация
    14.01.2005
    Адрес
    Россия
    Сообщений
    2
    Поблагодарил(а)
    0
    Получено благодарностей: 0 (сообщений: 0).

    По умолчанию

    вы уж извините дурачка, но мне все таки не понятно что такое период усреднения
    в чем он измеряется?

    спасибо

    PS
    кстати функция mov() работает только с OHLC?
    ====
    Let G-Force be with you...
  64. #59
    Новый человек здесь Аватар для Shtirliz
    Регистрация
    02.01.2005
    Адрес
    Е-бург
    Сообщений
    134
    Поблагодарил(а)
    0
    Получено благодарностей: 0 (сообщений: 0).

    По умолчанию

    Здравствуйтк.

    Подскажите как организовать звуковой сигнал в момент закрытия бара, например, при пересечении macd_fast и macd_slow звуковой сигнал звучит 1 раз после закрытия свечки, а не при каждом её изменении
  65. #60
    Новый человек здесь Аватар для tartan
    Регистрация
    18.12.2004
    Адрес
    St.Petersburg
    Сообщений
    41
    Поблагодарил(а)
    0
    Получено благодарностей: 0 (сообщений: 0).

    По умолчанию

    Всё очень хорошо, но мне не нужно никаких консультатций пока.
    Мне нужен нормальный исходняк хотя бы одного индикатора, написанный полностью на этом языке, чтобы понять его концепцию.
    Только потом могут появиться вопросы по созданию своего индикатора. Выложите один индюк и этого пока хватит.
    Бороться, искать, найти и не сдаваться! (Каверин. Два капитана)
  66. #61
    Новый человек здесь
    Регистрация
    27.09.2004
    Сообщений
    58
    Поблагодарил(а)
    0
    Получено благодарностей: 0 (сообщений: 0).

    По умолчанию

    Подскажите как организовать звуковой сигнал в момент закрытия бара, например, при пересечении macd_fast и macd_slow звуковой сигнал звучит 1 раз после закрытия свечки, а не при каждом её изменении
    Mеня также интересует этот момент т к в ниже приведённом примере сигнал постоянно появляется при пересечении средней с ценой т е со свечой

    n1 = inparam("N1=", 1, 1000, 20); // период первой средней
    n2 = inparam("N2=", 1, 1000, 10); // период второй средней

    str1 = "Пересеклись " + c;

    if cross(mov(c, n1, e), mov(c, n2, e)) then alertSound(str1, 0, "c:\sound.wav") ;
    // указанный файл должен существовать иначе будет бдрынькать стандартным виндовозовским звуком

    необходимо что бы сигнал был после пересечении 2-х экспотенциальных средних!
  67. #62
    Почетный участник Аватар для Старцев Роман
    Регистрация
    06.01.2005
    Адрес
    Красноярск
    Сообщений
    4,590
    Поблагодарил(а)
    48
    Получено благодарностей: 1,271 (сообщений: 1,077).

    По умолчанию

    Цитата Сообщение от Shiban
    вы уж извините дурачка, но мне все таки не понятно что такое период усреднения
    в чем он измеряется?

    спасибо
    Период усреднения измеряется в интервалах (свечках).
    И говорит о том сколько последних интервалов используются в вычислениях. :P

    Цитата Сообщение от Shiban
    PS
    кстати функция mov() работает только с OHLC?
    нет. Усреднять можно практически все
    например значение функции
  68. #63
    Почетный участник Аватар для Старцев Роман
    Регистрация
    06.01.2005
    Адрес
    Красноярск
    Сообщений
    4,590
    Поблагодарил(а)
    48
    Получено благодарностей: 1,271 (сообщений: 1,077).

    По умолчанию

    Цитата Сообщение от Shtirliz
    Здравствуйтк.

    Подскажите как организовать звуковой сигнал в момент закрытия бара, например, при пересечении macd_fast и macd_slow звуковой сигнал звучит 1 раз после закрытия свечки, а не при каждом её изменении
    if cross(Ref(MACD_fast(5,7),-1), Ref(MACD_slow(5,7,3),-1)) then AlertSound("Пересечение средних", 1, "c:\ringin.wav");
    вот так должно сработать ))
  69. #64
    Почетный участник Аватар для Старцев Роман
    Регистрация
    06.01.2005
    Адрес
    Красноярск
    Сообщений
    4,590
    Поблагодарил(а)
    48
    Получено благодарностей: 1,271 (сообщений: 1,077).

    По умолчанию

    Цитата Сообщение от boost
    Подскажите как организовать звуковой сигнал в момент закрытия бара, например, при пересечении macd_fast и macd_slow звуковой сигнал звучит 1 раз после закрытия свечки, а не при каждом её изменении
    Mеня также интересует этот момент т к в ниже приведённом примере сигнал постоянно появляется при пересечении средней с ценой т е со свечой

    n1 = inparam("N1=", 1, 1000, 20); // период первой средней
    n2 = inparam("N2=", 1, 1000, 10); // период второй средней

    str1 = "Пересеклись " + c;

    if cross(mov(c, n1, e), mov(c, n2, e)) then alertSound(str1, 0, "c:\sound.wav") ;
    // указанный файл должен существовать иначе будет бдрынькать стандартным виндовозовским звуком

    необходимо что бы сигнал был после пересечении 2-х экспотенциальных средних!
    а вы уверены что они не пересекались???
    добавим визуальную проверку
    n1 = inparam("N1=", 1, 1000, 20); // период первой средней
    n2 = inparam("N2=", 1, 1000, 10); // период второй средней

    str1 = "Пересеклись " + c;

    if cross(mov(c, n1, e), mov(c, n2, e)) then alertSound(str1, 0, "c:\sound.wav") ;
    mov(c, n1, e);
    mov(c, n2, e);

    или вот так

    n1 = inparam("N1=", 1, 1000, 20); // период первой средней
    n2 = inparam("N2=", 1, 1000, 10); // период второй средней

    str1 = "Пересеклись " + c;
    m1=mov(c, n1, e);
    m2=mov(c, n2, e);
    if (ref((m1-m2),-2)*ref((m1-m2),-1)<0) then alertSound(str1, 0, "c:\sound.wav");
    m1;
    m2;
  70. #65
    Новый человек здесь
    Регистрация
    16.01.2005
    Сообщений
    2
    Поблагодарил(а)
    0
    Получено благодарностей: 0 (сообщений: 0).

    По умолчанию

    Здравствуйте,Роман Александрович!
    Здравствуйте Все!
    С праздниками прошедшими.
    Очень полезная тема открыта по языку RuLang !!!!!!!!!
    В свободное от свободного времени время уже месяц грызу этот язык. Скоро пойду к штоматологу зубы лечить. Стерлись, однако :)
    С любовью вспоминаю язык "Фортран 4" на котором писал 15 лет назад... На машине ЕС-1055 моделировал посадку "Бурана" в автоматическом и пилотируемом
    режиме при воздействии случайных возмущений - вертикальные порывы ветра и прочее... Кстати, один из любопытных выводов работы -
    вероятность катастрофы при посадке на землю в пилотируемом режиме в 1000 раз выше, чем на автопилоте. Извините, что отошел от темы, но эта цифра (десять
    в третьей степени) заставляет меня писать и тестировать МТС.
    По языку RuLang.
    1) Если у кого есть программы на этом языке, пожалуйста, опубликуйте на форуме. Не ради того, чтобы другие могли
    воспользоваться, а как пример написания. Можно просто дать выдернутые сложные куски из программ. На примерах обучение быстрее пойдет.
    Поймите правильно, хорошо бы увидеть приемы и культуру написАния, а не торговые идеи. От торговых идей уже голова пухнет, а изобразить
    на компутерном языке пока плохо получается... Если написаны у кого на РуЛанге какие-то математические функции - было бы замечательно..
    2) Экранчик, где набирается текст программы в Румусе, очень маленький. На моем 19 дюймовом мониторе он всего 10,5 на 4,5 сантиметра.
    И нет горизонтальной прокрутки. Сейчас я пишу МТС, которую тестирую на истории - она занимает 3 печатных листа. Можно ли увеличить
    экран самому или попросить разрабодчиков следующих версий Румуса учесть это.
    3) не получается с вложенными циклами. Вот простой пример: два цикла по отдельности работаю нормально. Когда же вкладываю
    один в другой - Румус зависает. Только не надо говорить, что Пентиум-4 3,2 Мгц и 2х512Мб оперативки маловато и WindowsXP слабоват :)
    //------Вот текст, после которого Румус "НЕ ОТВЕЧАЕТ" --------------------------------------------------
    k=1 ;
    barNum = cum(k) ;
    a=0 ;
    while (a <barNum ) begin
    a = a + 1 ;
    ab = 0 ;
    while ( ab < BarNum ) begin
    ab = ab + 1 ;
    end ;
    end ;
    a ;
    //-------------------------------------------
    4) Если нет учебников по РуЛангу, то можете ли посоветовать почитать что-то, что хоть отдаленно напоминает этот язык, то есть похоже немного.
    5) ставлю в Румус пример из описания Руланга:
    //----------------------------------------------
    Sum2 ;
    Inputs : a, b ;
    res = a + b ;
    return res ;
    res = Sum2(4, 18) ;
    res ;
    //----------------------------------------------
    Румус выдает ошибку при создании кода - Error function Sum2 in str 6
    Подскажите, пожалуйста, как писать ф-ции.
    6) Возведение в степень:
    res = pow(c, 2) ;
    res ;
    Румус выдает ошибку, что не хватает ";". Причем не хватает во второй строке !!!!
    Ставлю в ПЕРВУЮ строку ";;"
    res = pow(c, 2) ;;
    res ;
    Все проходит.
    Аналогично и с квадратным корнем
    res = sqrt(9) ;;
    и с Hour() ;;
    и с res = dayofweek() ;;
    и так далее.
    7) А как искать строку, если Румус выдает ошибку в 78 строке ????? как сосчитать ее ?
    8) Допустим, к - это порядковый номер свечи.
    Тогда максимум цен закрытия за период а-свечей назад = hhv(c, a) .
    Пишем:
    k = 1 ;
    a = cum(k) ;
    res = hhv( c, a ) ;
    res ;
    Результат Румус рисует правильно.
    А вот на интервале, например, на 2 свечи меньше
    // ------------------------------------
    k = 1 ;
    a = cum(k) ;
    if a > 3 then res = hhv( c, a - 2 ) ;
    res ;
    // ----------------------------------
    происходит следующее:
    при a>1 и при a>2 Румус дает правильный ответ. А при a>3 и любом числе, которое больше чем ТРИ, Румус выдает
    горизонтальную линию лежащую на нуле.
    Пишу такую комбинацию:
    k = 1 ;
    a = cum(k) ;
    if a > 3 then k1 = 1 ;
    res = k1 * hhv( c, a - 2 ) ;
    res ;
    // ---------
    Теперь уже и при a>1 и при a>2 и при бОльших значениях Румус не дает правильный ответ. Румус не строит линию, а в верхнем левом углу окна
    выдает значение закрытия последней свечи.

    С LLV(..., ..) и hhvbars и LLVbars то же самое!!!!!
    9) в описании языка Руланг в Румусе сказано, что RSI вычисляется только с периодом усреднения 1 и метод
    усреднения только SIMPLE (!!!) .
    Cтрою rsi(c, 15) и одновременно индикатор, встроенный в Румус RSI по закрытиям с периодом усреднения 1 периодом индикатора 15 и
    методом усреднения simple .
    НЕ СОВПАДАЮТ!!!!
    Ставлю метод усреднения "Экспоненциальный". О, чудо ! Совпали...
    Сразу закрадваются сомнения по всему остальному....
    10) Не все гладко с информацией об ошибках, например с комбинацией if ... then ;
    допустим такая комбинация: ( перед первой МА поставлена лишняя скобка)
    //-------------------------
    n2 = 7 ;
    if atr(n2, e) - atr(n2, s) > 0 then res = (mov(c, n2, e) - mov(c, n2, s) ;
    else res = 0 ;
    res ;
    // -----------------------
    Румус выдает: Ошибка при создании кода - Error command BEGIN WITHOUT END in str 2
    Не понятно почему на лишнюю скобку он так реагирует. При чем тут BEGIN ???

    С Уважением, Александр
  71. #66
    Новый человек здесь
    Регистрация
    27.09.2004
    Сообщений
    58
    Поблагодарил(а)
    0
    Получено благодарностей: 0 (сообщений: 0).

    По умолчанию

    а вы уверены что они не пересекались???
    Дело в том что средние пересеклись допустим несколько часов назад а всё равно появляются сигналики при пересечении свечей с одной из средних!
  72. #67
    Новый человек здесь
    Регистрация
    14.01.2005
    Адрес
    Россия
    Сообщений
    2
    Поблагодарил(а)
    0
    Получено благодарностей: 0 (сообщений: 0).

    По умолчанию

    еще один глупый вопрос:

    румус строит график по Close если выбрать линии...

    можно ли сделать график по формуле?
    например ломаную (O-C) по всему графику
    ====
    Let G-Force be with you...
  73. #68
    Новый человек здесь Аватар для bedgun
    Регистрация
    02.11.2003
    Адрес
    Ростов-на-Дону
    Сообщений
    139
    Поблагодарил(а)
    28
    Получено благодарностей: 19 (сообщений: 17).
    Записей в дневнике
    21

    По умолчанию

    Добрый день!

    Есть ли у кого нибудь готовый код или наработки на Rulang индикатора дивергенций.
    Буду признателен.
    Мы танцуем по кругу, и кажется нам,
    Что истина в центре круга.
  74. #69
    Новый человек здесь Аватар для abricOS
    Регистрация
    12.01.2005
    Адрес
    Самарская обл.
    Сообщений
    82
    Поблагодарил(а)
    0
    Получено благодарностей: 0 (сообщений: 0).

    По умолчанию

    Цитата Сообщение от Старцев Роман
    Я нашел ответ на свой вопрос. Когда будет готово - выложу.
    Есть результаты?
    Вся человеческая история - пересмотр результатов приватизации.
    В. Пелевин. Священная книга оборотня.
  75. #70
    Участник форума Аватар для Говорит Москва!
    Регистрация
    06.01.2005
    Сообщений
    460
    Поблагодарил(а)
    27
    Получено благодарностей: 28 (сообщений: 19).

    По умолчанию RuLang в PDF

    Ухожу с форума в знак протеста против произвола модераторов.
    Конкретно - Вопрошающего. Он перешёл все границы. Забанил ветку cucumbera. За что? (Они, конечно, объяснят...)

    ДЦ не должен допускать к модерированию таких людей. Это форум ведущего брокера, а не КПЗ в Мухосранске...
  76. #71
    Новый человек здесь
    Регистрация
    26.11.2004
    Адрес
    г. Москва
    Сообщений
    162
    Поблагодарил(а)
    0
    Получено благодарностей: 6 (сообщений: 2).

    По умолчанию Re: RuLang в PDF

    Цитата Сообщение от Говорит Москва!
    Привет!

    Если вам нужна справка по RuLang в PDF, пишите мне в приват.
    Она по содержанию соответствует встроенной? Или это что-то расширенное и дополненое?
  77. #72
    Участник форума Аватар для Говорит Москва!
    Регистрация
    06.01.2005
    Сообщений
    460
    Поблагодарил(а)
    27
    Получено благодарностей: 28 (сообщений: 19).

    По умолчанию Re: RuLang в PDF

    Ухожу с форума в знак протеста против произвола модераторов.
    Конкретно - Вопрошающего. Он перешёл все границы. Забанил ветку cucumbera. За что? (Они, конечно, объяснят...)

    ДЦ не должен допускать к модерированию таких людей. Это форум ведущего брокера, а не КПЗ в Мухосранске...
  78. #73
    Почетный участник Аватар для Старцев Роман
    Регистрация
    06.01.2005
    Адрес
    Красноярск
    Сообщений
    4,590
    Поблагодарил(а)
    48
    Получено благодарностей: 1,271 (сообщений: 1,077).

    По умолчанию

    Цитата Сообщение от Shiban
    еще один глупый вопрос:

    румус строит график по Close если выбрать линии...

    можно ли сделать график по формуле?
    например ломаную (O-C) по всему графику
    Да.

    MyOC=O-C;
    MyOC;
  79. #74
    Почетный участник Аватар для Старцев Роман
    Регистрация
    06.01.2005
    Адрес
    Красноярск
    Сообщений
    4,590
    Поблагодарил(а)
    48
    Получено благодарностей: 1,271 (сообщений: 1,077).

    По умолчанию

    Цитата Сообщение от ALGon
    1) Если у кого есть программы на этом языке, пожалуйста, опубликуйте на форуме. Не ради того, чтобы другие могли
    воспользоваться, а как пример написания. Можно просто дать выдернутые сложные куски из программ. На примерах обучение быстрее пойдет.
    Программы на этом языке есть и будут в дальнейшем появляться в этой ветке
    Цитата Сообщение от ALGon
    2) Экранчик, где набирается текст программы в Румусе, очень маленький. На моем 19 дюймовом мониторе он всего 10,5 на 4,5 сантиметра.
    Об этом разработчики Rumus-а уже знают
    и еще: сравните его с метастоковским
    Цитата Сообщение от ALGon
    3) не получается с вложенными циклами. Вот простой пример: два цикла по отдельности работаю нормально. Когда же вкладываю
    один в другой - Румус зависает. Только не надо говорить, что Пентиум-4 3,2 Мгц и 2х512Мб оперативки маловато и WindowsXP слабоват
    //------Вот текст, после которого Румус "НЕ ОТВЕЧАЕТ" --------------------------------------------------
    k=1 ;
    barNum = cum(k) ;
    a=0 ;
    while (a <barNum ) begin
    a = a + 1 ;
    ab = 0 ;
    while ( ab < BarNum ) begin
    ab = ab + 1 ;
    end ;
    end ;
    a ;
    //-------------------------------------------
    Посмотрим сколько раз у вас будет все это выполнятся:

    Sum i*i
    i=1 to NN
    NN - число открытых интервалов (по умолчанию их 3000)
    в итоге получилось что дял NN=3000 это примерно 9 милиардов раз,
    а если свечек открыто не 3000 а больше?

    Цитата Сообщение от ALGon
    4) Если нет учебников по РуЛангу, то можете ли посоветовать почитать что-то, что хоть отдаленно напоминает этот язык, то есть похоже немного.
    Учебник по Metastock

    Цитата Сообщение от ALGon
    5) ставлю в Румус пример из описания Руланга:
    //----------------------------------------------
    Sum2 ;
    Inputs : a, b ;
    res = a + b ;
    return res ;
    res = Sum2(4, 1 ;
    res ;
    //----------------------------------------------
    Румус выдает ошибку при создании кода - Error function Sum2 in str 6
    Подскажите, пожалуйста, как писать ф-ции.
    Sum2 - это название функции, Пишется в поле "Название индикатора"
    в этой теме уже было создание собственных функций
    Цитата Сообщение от ALGon
    6) Возведение в степень:
    res = pow(c, 2) ;
    res ;
    Румус выдает ошибку, что не хватает ";". Причем не хватает во второй строке !!!!
    Ставлю в ПЕРВУЮ строку ";;"
    res = pow(c, 2) ;;
    res ;
    Все проходит.
    Аналогично и с квадратным корнем
    res = sqrt(9) ;;
    и с Hour() ;;
    и с res = dayofweek() ;;
    и так далее.
    про это уже тоже было написано выше
    Цитата Сообщение от ALGon
    7) А как искать строку, если Румус выдает ошибку в 78 строке ????? как сосчитать ее ?
    очень внимательно
    Цитата Сообщение от ALGon
    Допустим, к - это порядковый номер свечи.
    Тогда максимум цен закрытия за период а-свечей назад = hhv(c, a) .
    Пишем:
    k = 1 ;
    a = cum(k) ;
    res = hhv( c, a ) ;
    res ;
    Результат Румус рисует правильно.
    А вот на интервале, например, на 2 свечи меньше
    // ------------------------------------
    k = 1 ;
    a = cum(k) ;
    if a > 3 then res = hhv( c, a - 2 ) ;
    res ;
    ...
    ...
    ...
    уменьшать a лучше вот так
    k = 1 ;
    a = cum(k);
    res = hhv( c, ref(a,-2) ) ;
    res ;

    Цитата Сообщение от ALGon
    9) в описании языка Руланг в Румусе сказано, что RSI вычисляется только с периодом усреднения 1 и метод
    усреднения только SIMPLE (!!!) .
    Cтрою rsi(c, 15) и одновременно индикатор, встроенный в Румус RSI по закрытиям с периодом усреднения 1 периодом индикатора 15 и
    методом усреднения simple .
    НЕ СОВПАДАЮТ!!!!
    Ставлю метод усреднения "Экспоненциальный". О, чудо ! Совпали...
    Сразу закрадваются сомнения по всему остальному....


    Цитата Сообщение от ALGon
    10) Не все гладко с информацией об ошибках, например с комбинацией if ... then ;
    допустим такая комбинация: ( перед первой МА поставлена лишняя скобка)
    //-------------------------
    n2 = 7 ;
    if atr(n2, e) - atr(n2, s) > 0 then res = (mov(c, n2, e) - mov(c, n2, s) ;
    else res = 0 ;
    res ;
    // -----------------------
    Румус выдает: Ошибка при создании кода - Error command BEGIN WITHOUT END in str 2
    Не понятно почему на лишнюю скобку он так реагирует. При чем тут BEGIN ???
    он так реагирует на лишню скобку потому-что begin и end это операторные скобки и в интерпритаторе языка при обработке они обрабатываюся одним способом
  80. #75
    Новый человек здесь Аватар для abricOS
    Регистрация
    12.01.2005
    Адрес
    Самарская обл.
    Сообщений
    82
    Поблагодарил(а)
    0
    Получено благодарностей: 0 (сообщений: 0).

    По умолчанию

    Роман Александрович, есть какие-нибудь результаты по индикатору настроения?
    Вся человеческая история - пересмотр результатов приватизации.
    В. Пелевин. Священная книга оборотня.
  81. #76
    Новый человек здесь
    Регистрация
    16.01.2005
    Сообщений
    2
    Поблагодарил(а)
    0
    Получено благодарностей: 0 (сообщений: 0).

    По умолчанию

    Цитата Сообщение от Гентор
    Цитата Сообщение от Валера Ловейко
    Добрый день. Румус очень простая и хорошая программа, но очень хотелось бы видеть в ней индикаторы из Investor`s Dream. Румус просто бы поглотил бы её!!! Очень нужны индикаторы AO, AC, Profitunity. Хочу научиться писать их, но не знаю как. Напишите пожалуйста эти индикаторы.
    Эти индикаторы давно уже написаны на языке Римуса
    а Аллигатор встроенный индикатор
    вот сами индикаторы
    //АО для рамуса

    //RED
    T1=Mov((H+L)/2,5,S)-Mov((H+L)/2,34,S);
    IF REF(T1,-1)>T1 THEN Res=T1; else Res=0;
    Res;

    //GREEN

    T11=Mov((H+L)/2,5,S)-Mov((H+L)/2,34,S);
    IF REF(T11,-1)<T11 THEN Res1=T11; else Res1=0;
    Res1;
    -----------------------------------------------------------
    //AC для раиуса

    //RED
    T4=Mov((H+L)/2,5,S)-Mov((H+L)/2,34,S);
    T5=T4-MOV(T4,5,S);
    IF REF(T5,-1)>T5 THEN Res=T5; else Res=0;
    Res;

    //GREEN
    T41=Mov((H+L)/2,5,S)-Mov((H+L)/2,34,S);
    T51=T41-MOV(T41,5,S);
    IF REF(T51,-1)<T51 THEN Res1=T51; else Res1=0;
    Res1;
    -------------------------------------------------------------

    Цвета гистограмм и толщину нужно будет настроить
    Здравствуйте,
    В книге Билла Вильямса "Новые Измерения в Биржевой Торговле" издательства "ИК Аналитика" 2000 г.
    на 121 странице дано определение гистограммы "АС". Цитирую по оригиналу:
    "Гистограмма "АС" - это 5-периодное простое скользящее среднее, построенное на разности между
    значением 5/34 гистограммы движущей силы и 5-периодным простым скользящим средним, взятым от этой
    гистограммы."
    Далее еще сказано: " Если текущая разница между 5/34 "АО" осциллятором и 5-периодным скользящим
    средним больше средней разницы ДЛЯ ПОСЛЕДНИХ 5 СТОЛБЦОВ гистограммы, то движущая сила ускоряется."

    Тогда текст в Румусе для АС красной будет такой:
    //---------- AC formula Red ---------------------------------
    AO = mov((h+L)/2, 5, s ) - mov((h+L)/2, 34, s ) ;
    AC = mov( (AO - mov( AO, 5, s )) , 5, s ) ;
    if ref( AC, -1 ) > AC then Res = AC; else Res = 0;
    Res;
    //-------------------------------------------------------------------
    Соответственно для зеленой линии:
    //---------- AC formula Green ---------------------------------
    AO = mov((h+L)/2, 5, s ) - mov((h+L)/2, 34, s ) ;
    AC = mov( (AO - mov( AO, 5, s )) , 5, s ) ;
    if ref( AC, -1 ) < AC then Res = AC; else Res = 0;
    Res;
    //-------------------------------------------------------------------
    Поправьте, пожалуйста, если я не прав.
    С Уважением, Александр
  82. #77
    Новый человек здесь
    Регистрация
    18.01.2005
    Сообщений
    1
    Поблагодарил(а)
    0
    Получено благодарностей: 0 (сообщений: 0).

    По умолчанию Долой все проблемы

    http://mercury3.tradeodds.com/RU/PORTALRU/CR8876 тут все прикрасно описано и истолковано. P.S. и на сайте есть приятная девушка с номером аськи из техподдрежки. Удачи
  83. #78
    Новый человек здесь
    Регистрация
    07.01.2005
    Сообщений
    4
    Поблагодарил(а)
    0
    Получено благодарностей: 0 (сообщений: 0).

    По умолчанию

    Здравствуйте Роман и все присутствующие,
    Не подскажите ли как на Rulag(е) будет выглядеть индикатор Trailing Stop, если в MetaStock он рисуется вот так:
    {Upper Band}
    Prd1:=Input("ATR Period",1,20,5);
    Prd2:=Input("Period for Highest High Value",1,20,10);
    (HHV(LLV(L,Prd1)+ATR(Prd1),Prd2));
    {Lower Band}
    Prd2:=Input("Period for Lowest Low Value",1,20,10);
    (LLV(HHV(H,Prd1)-ATR(Prd1),Prd2))?

    и еще....может кто-нибудь написал Parabolic и сигналы для RSI при пересечении граничных линий? Выложите пожалуйста на форуме. Заранее спасибо.
  84. #79
    Почетный участник Аватар для Старцев Роман
    Регистрация
    06.01.2005
    Адрес
    Красноярск
    Сообщений
    4,590
    Поблагодарил(а)
    48
    Получено благодарностей: 1,271 (сообщений: 1,077).

    По умолчанию

    Цитата Сообщение от A`Leks
    Здравствуйте Роман и все присутствующие,
    Не подскажите ли как на Rulag(е) будет выглядеть индикатор Trailing Stop, если в MetaStock он рисуется вот так:
    {Upper Band}
    Prd1:=Input("ATR Period",1,20,5);
    Prd2:=Input("Period for Highest High Value",1,20,10);
    (HHV(LLV(L,Prd1)+ATR(Prd1),Prd2));
    {Lower Band}
    Prd2:=Input("Period for Lowest Low Value",1,20,10);
    (LLV(HHV(H,Prd1)-ATR(Prd1),Prd2))?

    и еще....может кто-нибудь написал Parabolic и сигналы для RSI при пересечении граничных линий? Выложите пожалуйста на форуме. Заранее спасибо.
    Вот как он переводится на RuLang
    Код:
    Prd1=inparam("ATR Period",1,20,5); 
    Prd2=inparam("Period for Highest High Value",1,20,10); 
    Prd3=inparam("Period for Lowest Low Value",1,20,10); 
    
    //Upper Band
    HHV(LLV(L,Prd1)+ATR(Prd1,e),Prd2); 
    //Lower Band
    LLV(HHV(H,Prd1)-ATR(Prd1,e),Prd3);
    Насчет параболика - делаю
    а вот про RSI напишите подробнее
  85. #80
    Новый человек здесь
    Регистрация
    07.01.2005
    Сообщений
    4
    Поблагодарил(а)
    0
    Получено благодарностей: 0 (сообщений: 0).

    По умолчанию

    Роман, есть замечания по формуле для trailing stop... при масштабировании графика ( увеличение-уменьшение масштаба видимого изображения ) линии индикатора оказываются каждый раз в новом положении относительно графика цен.
    Что касается RSI, то хотелось бы иметь формулу, выдающую сигнал при пересечении индикатором (при интервале, скажем, равном 7 ) стандартных уровней 30-70 ценой. Сигнал реализуется только по последней цене закрытия дня, часа и т.д.
  86. #81
    Почетный участник Аватар для Старцев Роман
    Регистрация
    06.01.2005
    Адрес
    Красноярск
    Сообщений
    4,590
    Поблагодарил(а)
    48
    Получено благодарностей: 1,271 (сообщений: 1,077).

    По умолчанию

    Цитата Сообщение от abricOS
    Роман Александрович, есть какие-нибудь результаты по индикатору настроения?
    Есть
    Код:
    //-----Индекс настроения рынка по Лиховидову-----
    
    Periods=Inparam("Enter Periods",2,13,2); 
    
    body=sqrt((o-c)*(o-c));;
    if (c>=o) then  lshd=o-l; else lshd=c-l;
    if (c>=o) then  ushd=h-c; else ushd=h-o;
    
    ThTop_b=(bollinger_1(body, 55, e)+4*mov(body,55,e))/5;
    ThBot_b=(bollinger_2(body, 55, e)+4*mov(body,55,e))/5;
    ThTop_l=(bollinger_1(lshd, 55, e)+4*mov(lshd,55,e))/5;
    ThBot_l=(bollinger_2(lshd, 55, e)+4*mov(lshd,55,e))/5;
    ThTop_u=(bollinger_1(ushd, 55, e)+4*mov(ushd,55,e))/5;
    ThBot_u=(bollinger_2(ushd, 55, e)+4*mov(ushd,55,e))/5;
    
    //CandleCode_b
    CandleCode_b=0;
    if (c=o) then 
     begin
      if (ushd>=lshd) then CandleCode_b=64; else CandleCode_b=48;
    end; else
     begin
      if (c>o) then
       begin
        if (body<=ThBot_b) then CandleCode_b=CandleCode_b+80;
        if (body>ThBot_b) AND (body <= ThTop_b ) then CandleCode_b=CandleCode_b+96;
        if (body>ThTop_b) then CandleCode_b=CandleCode_b+112;
       end; else
        begin
         if (body<=ThBot_b) then CandleCode_b=CandleCode_b+32;
         if (body>ThBot_b) AND (body<=ThTop_b) then CandleCode_b=CandleCode_b+16;
        end;
     end;
    
    //CandleCode_l
    CandleCode_l=0;
    if (lshd = 0) then CandleCode_l=CandleCode_l+3;
    if (lshd<ThBot_l) AND (lshd>0) then CandleCode_l=CandleCode_l+2;
    if (lshd>ThBot_l) AND (lshd<=ThTop_l) AND (lshd>0) then CandleCode_l=CandleCode_l+1;
    
    //CandleCode_u
    CandleCode_u=0;
    if (ushd>0) AND (ushd<=ThBot_u) then CandleCode_u=CandleCode_u+4;
    if (ushd>ThBot_u) AND (ushd<=ThTop_u) then CandleCode_u=CandleCode_u+8;
    if (ushd>ThTop_u) then CandleCode_u=CandleCode_u+12;
    
    CandlCode=CandleCode_b+CandleCode_l+CandleCode_u;
    
    //Усредненный код свечи ICS 
    Mov( Mov( Mov( CandlCode , Periods, S), Periods, S), Periods, S);
  87. #82
    Почетный участник Аватар для Старцев Роман
    Регистрация
    06.01.2005
    Адрес
    Красноярск
    Сообщений
    4,590
    Поблагодарил(а)
    48
    Получено благодарностей: 1,271 (сообщений: 1,077).

    По умолчанию

    Цитата Сообщение от A`Leks
    Роман, есть замечания по формуле для trailing stop... при масштабировании графика ( увеличение-уменьшение масштаба видимого изображения ) линии индикатора оказываются каждый раз в новом положении относительно графика цен.
    А привязать индикатор к гафику цены пробовали???

    Цитата Сообщение от A`Leks
    Что касается RSI, то хотелось бы иметь формулу, выдающую сигнал при пересечении индикатором (при интервале, скажем, равном 7 ) стандартных уровней 30-70 ценой. Сигнал реализуется только по последней цене закрытия дня, часа и т.д.
    для наглядности, первую линию отображать гистограммой
    Код:
    N=Inparam("N=",1,100,7);
    L_T=Inparam("Верхняя граница",1,100,70);
    L_B=Inparam("Нижняя граница",1,100,30);
    r1=RSI(C,N);
    if cross(r1,L_T) or cross(r1,L_B) then aa=1; else aa=0;
    aa;
    0;
  88. #83
    Новый человек здесь Аватар для Фома
    Регистрация
    19.01.2004
    Адрес
    Новосибирск
    Сообщений
    180
    Поблагодарил(а)
    0
    Получено благодарностей: 0 (сообщений: 0).

    По умолчанию

    Роман, помогите перевести инзикатор с Метаса в Румус:

    pds= 6;
    Condition= Ref(H, -pds) = HHV(H, 2*pds +1) AND Ref(H,-pds) <> Ref(H, -pds -1);
    S1:= ValueWhen( 1, Condition, Ref( H, -pds));
    S2:= ValueWhen( 2, Condition, Ref( H, -pds));
    S3:= ValueWhen( 3, Condition, Ref( H, -pds));

    S1; S2; S3
    Не поверю, пока не проверю!
  89. #84
    Почетный участник Аватар для Старцев Роман
    Регистрация
    06.01.2005
    Адрес
    Красноярск
    Сообщений
    4,590
    Поблагодарил(а)
    48
    Получено благодарностей: 1,271 (сообщений: 1,077).

    По умолчанию

    Цитата Сообщение от Фома
    Роман, помогите перевести инзикатор с Метаса в Румус:

    pds= 6;
    Condition= Ref(H, -pds) = HHV(H, 2*pds +1) AND Ref(H,-pds) <> Ref(H, -pds -1);
    S1:= ValueWhen( 1, Condition, Ref( H, -pds));
    S2:= ValueWhen( 2, Condition, Ref( H, -pds));
    S3:= ValueWhen( 3, Condition, Ref( H, -pds));

    S1; S2; S3
    Код:
    pds= 6; 
    Condition= Ref(H, -pds) = HHV(H, 2*pds +1) AND Ref(H,-pds) <> Ref(H, -pds -1);
    if Condition then
     begin
      s3=Ref(s2,-1);
      s2=Ref(s1,-1);
      s1=Ref(h,-pds); 
     end else 
     begin
      s1=Ref(s1,-1); 
      s2=Ref(s2,-1); 
      s3=Ref(s3,-1); 
     end;
    s1;
    s2;
    s3;
  90. #85
    Новый человек здесь Аватар для abricOS
    Регистрация
    12.01.2005
    Адрес
    Самарская обл.
    Сообщений
    82
    Поблагодарил(а)
    0
    Получено благодарностей: 0 (сообщений: 0).

    По умолчанию

    Цитата Сообщение от Старцев Роман
    Цитата Сообщение от abricOS
    Роман Александрович, есть какие-нибудь результаты по индикатору настроения?
    Есть
    Код:
    //-----Индекс настроения рынка по Лиховидову-----
    
    Periods=Inparam("Enter Periods",2,13,2); 
    
    body=sqrt((o-c)*(o-c));;
    if (c>=o) then  lshd=o-l; else lshd=c-l;
    if (c>=o) then  ushd=h-c; else ushd=h-o;
    
    ThTop_b=(bollinger_1(body, 55, e)+4*mov(body,55,e))/5;
    ThBot_b=(bollinger_2(body, 55, e)+4*mov(body,55,e))/5;
    ThTop_l=(bollinger_1(lshd, 55, e)+4*mov(lshd,55,e))/5;
    ThBot_l=(bollinger_2(lshd, 55, e)+4*mov(lshd,55,e))/5;
    ThTop_u=(bollinger_1(ushd, 55, e)+4*mov(ushd,55,e))/5;
    ThBot_u=(bollinger_2(ushd, 55, e)+4*mov(ushd,55,e))/5;
    
    //CandleCode_b
    CandleCode_b=0;
    if (c=o) then 
     begin
      if (ushd>=lshd) then CandleCode_b=64; else CandleCode_b=48;
    end; else
     begin
      if (c>o) then
       begin
        if (body<=ThBot_b) then CandleCode_b=CandleCode_b+80;
        if (body>ThBot_b) AND (body <= ThTop_b ) then CandleCode_b=CandleCode_b+96;
        if (body>ThTop_b) then CandleCode_b=CandleCode_b+112;
       end; else
        begin
         if (body<=ThBot_b) then CandleCode_b=CandleCode_b+32;
         if (body>ThBot_b) AND (body<=ThTop_b) then CandleCode_b=CandleCode_b+16;
        end;
     end;
    
    //CandleCode_l
    CandleCode_l=0;
    if (lshd = 0) then CandleCode_l=CandleCode_l+3;
    if (lshd<ThBot_l) AND (lshd>0) then CandleCode_l=CandleCode_l+2;
    if (lshd>ThBot_l) AND (lshd<=ThTop_l) AND (lshd>0) then CandleCode_l=CandleCode_l+1;
    
    //CandleCode_u
    CandleCode_u=0;
    if (ushd>0) AND (ushd<=ThBot_u) then CandleCode_u=CandleCode_u+4;
    if (ushd>ThBot_u) AND (ushd<=ThTop_u) then CandleCode_u=CandleCode_u+8;
    if (ushd>ThTop_u) then CandleCode_u=CandleCode_u+12;
    
    CandlCode=CandleCode_b+CandleCode_l+CandleCode_u;
    
    //Усредненный код свечи ICS 
    Mov( Mov( Mov( CandlCode , Periods, S), Periods, S), Periods, S);
    Огромное СПАСИБО!!!
    Использую с параметром "6".
    Вся человеческая история - пересмотр результатов приватизации.
    В. Пелевин. Священная книга оборотня.
  91. #86
    Новый человек здесь
    Регистрация
    07.01.2005
    Сообщений
    4
    Поблагодарил(а)
    0
    Получено благодарностей: 0 (сообщений: 0).

    По умолчанию

    A`Leks писал(а):
    Роман, есть замечания по формуле для trailing stop... при масштабировании графика ( увеличение-уменьшение масштаба видимого изображения ) линии индикатора оказываются каждый раз в новом положении относительно графика цен.


    А привязать индикатор к гафику цены пробовали???

    Нет, не пробовал, потому что не знаю как.....нужна помощь
  92. #87
    Новый человек здесь
    Регистрация
    19.11.2004
    Адрес
    Нижний Новгород
    Сообщений
    12
    Поблагодарил(а)
    0
    Получено благодарностей: 0 (сообщений: 0).

    По умолчанию

    В обявлении топика:
    -----------------------------------------------------
    Основные особенности языка RuLang:
    - использование переменных (числовых или строковых) и массивов;
    - обращение к параметрам свечек (open, close, low, high) как для текущей свечки, так и несколько шагов вперед или назад;
    - набор встроенных функций и индикаторов, которые можно использовать, в том числе и в качестве основы для дальнейших вычислений;
    - функции-алерты, выдающие сообщения в отдельное окно при наступлении условий, заданных в параметрах фунции;
    - возможность использовать условия, циклы и операторные скобки;
    - возможность настройки цвета и параметров каждой линии в индикаторе;
    - возможность строить гистограммы;
    -----------------------------------------------------
    И в чём же тут особенности? если б этих особенностей небыло б, то RuLang - вообще не язык, в принципе.
    Это не особенности, а минимальные требования.

    Бытует мнение, что язык для торгового терминала(прог. техАнализа) не должен быть лёгким и понятным для каждого трейдера, т.к. если придерживаться этих принципов, то прийдется снижать его возможности.
    На практике. Люди сталкивающиеся впервые со средой программирования, не в состоянии что либо сделать (иногда, даже имея исчерывающее руководство)
    Но. Имея язык, позволяющий широко расширить возможности трейдера, находишь причины, что-бы в нём разобраться, каким бы сложным он нибыл.

    Хочу обратить внимание на MQL 4 и топик ему посвященный. http://forum.fxclub.org/forum/viewtopic.php?t=23116

    Как видно, на вопрос о выходе RuLang2 вы не отвечаете, интересно почему?
    RuLang2 уже разрабатывается или только готовится к разработке?


    ______________________________

    Лучший - лучший во всём !
  93. #88
    Почетный участник Аватар для Старцев Роман
    Регистрация
    06.01.2005
    Адрес
    Красноярск
    Сообщений
    4,590
    Поблагодарил(а)
    48
    Получено благодарностей: 1,271 (сообщений: 1,077).

    По умолчанию

    Цитата Сообщение от Snail
    Как видно, на вопрос о выходе RuLang2 вы не отвечаете, интересно почему?
    RuLang2 уже разрабатывается или только готовится к разработке?
    Альфа версия RUMUS2 появилась в середине декабря.
    А вот когда будет бета или релиз это уже вопросы к разработчикам RUMUS-а, а не к консультанту по RuLang.
  94. #89
    Почетный участник Аватар для Старцев Роман
    Регистрация
    06.01.2005
    Адрес
    Красноярск
    Сообщений
    4,590
    Поблагодарил(а)
    48
    Получено благодарностей: 1,271 (сообщений: 1,077).

    По умолчанию

    Цитата Сообщение от A`Leks
    Нет, не пробовал, потому что не знаю как.....нужна помощь
    Смотрим в справку
    раздел: "Знакомимся с RUMUS" (он первый)
    и там находим "Работа с индикаторами"
    читаем
    далее при установке масштаба (шкалы) выбираем "Присоединить к индикатору" а в качестве индикатора выбираем график цены.
  95. 1 пользователь сказал cпасибо Старцев Роман за это полезное сообщение:

    OMOH (21.12.2010)

  96. #90
    Почетный участник Аватар для Старцев Роман
    Регистрация
    06.01.2005
    Адрес
    Красноярск
    Сообщений
    4,590
    Поблагодарил(а)
    48
    Получено благодарностей: 1,271 (сообщений: 1,077).

    По умолчанию

    Функция округления

    Название индикатора - trunc
    Код:
    inputs : xx;
    res=0;
    while (xx>res) res=res+1;
    if (xx+1-res)*2<1 then res=res-1;
    return res;
  97. #91
    Почетный участник Аватар для Старцев Роман
    Регистрация
    06.01.2005
    Адрес
    Красноярск
    Сообщений
    4,590
    Поблагодарил(а)
    48
    Получено благодарностей: 1,271 (сообщений: 1,077).

    По умолчанию

    Цитата Сообщение от abricOS
    Использую с параметром "6".
    А на каких таймфреймах
  98. #92
    Новый человек здесь
    Регистрация
    27.09.2004
    Сообщений
    58
    Поблагодарил(а)
    0
    Получено благодарностей: 0 (сообщений: 0).

    По умолчанию

    Уважаемый Роман !

    Немогли бы Вы подсказать как организовать параболик в румусе т е есть код для румуса?
  99. #93
    Участник форума Аватар для Говорит Москва!
    Регистрация
    06.01.2005
    Сообщений
    460
    Поблагодарил(а)
    27
    Получено благодарностей: 28 (сообщений: 19).

    По умолчанию

    Ухожу с форума в знак протеста против произвола модераторов.
    Конкретно - Вопрошающего. Он перешёл все границы. Забанил ветку cucumbera. За что? (Они, конечно, объяснят...)

    ДЦ не должен допускать к модерированию таких людей. Это форум ведущего брокера, а не КПЗ в Мухосранске...
  100. #94
    Почетный участник Аватар для Старцев Роман
    Регистрация
    06.01.2005
    Адрес
    Красноярск
    Сообщений
    4,590
    Поблагодарил(а)
    48
    Получено благодарностей: 1,271 (сообщений: 1,077).

    По умолчанию

    Цитата Сообщение от boost
    Уважаемый Роман !

    Немогли бы Вы подсказать как организовать параболик в румусе т е есть код для румуса?
    Я работаю над параболиком уже больше недели - как доделаю обязательно выложу.
  101. #95
    Почетный участник Аватар для Старцев Роман
    Регистрация
    06.01.2005
    Адрес
    Красноярск
    Сообщений
    4,590
    Поблагодарил(а)
    48
    Получено благодарностей: 1,271 (сообщений: 1,077).

    По умолчанию

    Цитата Сообщение от Говорит Москва!
    Залез, чтобы поделиться печальным наблюдением по поводу счётчиков, однако вопрос уже задан:
    Цитата Сообщение от ALGon
    k=1;
    a=cum(k);
    if a>3 then res=hhv(c,a-2);
    res;
    // ----------------------------------
    происходит следующее:
    при a>1 и при a>2 Румус дает правильный ответ. А при a>3 и любом числе, которое больше чем ТРИ, Румус выдает
    горизонтальную линию лежащую на нуле.
    Уважаемый Роман Александрович, ответа, вроде бы, не было.
    ответ был, повторяю его

    уменьшать a лучше вот так
    k = 1 ;
    a = cum(k);
    res = hhv( c, ref(a,-2) ) ;
    res ;


    Цитата Сообщение от Говорит Москва!
    В смысле:
    Код:
    a=ref(a,-1)+1;
    if a>0 then b=a-1;
    a;
    b;
    - получаем два "прямых" графика,
    убираем график 'a',
    Код:
    a=ref(a,-1)+1;
    if a>0 then b=a;
    b;
    - получаем один график - "кривой".
    Выходит, графическое отображение переменных влияет на их значение???

    да в некоторых случаях это бывает
    и из-за этого я еще невыложил сюда "стохастическую установку"

    Цитата Сообщение от Говорит Москва!
    Следующий вопрос: как в RuLang сохранить переменные и массивы? Если не ошибаюсь , такие переменные называются статическими (или глобальными?). Короче, требуется сохранить в постоянной памяти и в дальнейшем использовать в функциях образы ("снимки", "слепки") участков истории. Т.е. НЕ текущего графика.
    Глобальных переменных пока нет.
  102. #96
    Новый человек здесь
    Регистрация
    27.09.2004
    Сообщений
    58
    Поблагодарил(а)
    0
    Получено благодарностей: 0 (сообщений: 0).

    По умолчанию

    Старцев Роман
    Форекс Клуб TEAM

    Я работаю над параболиком уже больше недели - как доделаю обязательно выложу.
  103. #97
    Уважаемый участник Аватар для Ivano
    Регистрация
    23.02.2004
    Адрес
    Москва
    Сообщений
    1,200
    Поблагодарил(а)
    0
    Получено благодарностей: 1 (сообщений: 1).

    По умолчанию

    Добрый день, Роман.
    Возможно ли программирование уровней Фибоначи в Румусе?
  104. #98
    Почетный участник Аватар для Старцев Роман
    Регистрация
    06.01.2005
    Адрес
    Красноярск
    Сообщений
    4,590
    Поблагодарил(а)
    48
    Получено благодарностей: 1,271 (сообщений: 1,077).

    По умолчанию

    Цитата Сообщение от Ivano
    Добрый день, Роман.
    Возможно ли программирование уровней Фибоначи в Румусе?
    Конечно.
    Что именно вас интересует?
  105. #99
    Уважаемый участник Аватар для Ivano
    Регистрация
    23.02.2004
    Адрес
    Москва
    Сообщений
    1,200
    Поблагодарил(а)
    0
    Получено благодарностей: 1 (сообщений: 1).

    По умолчанию

    Цитата Сообщение от Старцев Роман
    Цитата Сообщение от Ivano
    Добрый день, Роман.
    Возможно ли программирование уровней Фибоначи в Румусе?
    Конечно.
    Что именно вас интересует?
    1)Например есть восходящий тренообразующий импульс и после него откат. Линеку Фибоначи нужно привязать следующим образом: 100% на лоу любой свечи из трендообразующего импульса, 0% на хай свечи, который является фокусом этого импульса.

    2) При всём этом должно выбираться то лоу из множества свечей, при котором один из коррекционных фибо узлов ложиться на лоу самого отката восходящего импульса с определённым допуском.

    При всём этом нужно запрогить понятие "тренд и откат", что бы Румус понимал что брать за импульс а что нет....

    Я не очень запутал ?
  106. #100
    Почетный участник Аватар для Старцев Роман
    Регистрация
    06.01.2005
    Адрес
    Красноярск
    Сообщений
    4,590
    Поблагодарил(а)
    48
    Получено благодарностей: 1,271 (сообщений: 1,077).

    По умолчанию

    Цитата Сообщение от Ivano

    При всём этом нужно запрогить понятие "тренд и откат", что бы Румус понимал что брать за импульс а что нет....

    Я не очень запутал ?
    Идея ясна. Нужен алгоритм по которому будем определять "тренд и откат".
  107. 2 пользователей сказали cпасибо Старцев Роман за это полезное сообщение:

    bereg (27.03.2012), Maxb (24.06.2009)

Страница 1 из 104 1234561151101 ... ПоследняяПоследняя

Метки этой темы

Ваши права

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