<<
>>

Приложение 2. Коды торговых систем и индикаторов для программы TradeStation

Все коды для программы TradeStation были адаптированы Роном Хадсоном (www.symmetrading.com). Все вопросы и замечания для кодов систем на языке EasyLanguage® программы TradeStation, посылать на email: jsumma264@cs.com.
Рон Хадсон (Ron Hudson) или Джон Самма (John Summa) не берут на себя ответственность за ошибки в кодах. Пожалуйста, проверьте все коды, посещая сайт TradingAgainstTheCrowd.com.

Осциллятор сентимена, функция (Sentiment Oscillator Function)

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

Входные параметры: Входными параметрами являются периоды для расчета «быстрой» скользящей средней линии и «медленной» скользящей средней линии.

Значения входных параметров для расчета «быстрой» скользящей средней линии и «медленной» скользящей средней линии использовали соответственно 5/21, 10/21, 21/50, 50/100.

Inputs: FastAvgLength(numeric), SlowAvgLength(numeric), Price(numeric);

Varables: nSlowXMA(0), nFastXMA(0);

nFastXMA = XAverage(Price, FastAvgLength);

nSlowXMA = XAverage(Price, SlowAvgLength);

SentimentOsc = ((nFastXMA - nSlowXMA)/(nSlowXMA)) * 100;

Осциллятор сентимента, индикатор (Sentiment Oscillator Indicator)

Входные параметры: Входными параметрами являются периоды для расчета «быстрой» скользящей средней линии и «медленной» скользящей средней линии. Значения входных параметров для расчета «быстрой» скользящей средней линии и «медленной» скользящей средней линии использовали соответственно 5/21, 10/21, 21/50, 50/100. Индикатор используется на графиках с дневным масштабом данных для определения сентимента, который имеет те же параметры и для

второго ряда данных.

Inputs: FastAvgLength(5), SlowAvgLength(21);

Plotl (SentimentOsc(FastAvgLength, SlowAvgLength, Close), ("SentimentOsc");

Торговая система - Игра на Сжатие 1 (SQUEEZE PLAY I)

// Входные параметры: Периоды расчета двух экспоненциальных скользящих средних линий

Inputs: FastAvgLength(5), SlowAvgLength(21);

// Коды используемых переменных для сигналов Бычьих/Медвежьих кондиций

Variables: bBullishSignal(False), bBullExit2(False) bBearExit2(False); bBearishSignal(False);

// Пропуск первого бара на графике для устранения ошибки деления на

ноль

If BarNumber > 1 Then Begin

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

bBullishSignal = False;

bBearishSignal = False;

bBullExit2 = False;

bBearExit2 = False;

// Условия бычьего сигнала, если вчерашнее значение индикатора Sentiment Oscillator отрицательное, однако значение индикатора Sentiment Oscillator за предыдущий день было положительное

// Условия медвежьего сигнала, если вчерашнее значение индикатора Sentiment Oscillator положительное, однако значение индикатора Sentiment Oscillator за предыдущий день было отрицательное

bBullishSignal = (SentimentOsc(FastAvgLength, SlowAvgLength,

Close of Data2)[1] < 0 And SentimentOsc(FastAvgLength, SlowAvgLength, Close ofData2) [2] > 0) ; bBearishSignal = (SentimentOsc(FastAvgLength,

SlowAvgLength, Close of Data2)[1] > 0

And SentimentOsc(FastAvgLength, SlowAvgLength, Close

ofData2) [2] < 0);

// Открытие длинной позиции при наличии бычьего сигнала и условии, что сегодняшняя цена закрытия торговой сессии выше вчерашнего высшего значения торговой сессии

If bBullishSignal And Close > High[1] Then Buy Next Bar On Open;

// Открытие короткой позиции при наличии медвежьего сигнала и условии, что сегодняшняя цена закрытия торговой сессии ниже вчерашнего низшего значения торговой сессии

If bBearishSignal And Close < Low[1] Then Sell Short Next Bar on Open;

// Дополнительные условия закрытия позиций, основанные на значениях индикатора Sentiment Oscillator с периодами 21/50

bBullExit2 = (SentimentOsc(21,50,High of Data2[1] < 0

And SentimentOsc(21,50,High of Data2)[2] > 0;

bBearExit2 = (SentimentOsc(21,50,Low of Data2[1] > 0

And SentimentOsc(21,50,Low of Data2)[2] < 0;

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

If MarketPosition = 1 And (bBearishSignal or bBullExit2) Then Sell Next Bar On Open;

If MarketPosition = -1 And (bBullishSignal or bBearExit2)Then BuyToCover Next Bar On Open;End;

Торговая система - Цунами Сентимента (TSUNAMI SENTIMENT WAVE)

Примечание: Система применяется на двух ценовых рядах данных одновременно.

// Входные параметры: Периоды расчета двух экспоненциальных скользящих средних линий

Inputs: FastAvgLength(21), SlowAvgLength(50);

// Коды используемых переменных для сигналов Бычьих/Медвежьих кондиций

Variables: bBullishSignal(False), bBearishSignal(False);

// Пропуск первого бара на графике для устранения ошибки деления на

ноль

If BarNumber > 1 Then Begin

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

bBullishSignal = False;

bBearishSignal = False;

// Условия бычьего сигнала, если вчерашнее значение индикатора Sentiment Oscillator выше значения 10

// Условия медвежьего сигнала, если вчерашнее значение индикатора Sentiment Oscillator ниже значения -10

bBullishSignal = (Highest SentimentOsc(FastAvgLength, SlowAvgLength, Close of Data,2),1 > 10);

bBearishSignal = (Lowest SentimentOsc(FastAvgLength, SlowAvgLength, Close of Data,2),1 < -10);

// Открытие длинной позиции по завтрашней цене открытия торговой сессии, если выполнены условия бычьего сигнала

If bBullishSignal Then Buy Next Bar On Open;

// Открытие короткой позиции по завтрашней цене открытия торговой сессии, если выполнены условия медвежьего сигнала

If bBearishSignal Then Sell Short Next Bar on Open;

// Закрытие позиций по цене закрытия торговой сессии в день открытия их (для однодневной позиции)

If MarketPosition = 1 Then Sell This Bar On Close;

If MarketPosition = -1 Then BuyToCover This Bar On Close;

End;

Торговая система - Индекс интенсивности медвежьих новостей (BEAR NEWS FLOW INTENSITY INDEX)

Примечание: Система применяется на двух ценовых рядах данных одновременно.

// Входные параметры: Периоды расчета двух экспоненциальных скользящих средних линий

Inputs: FastAvgLength(4), SlowAvgLength(8);

// Коды используемых переменных для сигналов Бычьих/Медвежьих кондиций

Variables: bBullishSignal(False), bBearishSignal(False);

// Пропуск первого бара на графике для устранения ошибки деления на

ноль

If BarNumber > 1 Then Begin

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

bBullishSignal = False;

bBearishSignal = False;

// Условия бычьего сигнала, если значение индикатора Sentiment Oscillator за последние 2 дня выше значения 5

// Условия медвежьего сигнала, если значение индикатора Sentiment Oscillator за последние 2 дня ниже значения -5

bBullishSignal = (Highest(SentimentOsc(FastAvgLength, SlowAvgLength, Close of Data2), 2) > 5);

bBearishSignal = (Lowest(SentimentOsc(FastAvgLength,

SlowAvgLength, Close of Data2), 2) < -5);

// Открытие длинной позиции по завтрашней цене открытия торговой сессии, если выполнены условия бычьего сигнала

If bBullishSignal Then Buy Next Bar On Open;

// Открытие короткой позиции по завтрашней цене открытия торговой сессии, если выполнены условия медвежьего сигнала

If bBearishSignal Then Sell Short Next Bar on Open;

// Закрытие позиций по цене закрытия торговой сессии *

If MarketPosition = 1 Then Sell This Bar On Close;

If MarketPosition = -1 Then BuyToCover This Bar On Close;

End;

*Это должно быть запрограммировано для закрытия позиции по временному фактору с периодами: Дата открытия позиции +30, +60 и +90 дней соответственно.

Торговая система - Экспертное мнение (ADVISORY OPINION)

Для AAII и Investors Intelligence, % медвежьих.

Примечание: Система применяется на двух ценовых рядах данных одновременно.

// Входные параметры: Периоды расчета двух экспоненциальных скользящих средних линий

Inputs: FastAvgLength(1), SlowAvgLength(4);

// Коды используемых переменных для сигналов Бычьих/Медвежьих кондиций

Variables: bBullishSignal(False),

bBearishSignal(False);

// Пропуск первого бара на графике для устранения ошибки деления на ноль If BarNumber > 1 Then Begin

// Сброс признака переменных и обновление его каждый торговый день bBullishSignal = False; bBearishSignal = False;

// Условия бычьего сигнала, если значение индикатора Sentiment Oscillator выше значения 5 по цене закрытия предыдущей торговой сессии

// Условия медвежьего сигнала, если значение индикатора Sentiment Oscillator ниже значения -5 по цене закрытия предыдущей торговой сессии

bBullishSignal = (SentimentOsc(FastAvgLength,

SlowAvgLength, Close of Data2)[1] > 5);

bBearishSignal = (SentimentOsc(FastAvgLength,

SlowAvgLength, Close of Data2)[1] < -5);

// Открытие длинной позиции по завтрашней цене открытия торговой сессии, если выполнены условия бычьего сигнала и сегодняшняя цена закрытия торговой сессии выше вчерашней высшей цены

If bBullishSignal And Close > High[1] Then Buy Next Bar On Open;

// Открытие короткой позиции по завтрашней цене открытия торговой сессии, если выполнены условия медвежьего сигнала и сегодняшняя цена закрытия торговой сессии ниже вчерашней низшей цены

If bBearishSignal And Close < Low[1] Then Sell Short Next Bar on Open;

// Закрытие длинной позиции по цене закрытия торговой сессии, если значение

индикатора Sentiment Oscillator ниже нуля на закрытии предыдущей торговой сессии и цена закрытия торговой сессии ниже вчерашней низшей цены

If MarketPosition = 1 And SentimentOsc(FastAvgLength,

SlowAvgLength, Close of Data2)[1] < 0

And Close < Low[1] Then Sell This Bar On Close;

// Закрытие короткой позиции по цене закрытия торговой сессии, если значение индикатора Sentiment Oscillator выше нуля на закрытии предыдущей торговой сессии и цена закрытия торговой сессии выше вчерашней высшей цены

If MarketPosition = -1 And SentimentOsc(FastAvgLength,

SlowAvgLength, Close of Data2)[1] > 0

And Close > Highf[1] Then BuyToCover This Bar On Close;

End;

Примечание: Используется недельный масштаб данных.

Торговая система - Экспертное мнение 2 (ADVISORY OPINION 2)

Для Market Vane’s Bullish Consensus Index (для индекса S&P 500).

Примечание: Система применяется на двух ценовых рядах данных одновременно.

// Входные параметры: Периоды расчета двух экспоненциальных скользящих средних линий

Inputs: FastAvgLength(1), SlowAvgLength(4);

// Коды используемых переменных для сигналов Бычьих/Медвежьих кондиций Variables: bBullishSignal(False), bBearishSignal(False);

// Пропуск первого бара на графике для устранения ошибки деления на ноль If BarNumber > 1 Then Begin

// Сброс признака переменных и обновление его каждый торговый день bBullishSignal = False;

bBearishSignal = False;

// Условия бычьего сигнала, если значение индикатора Sentiment Oscillator за последние 2 дня выше значения 5

// Условия медвежьего сигнала, если значение индикатора Sentiment Oscillator за последние 2 дня ниже значения -5

bBullishSignal = (Lowest(SentimentOsc(FastAvgLength,

SlowAvgLength, Close of Data2), 1) < -5);

bBearishSignal = (Highest(SentimentOsc(FastAvgLength,

SlowAvgLength, Close of Data2), 1) > 5);

// Открытие длинной позиции по завтрашней цене открытия торговой сессии, если выполнены условия бычьего сигнала

If bBullishSignal And Close > High[1] Then Buy Next Bar On Open;

// Открытие короткой позиции по завтрашней цене открытия торговой сессии, если выполнены условия медвежьего сигнала

If bBearishSignal And Close < Low[1] Then Sell Short Next Bar on Open;

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

If MarketPosition = 1 And bBearishSignal

And Close < Low[1] Then Sell This Bar On Close;

If MarketPosition = -1 And bBullishSignal

And Close > High[1] Then BuyToCover This Bar On Close;

End;

Примечание: Все приведенные выше стратегии могут быть применены на графиках в программе TradeStation, только используя ценовые данные двух символов одновременно, вторым из которых должен быть символ как $WPCVE (СВОЕ equity put/call ratio), для примера.

<< | >>
Источник: Джон Самма. Торговля против толпы: извлечение прибыли из страха и жадности на рынках акций, опционов и фьючерсов[пер. с англ. Андрея Соколова]. — 2-е изд., стер. — М. : СмартБук. — 304 с. : ил., табл.. 2009

Еще по теме Приложение 2. Коды торговых систем и индикаторов для программы TradeStation:

  1. Приложения Приложение 1. Коды торговых систем и индикаторов для программы MetaStock
  2. Приложение 2 КОДЫ ДЛЯ ЕДИНИЦ ИЗМЕРЕНИЯ В МЕЖДУНАРОДНОЙ ТОРГОВЛЕ
  3. Приложение 3 КОДЫ ДЛЯ ВИДОВ ГРУЗА, УПАКОВКИ И МАТЕРИАЛА УПАКОВКИ В МЕЖДУНАРОДНОЙ ТОРГОВЛЕ
  4. Приложение 3. Примечания по тестированию торговых систем
  5. Приложение 1. Решение системы линейных уравнений с помощью программы Excel
  6. Приложение 7. Использование программы Excel для построения графика границы Марковца портфелей из двух активов
  7. ИСПОЛЬЗОВАНИЕ МЕТОДОЛОГИИ ВОСПРОИЗВОДСТВЕННОГО ПОДХОДА ДЛЯ СОЗДАНИЯ СИСТЕМЫ ИНДИКАТОРОВ УСТОЙЧИВОГО РАЗВИТИЯ
  8. Глава 30 Индикаторы, включающие объем торгов
  9. 10.4. Методология тестирования торговых систем для рынка FOREX
  10. Приложение 2 Вопросы для сдачи теоретического экзамена лицами,прошедшими полный курс обучения по единой программеподготовки арбитражных управляющих, и лицами,изучившими программу самостоятельно (экстерном)
  11. НАСТРОЙКИ ПАРАМЕТРОВ ИНДИКАТОРОВ ТЕХНИЧЕСКОГО АНАЛИЗА НА ПРИМЕРЕ ПРОГРАММЫ "МЕТАБТОСК"
  12. ПРИЛОЖЕНИЯ ДИНАМИКА ИНДИКАТОРОВ ЭКОНОМИЧЕСКОЙ БЕЗОПАСНОСТИ РОССИИ В 1994-2003 гг.
  13. ПРОГРАММЫ ДЛЯ ЭВМ (КОМПЬЮТЕРНЫЕ ПРОГРАММЫ)
  14. Приложение 2 ИНСТРУКЦИЯ ПОЛЬЗОВАТЕЛЯ ПРОГРАММЫ «QUIK»
  15. Индикаторы для анализа ресурсов компании
  16. Приложение 1 ИНСТРУКЦИЯ ПОЛЬЗОВАТЕЛЯ ПРОГРАММЫ «GUTA BROKER»
  17. ПРИЛОЖЕНИЕ Программа