как помочь советнику "увидеть" момент резкого движения цены, когда это еще происходит - без запаздывания

 

Не секрет, что иногда (например после выхода какой-либо новости), происходит резкое сильное движение по
валютным парам,  вот 29 октября вечером после  выхода сообщения от ФРС, по парам связанным с долларом цена резко изменилась
на довольно большое значение (по счетам с 4 знаками после запятой, примерное на 150 пунктов).
Конечно лучше в такое время не торговать, но не всегда заранее известно, что будет такая-то новость, поэтому хочется как-то учитывать и такой вариант.
Как на программном уровне "поймать", определить в коде, что именно сейчас происходит резкое движение
и его направление т.е. не тогда, когда оно свершилось, а индикаторы обычно имеют запаздывание, а что сейчас происходит,
чтобы учесть это движение в логике работы советника.

возможно какой-то индикатор есть (без запаздывания) или как-то определить текущую "силу" одной валюты перед другой или еще как-то - как ?

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

 
alnev:
Можно предвидеть без индикаторов, например, есть параметр StopLevel. Как правило, перед важными новостями, за 1-15 минут, брокеры увеличивают это значение. После прекращения движения уменьшают.
 
MarketInfo(Symbol(),MODE_STOPLEVEL);
 

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

а если изменение происходит незапланированно, как его отследить

 
alnev:

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

а если изменение происходит незапланированно, как его отследить

Этот параметр меняется тогда, когда опасно. Низкая ликвидность это тоже опасно, возможны неожиданные движения. А если движение не запланировано, то никак.
 
нашел интересный  индикатор - спидометр. жаль кода не его нашел, но логика работы примерно понятна. пока попробую иначе проанализировать данные движения для своих целей. позже, возможно, попробую что-то подобное сделать, как в спидометре, если  другой вариант не понравится по результату.
 
А сравнить изменение цены за промежуток времени?
 
некоторые дц спред перед движением расширяют
 
papaklass:

Можно несколькими способами:

1. Высчитываете средний размер свечи за последние N свечей. И если размер текущей свечи в разы (>4) превышает средний размер, то на рынке происходит сильное движение.

2. Изменение цены от времени:

    - на сколько пунктов цена вырастает/падает за N секунд. При сильном движении будет расти количество пройденных пунктов;

    - за сколько секунд цена проходит расстояние в 20 пунктов. При сильном движении количество секунд будет уменьшаться.

Можно, на основе предложенных вариантов, написать индикатор. Этот индикатор не будет запаздывающим.

спасибо за совет. буду держать в голове. пока реализовал иным способом, но данные варианты  я думаю, тоже потом проверить можно будет- какой будет более оптимальным.
 
Количество однонаправленных движений цены по сравнению с разнонаправленными за маленький временной нестандартный период, к примеру за 10 секунд. Лучше отслеживать индикатором.
 
_new-rena:
Количество однонаправленных движений цены по сравнению с разнонаправленными за маленький временной нестандартный период, к примеру за 10 секунд. Лучше отслеживать индикатором.
Работал в этом направлении. Писал тики в массив. Разницу во времени меж соседними тиками и разницу в их цене. Ну, и далее всё просто... Можно хоть машки разнопериодные на массивы накладывать, хоть напрямую считать скорость и силу, да в какую сторону.
Причина обращения: