Структура рулит. Учимся структурировать программы, изучаем возможности, ошибки, решения и т.п. - страница 15

 
GaryKa:

Дело в том что у топикстартера скорее всего не стратегия, а прогнозатор цены.

Тут поправка.  Прогнозатор не цены, а направления движения цены.  В остальном согласен.

А то о чем вы (C-4) говорите это уже работа модуля Манименеджмента, которому на вход подаются как показания прогнозатора, так и результаты прошлой торговли (своего рода функция). Если ММ нет то финальный алгоритм торговли по сути превратит виртуальную позицию прогназатора (которому по барабану прошлые результаты торговли) в реальную, где будущее напрвление рынка это знак рекомендуемой позиции, а увереность/вероятность пропорциональна объему этой же позиции.

Модуль MM это прослойка между прогназатором и драйвером, и результаты его работы могут быть любыми, от капитализации и ограничения риска (относительная просадка на X ... часов/сделок/пунктов движения ) до радикального переворота рекомендуемой прогназатором позиции.

Можно и так интерпретировать.  Вполне годится.
 
MetaDriver:

Этим роботам нужно однозначно лечиться.  Лечение может быть совсем несложным.  Нужна только мотивация. Это основное.

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

:)

А что нет?  Мне уже извиняться?  Или таки я правильно угадал ход мыслей?  ;-))

Нет, не правильно угадал:) В моей модели нет понятия запомненного сигнала. Все проще, ведь робот может совершить два и только два действия: либо открыть позицию, либо закрыть позицию. ВСЕ, третьего не дано. Позиция может быть либо длинной либо короткой. Если есть длинная позиция - она проверяется на условиях закрытия длинной позиции, если есть короткая позиция она проверяется на условия закрытия короткой позиции. Схема предельно проста:

//Событие, наступил новый бар
protected void OnNextBar()
{
   //Проверяем условия открытия длинной позиции
   InitBuy();
   //Проверяем условия открытия короткой позиции (последовательно неважна)
   InitSell();
   //Если есть короткая позиция, проверяем ее на условия закрытия
   if(ShortPosition.Active)
      SupportSell();
   //Если есть длинная позиция, проверяем ее на условия закрытия
   if(LongPosition.Active)
      SupportBuy();
}

Все! Никто ничего не запоминает, а работает только с тем, что есть в текущий момент.

 
GaryKa:

Дело в том что у топикстартера скорее всего не стратегия, а прогнозатор цены.

А то о чем вы (C-4) говорите это уже работа модуля Манименеджмента, которому на вход подаются как показания прогнозатора, так и результаты прошлой торговли (своего рода функция). Если ММ нет, то финальный алгоритм торговли, по сути превратит виртуальную позицию прогназатора (которому по барабану прошлые результаты торговли) в реальную, где будущее напрвление рынка это знак рекомендуемой позиции, а увереность/вероятность пропорциональна объему этой же позиции.

Модуль MM это прослойка между прогназатором и драйвером, и результаты его работы могут быть любыми, от капитализации и ограничения риска (относительная просадка на X ... часов/сделок/пунктов движения ) до радикального переворота рекомендуемой прогназатором позиции.

ММ это изменение объема. Переворот (любой) ни каким боком не относится к ММ.
 
MetaDriver:

Этим роботам нужно однозначно лечиться.  Лечение может быть совсем несложным.  Нужна только мотивация. Это основное.

Что-то больно много роботов придется лечить. А может быть просто схема не универсальна, и не подходит для всех случаев. 
 
C-4:

Что-то больно много роботов придется лечить.

Мне не придётся, я сразу здоровых делаю.  И что характерно - их делать проще чем больных. Можете проверить.  Нужно только сменить парадигму.   Собсно на этом месте и пробуксовка.


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

Обожаю демократию, но истина таки дороже.  Схема даже ещё универсальнее чем кажется на первый взгляд.  ;-)))
 
Я прекрасно разбираюсь в неттинге (сам себя не похвалишь - никто не похвалит:))), даже в свое время опубликовал статью посвященную проблематики мульти-экспертов. Вот уже несколько лет торгую на бирже РТС, где только неттинг и есть. По мимо MetaTraderа работаю еще с несколькими чисто биржевыми терминалами (Quick не в счет). И что? А то, что у этих чисто биржевых терминалах есть простое понятие позиция. Этих позиций может быть много, и они могут быть направленными в разные стороны. Нет правильного и нет неправильного мышления. Есть удобное мышление, и оно то и должно победить!
 
C-4:

Нет, не правильно угадал:) В моей модели нет понятия запомненного сигнала. Все проще, ведь робот может совершить два и только два действия: либо открыть позицию, либо закрыть позицию. ВСЕ, третьего не дано. Позиция может быть либо длинной либо короткой. Если есть длинная позиция - она проверяется на условиях закрытия длинной позиции, если есть короткая позиция она проверяется на условия закрытия короткой позиции. Схема предельно проста:

Все! Никто ничего не запоминает, а работает только с тем, что есть в текущий момент.

Подыгрывать не буду. ;)

Куда девать всё вот это:

Как неважно!? Да в любой стратегии на уровне ее логики всегда известно ее текущее состояние! Возьмем простую стратегию на пересечении двух средних: у нее только два состояния, она либо в покупке либо в продаже. Без запоминания своей позиции, она будет открывать длинную позицию, всякий раз, когда увидит что быстрая средняя находится выше медленной. И что делать синхронизатору? Говорить ей: "нет, у тебя уже есть длинная позиция, открыть еще одну не дам!"

В этом случае придется где-то хранить историю отработанных сигналов, что очень накладно. Снова обратимся к пересечению 2 средних. Допустим, мы перезапустили советник. Нового пересечения на вход нет, советник каким-то образом должен восстановить свою историю сделок и понять, что раньше было пересечение и что сейчас он должен находится в состоянии покупки, и что этот сигнал им был уже отработан и новую позицию открывать не надо, а надо найти свою старую позицию, но ее просто так не найти, потому что текущая позиция не обязательно принадлежит только ему одному...  В общем кошмар кошмарный...............
Это все конечно очень хорошо, но что делать стратегиям, чья текущая "рекомендация" зависит от ранее открытой позиции. Допустим стратегия активно пирамидит и в ней такое условие (псевдокод):

:-)

Я ответил на все эти аргументы.  А теперь оказывается что всего этого вообще не было?

А у меня все ходы записаны..!

;-)))

 
C-4: ММ это изменение объема. Переворот (любой) ни каким боком не относится к ММ.

ММ - это управление деньгами.

  • - если у вас было 5 контрактов, а стало 2. То вы уменьшили позицию на 3 контракта - это MM.     Да  
  • - если у вас было 3 контракта,  а стало -1. То вы уменьшили позицию на 3 контракта - это MM.     ?????      Да. это MM.       Переворот был?     Да был.  

... и результаты его работы могут быть любыми, ...  до радикального переворота рекомендуемой прогназатором позиции.

Смотрите, анализатор/прогназатор/мозг/сосед рекомендуют прикупить активов. Ваш модуль ММ помнит (накопил статистику) что эти рекомендации последнее время часто лажают (уже пробили порог доверия). Логично сделать всё наоборот, он это и делает. Просто функция ММ  чуть более изощренная, как поведение инвестора. 

P.S. Трудно человеку перейти на неттинг, страшно ему и непонятно, как так, открытие и закрытие ордеров, тейк профиты и стоп лосы, количество сделок - всё исчезает. Остается только одна позиция (одно число болтающееся возле нуля), и необходимость её поддерживать. Просто и ясно.

 
GaryKa:

P.S. Трудно человека перевести на нетинг, страшно ему и непонятно, как так, открытие и закрытие ордеров, тейк профиты и стоп лосы, количество сделок - всё изчезает. Остаеться только одна позиция (одно число болтающееся возле нуля), и необходимость её поддерживать. Просто и ясно.

++
 
GaryKa:

ММ - это управление деньгами.

  • - если у вас было 5 контрактов, а стало 2. То вы уменьшили позицию на 3 контракта - это MM.     Да  Неизвестно было уменьшение связано с формулой управления капиталом или нет. Поэтому ответить однозначно нельзя.
  • - если у вас было 3 контрактов а стало -1. То вы уменьшили позицию на 3 контракта 4 контракта - это MM.     ?????      Да. это MM.       Переворот был?     Да был.   

Смотрите, анализатор/прогназатор/мозг/сосед рекомендуют прикупить активов. Ваш модуль ММ помнит (накопил статистику) что эти рекомендации последнее время часто лажают (уже пробили порог доверия). Логично сделать всё наоборот, он это и делает. Просто функция ММ  чуть более изощренная, как поведения инвестора. 

P.S. Трудно человеку перейти на неттинг, страшно ему и непонятно, как так, открытие и закрытие ордеров, тейк профиты и стоп лосы, количество сделок - всё изчезает. Остается только одна позиция (одно число болтающееся возле нуля), и необходимость её поддерживать. Просто и ясно.

Нет, нет и еще раз нет!!!!!!!!!!!!!!!! По этой логике простой переворот стратегии на скользящей средней - это тоже MM. А что, был +1 контракт, а стал -1.
Причина обращения: