MaGaDaN
MaGaDaN личный блог
24 августа 2014, 02:59

Вопрос по TSLab

Здравствуйте.
Возникла у меня небольшая загвоздка в написании выражения в формуле(логической), прошу оказать посильную помощь.
Выражение: если свеча падающая тогда закрытие минус минимум и полученное число прибавляем к открытию новой свечи это и есть точка входа в длинную позицию
 у меня в блоке формула выглядить вот так: close[i-1]<open[i-1]? close[i-1]-low[i-1]… а дальше не доходит, как?
 возможно выражение после знака вопрос взять в скобки и сделать вот так  (close[i-1]-low[i-1])+open:0 или :0 

Так же, если сравнивать диапазон между закрытием и открытием свечи и при определенном значении заходитьв позицию, в блоке формула для растущей свечи: close[i-1]-open[i-1]==(сюда вставлять число, не работает, если константу то тоже не фурычит) ==? open или open:0
21 Комментарий
  • finstrateg
    24 августа 2014, 10:20
    close[i-1]<open[i-1]? close[i-1]-low[i-1]+open[i]: 0

    i — это индекс текущей свечи

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

    надо учитывать, что пересчет по интервалу запускается не когда свеча открывается, а когда закрывается, поэтому пересчитано будет только в конце текущей свечи i и пройдет целая свеча пока будет выставлена заявка

    так как открытие текущей обычно не отличается от закрытия предыдущей свечи, проще сделать так для ускорения
    close[i]<open[i]? 2*close[i]-low[i]: 0

    и кстати, точка входа в длинную позицию выше рыночной цены получается — проще по рыночной цене засандалить ))) хотя может так задумано
      • finstrateg
        24 августа 2014, 19:57
        MaGaDaN, я же написал, «открытие текущей обычно не отличается от закрытия предыдущей свечи» поэтому close[i-1]-low[i-1]+open[i] можно заменить на 2*close[i]-low[i], как было написано close[i-1] примерно равно open[i] и их можно сложить, получится 2*close[i] (индекс смещен на единицу)
  • finstrateg
    24 августа 2014, 10:30
    по второй части — возможно требуется блок логическая формула, а не формула, ведь результатом будет логическое выражение а не число, и сравнивать надо со знаком >

    просто в блоке логическая формула напиши
    close[i-1]-open[i-1] > ТвоеЧисло, он вернет истину или ложь

    если нужно число, то надо использовать обычную формулу в которой написать что-нибудь типа
    close[i-1]-open[i-1] > ТвоеЧисло? 1: 0
  • TheRollingStones
    24 августа 2014, 11:45
    эх ребят я ничего против не имею но не легче эти все закрытия в уме держать? на что это все вам?
    • Михаил Пиписькин
      24 августа 2014, 12:07
      TheRolingStones, и мозг подключить напрямую к бирже))
      • Евгений
        24 августа 2014, 13:41
        MaGaDaN, тогда однозначно лучше АмиБрокер.
  • TheRollingStones
    24 августа 2014, 13:06
    ну как то так
  • HPotter
    24 августа 2014, 15:28
    Никогда с этим не работал, но возможно нужно делать что то типа того:
    SignalLong = close[i]<open[i]? close[i]-low[i]: 0
    PriceLong = SignalLong > 0? open + SignalLong: 0
    дальше если PriceLong > 0 то ставим стоплимит на покупку по цене PriceLong.

    Тоже самое для шорта в обратном порядке
  • Студент
    24 августа 2014, 15:41
    да уж, понимаю почему статисты — роботостроители по итогу сливают, нет ЛОГИКИ ТОРГОВЛИ…
      • Студент
        24 августа 2014, 17:44
        MaGaDaN, skype — viapsit
  • Микаелян Саро
    26 августа 2014, 00:08
    честно сказать конкретную задачу сложно уловить было из текста.
    если правильно понял то делается это так:
    Условие? (условие?(условие? Да: нет)): нет): нет и тд и тп, если что так же можно уточнить через личку или в статьях на меня ссылайтесь чтобы сразу увидеть вопросы

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн