Forex Strategy Trader - визуална платформа за автоматична търговия през Metatrader. Изпълнява форекс стратегии и ръчни търговски операции.
Forex Strategy Builder - мощен и бърз форекс тестер, включващ автоматичен генератор на стратегии, оптимизатор, скенер и над 100 технически индикатора. Програмите са на разположение за изтегляне от ForexStrategyBuilder.com - сайта на български за безплатен форекс софтуер.
May 28th, 2009 | Tags:

Наскоро бях помолен да напиша стратегия, която отваря позиция в момента на пресичането на два индикатора. Тази задача не е трудна за изпълнение, а и нейната логика е доста интересна. Сега ще обясня защо:

Пресичане на два индикатора Momentum

Нека да разгледаме пресичане на два индикатора Momentum: Fast Momentum (10) и Slow Momentum (20)

Формулата за изчисляване на индикатора Momentum е:

Momentum(10) = Price – Price10

Където:
Momentum(10) – е текущия Momentum;
Price е текущата базова цена;
Price10 е базовата цена от преди 10 бара.

Двата индикатора Momentum се пресичат, когато са изпълнени следните две условия:

  1. Fast Momentum (10)1 < Slow Momentum (20)1 – Sigma; и
  2. Fast Momentum (10) > Slow Momentum (20) + Sigma.

Тук Fast Momentum (10)1 и Slow Momentum (20)1 са стойностите на Momentum от предишния бар, а Sigma е допустима грешка при сравняване на числа с плаваща запетая.

С първото логическо условие няма проблем – просто сравняваме стойностите на индикаторите от предишния бар. По-интересно е второто условие. Нека да го преобразуваме малко:

Fast Momentum (10) > Slow Momentum (20) + Sigma
Fast Momentum (10) – Slow Momentum (20) > Sigma
Price – Price10 – (Price – Price20) > Sigma
Price – Price10 – Price + Price20 > Sigma
Price20 – Price10 > Sigma

Виждаме, че това логическо условие не зависи от текущата базова цена, тъй като тези базови цени за двата индикатора се нулират взаимно. Пресичане на двата Momentum може да се отчете при смяна на бара, защото тогава се сменят и цените Price10 и Price20. Тоест, цената, при която се получава пресичането на два индикатора Momentum, е цената на отваряне на бара. Това означава, че и цената на отваряне на позицията ще е цената на отваряне на бара.

Тази логика лесно може да се тества с Forex Strategy Builder. За целта ще използваме индикатора Oscillator of Momentum* (Simple, Close, 10, 20). Този осцилатор сравнява два индикатора Momentum. Единия с период 10 а другия с период 20. Когато Oscillator of Momentum пресича нулевата линия в посока нагоре, това означава, че Fast Momentum пресича Slow Momentum (20) в посока нагоре.

momentum_oscillator

momentum_crossover

При тази стратегия, пресичането на двата индикатора Momentum служи за филтър, който дава разрешение за отваряне на позиция в съответната посока. Самата позиция се отваря на цена Bar Opening.

Пресичане на два индикатора Simple Moving Averages

При индикатора Simple Moving Averages положението е малко по-различно. Формулата за MA е:

MA(n) = (Price + Price1 + Price2 + … + Pricen-1 + Pricen) / n

Тоест събираме базовите цени за последните “n” бара и ги делим на “n”.

Тази формула може да се напише и като:
MA(n) = MA1 + Price / n – Pricen+1 / n

За да отчетем пресичане на две MA, използваме същата логика.

  1. FastMA(m)1 < SlowMA(n)1 – Sigma; и
  2. FastMA(m) > SlowMA(n) + Sigma.

Нека пак да развием второто условие:

FastMA(m) > SlowMA(n) + Sigma
FastMA(m) – SlowMA(n) > Sigma
FastMA(m)1 + Price / m – Pricem+1 / m – SlowMA(n)1 – Price / n + Pricen+1 / n > Sigma
Price / m – Price / n + FastMA(m)1 – SlowMA (n)1 + Pricen+1 / n – Pricem+1 / m > Sigma
(n*Price – m*Price) / (m*n) > Sigma – FastMA(m)1 + SlowMA (n)1 – Pricen+1 / n + Pricem+1 / m
Price > (Sigma + SlowMA (n)1 – FastMA(m)1 + Pricem+1 / m – Pricen+1 / n) * (n * m) / (n – m)

От тук можем лесно да определим базовата цената, при която двата индикатора Moving Average са равни и при какви стойности на базовата цена двете Moving Average се пресичат.

Две Moving Average са равни, когато текущата цена е:

Critical Price = (SlowMA(n)1 – FastMA(m)1 + Pricem+1 / m – Pricen+1 / n) * (n * m) / (n – m)

Където:

Critical Price е критичната цена, при която двете МА се изравняват;
FastMA(m)1 е предишната стойност на бързата МА;
SlowMA(n)1 е предишната стойност на бавната МА;
m е периода на бързата МА;
n e периода на бавната МА;

Ако искаме да търгуваме, когато двете Moving Average се пресичат, то трябва да поставяме нашия входящ ордер на критичната базова цена. Въпросът е каква е тази базова цена и дали знаем нейната коректна стойност в момента на пресичане на двата индикатора.

Нека да разгледаме три случая, когато Moving Average е базирана на: Open Price, Close Price и Median Price (High + Low) / 2.

Moving Average базирана на Open Price

В този случай, ние категорично знаем цената на отваряне на бара. Тя е неизменна по време на целия бар. Следователно двете Moving Average са неизменни по време на самия бар. Ако те не са се пресекли в момента на отварянето на бара, те няма да се пресекат и по-късно. Пресичане на двете Moving Average може да се засече в момента на отваряне на бара. Това означава, че и позицията ни ще се отваря в началото на бара, ако има пресичане разбира се.

Тази стратегия се тества с помощта на Forex Strategy Builder, като се слага Opening Point of the position – Bar Opening и Opening Logic Condition – Moving Average Crossover:

ma_crossover

ma_crossover_str

Moving Average базирана на Close Price

В този случай двата индикатора FastMA и SlowMA са равни на сумите на затварящите цени, разделени на съответните периоди. Тук е очевидно, че ни трябват крайните цени на съответните барове,за да изчислим индикаторите коректно. След като MA се изчисляват на Bar Close Price, то това означава, че коректното определяне, кога двата индикатора се пресичат, може да стане в момента на затваряне на бара. Съответно и позицията ще се отваря в момента на затваряне на бара:

ma_crossover_close

ma_crossover_str_close

Moving Average базирана на Median Price

Тук ситуацията е аналогична с предния случай. Индикаторът Moving Average използва Median Price, която е равна на (High + Low) / 2.
Цените High и Low не са известни в началото или по време на бара. Те са категорично определени в момента на затваряне на текущия бар. Следователно, самото пресичане на двата индикатора се отчита в края на бара. Това означава, че и цената на отваряне на позицията трябва да е цената на затваряне на бара.

Това важи и за други базови цени: Typical и Weighted.

Използване на други цени на отваряне на позицията

С помощта на Forex Strategy Builder можете да тествате безопасно и логически вярно стратегии, които откриват позиции при пресичането на два индикатора. В тези случаи самото пресичане на индикаторите е входящ филтър. Той дава разрешение за отваряне на позиция в определената посока (в зависимост от посоката на пресичането).

За да се гарантира коректността на бектеста, Forex Strategy Builder автоматично настройва параметъра „Use previous bar value” на съответния индикатор. По този начин историческия тест се извършва само с коректни (известни) цени. Тоест програмата не поглежда в бъдещето, за да види каква е цената на затваряне на бара още в неговото начало.

Ето пример на стратегия, която използва пресичането на две МА за входящ сигнал, а позицията се отваря на цената на по-бавната MA. Тъй като пазара може да достигна до цената на отваряне на позицията (бавната МА) по време на бара, ние трябва да имаме ясен критерий дали да отворим позиция и каква да е нейната посока. Това се определя от пресичането на двете MA – Fast MA(10) и Slow MA(20). Единствения начин това да стане коректно е да използваме предишните (вече известни) стойности на индикаторите. Затова параметъра „Use previous bar value” е включен.

correct_upbv

Примерна сделка при пресичане

Нека да разгледаме стратегията на отваряне на позиция при пресичане на две МА:
бавна Simple Moving Average(Close, 50) и бърза Simple Moving Average(Close, 7).

Ще купуваме, когато бързата МА пресече бавната МА в посока нагоре и ще продаваме, когато бързата МА пресече бавната МА в посока надолу. Ще затваряме позицията си в края на деня.

mt_crossover_morning

На 22 януари 2008г. в момента на отваряне на новия бар, виждаме, че МА(7) е пресякла МА(50) в посока надолу. Бързата МА(7) е с 10 пипса под бавната МА(50).

Съгласно логиката за откриване на позиция на стратегията ни, ние отваряме къса позиция на пазарната цена в момента – 1.4455.

mt_crossover_evening

По време на деня цената расте на горе и денят затваря на цена 1.4627. Ние затваряме нашата къса позиция на цена 1.4627. Загубата от позицията ние е 172 пипса без отчитане на спреда.
Ако погледнем сага двете Moving Averages ще видим, че те не се пресичат. Бързата МА(7) е с 12 пипса по-висока от бавната МА(50).

Защо тогава сме загубили 172 пипса, като явно даже не е трябвало да отваряме позиция? Ако тестваме тази стратегия на исторически данни, такава сделка няма да има. Просто двете МА не се пресичат.

По този начин теста ще покаже по-оптимистични данни за стратегията.

Обяснението на тази на пръв поглед измама е много просто. По време на отварянето на бара, търговската платформа показва, че двата индикатора се пресичат. Те обаче не са коректно изчислени в този момент. Бързата МА(7) е изчислена на база на предходните 6 цени Close и на текущата цена Open. Това не е МА изчислена на база на 7 цени Close, както трябва да бъде. Същото важи и за бавната МА. В началото на бара ние сме сравнявали две недоразвити МА.

Окончателните стойности на индикаторите се появяват в края на бара и там би трябвало да вземем решение за търговия а не в началото му, както сме направили в действителност.

Заключение

Използването на правилните стойности на индикаторите е изключително важно за правилния исторически тест. Много от разпространените платформи показват текущите стойности на индикаторите дори и когато тези индикатори са базирани на Price Close.

Лесно е да се разбере, че ако на пример една Moving Average се изчислява на Price Close, стойността, която виждаме по обяд, няма как да е коректната стойност на индикатора. Тази стойност ще се промени до края на бара.

mt_current_price

Това изображение е от популярна форекс платформа и е записано в 13:35. Виждаме, че програмата показва цена Close = 1.3892 и MA(14) = 1.3752. Това обаче не са реалните стойности на затваряне, а моментни. Те се променят при всеки тик. Тези стойности могат да се използват при търговия на живо, но в никакъв случай не трябва да се използват при исторически тест. Просто този тест няма да е реален.

Можете да търгувате стратегия, която отваря позиция при пресичането на два индикатора, но за да я тествате коректно, трябва точно да определите цената на вход. Примерно Moving Average, Bollinger Band, Bar Opening или някаква друга.

May 27th, 2009 | Tags:

Утре – 28.o5.2009 в Мол Варна ще се проведе среща на симпатизантите на г-ца Валерия Петрова.

Срещата ще е в 19:30 на партера на Мол Варна. Предполага се, че г-ца Петрова също ще присъства.

May 27th, 2009 | Tags:

Вече можем да се подпишем в подкрепа на г-ца Валерия Петрова.

251207-big

Това е цитат на писмо, в което се обявява началото на подписката:

..

Здравейте отново,

Както Ви обещах, изпращам Ви информация за събирането на подписите.

Инициативният комитет вече е регистриран и събирането на подписите започва утре – сряда, 27.05.2009 г. Всеки ден след 11.00 ч ще бъдем в МАLL Варна (на партера, вляво от входа, точно до асансьорите) и пред ресторант „BODEGA”, ул. Сливница №9 (пешеходната алея срещу Фестивалния комплекс). Още веднъж   Ви благодаря! Oчаквам Ви и разчитам на Вашата    подкрепа. (Необходимо е до 13 юни да съберем 10 000 подписа на хора с постоянен адрес във Варненски избирателен район)

Поздрави,
Валерия

May 13th, 2009 | Tags:

Днес 13.05.2009 в Шоуто на Слави беше предложено да се издигне г-ца Валерия Петрова за парламентарен кандидат от Варна.

Целта на това начинание е да се покаже на “народните” избраници, че ние – хората от България можем да отстоим нашето желание за мажоритарен вот по начина, по който предпочитаме.

February 28th, 2009 | Tags:

usdchf-123-top

On the chart above you can see that USDCHF rallied but when the rally lost steam a bearish engulfing pattern occured. This was a sign of trouble for the bulls. After a correction the market made another attempt for new highs but it failed and two spinning tops occured. This completed a 1-2-3 top and we placed sell order below the lows of the spinning tops @ 1.1838. You could place the order below point 2 also. As you can see a huuuge sell off followed and profit of 150+ pips could be made easily.

February 25th, 2009 | Tags:

eurusd-2b3

EUR/USD breaks below the previous lows 1.2700 and 1.2697. This is e very strong support level and we can expect a retracement. We place a buy order @ 1.2702 and stop loss @ 1.2688. As you can see a nice 40 pips profit could be made in the first 30 minutes.

February 25th, 2009 | Tags:

eurusd-cci1

Today we wil show you how you can combine indicators and candlesticks patterns. The price is below 50MA and CCI is below 0 which means that the market is trending down and we should prefer the sell signals. The price retraces and tests teh 50 MA and at the sime time CCI shows up above the 0 line. Tou can see a hanging man candlesticks reversal patterns on the shart also. We place a sell order below the low of this pattern @ 1.2801 and stop loss @ 1.2835. A sell off follows and we can make profit from 30 to 110 pips.

February 24th, 2009 | Tags:

usdjpy-ma

For the last few days USD/JPY is in uptrend which is confirmed by the MACD and the MAs. One of the best tools for following of trend moves are the Moving averages. On the chart above you can see how we can use tests of the 20 period MA for set ups. We place buy orders above the hihgs of the signal candles. If we trail the move with stops below the 20 period MA you can see that the second signal generates 140 pips profit so far.

February 23rd, 2009 | Tags:

usdjpy-momentum

Today we will show you a nice momentum trade with USD/JPY. We will use 30 minutes chart because the lower time frames give a lot of fake signals. You can see a break after the market opens but we ignore it because the liquidity is very low. Before the European market opens the Momentum breaks the suignal line upwards. We place a buy order above the hi of the sugnal candle @ 93.08. A nice rally follows and we move our stop below the lows of the 30 minutes candles. At 1-:30 GMT a doji forms on the chart and we close the positin for 65 pips profit.

February 20th, 2009 | Tags:

eurusd-2b2

Another good example of our favorite 2B set up. EUR/USD makes new low @ 1.2557. At the same time CCI is below 110 and shows oversold market. We place a buy stop order above the previous low @ 1.2568 and a protective stop loss @ 1.2554. A nice profit of 80 pips could be made.