Автор Тема: EasyLanguage  (Прочитано 51667 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Gelium

  • Администратор
  • Сообщений: 9 389
    • Просмотр профиля
    • Gelium.net
EasyLanguage
« Ответ #90 : 10 Июля 2014, 03:41:33 »
Подскажите, пожалуйста, на примере, как правильно использовать MarketIfTouchOrder и LimitIfTouchOrder для входа в позицию  и выхода внутри бара

А где вы в Easy нашли такие операторы?

Dmsum

  • Гость
EasyLanguage
« Ответ #91 : 10 Июля 2014, 11:05:12 »
Насколько я понял, это функции, которые, при использовании в некоторой комбинации дают возможность купить или продать внутри бара. Выписку из описания прилагаю :
LimitIfTouchedOrder (Function)
image\trumpet2.gif Disclaimer

The LimitIfTouchedOrder function is used to configure and send a limit if touched order using the order entry macro .PlaceOrder.  You can call this function directly from your own EasyLanguage code to simplify the formatting and generation of macro orders.

   Care should be exercised when calling this function as it is intended to send live orders.  Confirmations for macro-generated orders can be configured by using the File -> Preferences -> TradeStation Order Entry menu sequence.

Syntax
LimitOrder(Frequency,Account,Action,SymbolCategory,Symbol,Quantity,Duration,GTDDate,IfTouched,LimitPrice)

Returns (Integer)
LimitIfTouchedOrder returns 1 if called on a "real-time" tick and if a trade is allowed based on the user input "Frequency".  The function returns -1 (negative one) in other cases; for example, if the function is called on an historical bar.  If there are errors in the order parameters a runtime error message will be generated and the order will not be placed.

Как правильно пользоваться - до конца не понял, поэтому решил спросить... Заранее спасибо!

Оффлайн Gelium

  • Администратор
  • Сообщений: 9 389
    • Просмотр профиля
    • Gelium.net
EasyLanguage
« Ответ #92 : 10 Июля 2014, 14:32:05 »
Понятно. LimitIfTouchedOrder  - это функция Easy с исходным кодом. Можете посмотреть. Актуально, если вы будете торговать через TradeStation.

Dmsum

  • Гость
EasyLanguage
« Ответ #93 : 18 Июля 2014, 09:25:13 »
Использую TS, но так и не смог разобраться, как открыть позицию внутри бара в стратегии на EasyLanguage. Напишите, по-подробнее, если возможно, с примером. Заранее спасибо!

Оффлайн Gelium

  • Администратор
  • Сообщений: 9 389
    • Просмотр профиля
    • Gelium.net
EasyLanguage
« Ответ #94 : 18 Июля 2014, 11:04:10 »
Использую TS, но так и не смог разобраться, как открыть позицию внутри бара в стратегии на EasyLanguage. Напишите, по-подробнее, если возможно, с примером. Заранее спасибо!

Смотрите готовые стратегии, типа мувинга и т.п.

Dmsum

  • Гость
EasyLanguage
« Ответ #95 : 18 Июля 2014, 11:23:48 »
Не нахожу как обойти "this bar close" или "next bar open"...

Оффлайн Gelium

  • Администратор
  • Сообщений: 9 389
    • Просмотр профиля
    • Gelium.net
EasyLanguage
« Ответ #96 : 18 Июля 2014, 14:48:10 »
inputs: Price( Close ), FastLength( 9 ), SlowLength( 18 ) ;
variables: FastAvg( 0 ), SlowAvg( 0 ) ;

FastAvg = AverageFC( Price, FastLength ) ;
SlowAvg = AverageFC( Price, SlowLength ) ;

if CurrentBar > 1 and FastAvg crosses over SlowAvg then
{ CB > 1 check used to avoid spurious cross confirmation at CB = 1 }
Buy ( "MA2CrossLE" ) next bar at market ;

if CurrentBar > 1 and FastAvg crosses under SlowAvg then
{ CB > 1 check used to avoid spurious cross confirmation at CB = 1 }
Sell Short ( "MA2CrossSE" ) next bar at market ;

Не нахожу как обойти "this bar close" или "next bar open"...

Потрудитесь объяснять суть своих проблем более подробно. Для детективного расследования пока нет свободных сыщиков. Лето. Отпуска. :)

emyemy

  • Гость
EasyLanguage
« Ответ #97 : 01 Декабря 2014, 16:22:40 »
Как расширить функцию FindBar(), нахождение номера бара по входным данным Дата/Date и Время/Time?
Дело в том, что по умолчанию эта встроенная функция находит бар только(?) в числе первых 50-ти.

Вопрос снимаю. Решено.

Григорий

  • Гость
EasyLanguage
« Ответ #98 : 02 Февраля 2015, 21:45:43 »
Здравствуйте. Нужна помощь прописать сигнал.  Например, имеются 4 линии: Line 1(9), Line2(18), Line3 (50), Line4 (100), нужно  чтобы сигнал на покупку поступал  при пересечении линий с низу вверх Line3>Line 4 при условии поиска в прошлом, на протяжении 30  баров, условия, когда Line1<Line2 и Line 3<Line4
Как правильно этот код прописать ? :     
If  Line3>Line4  and  Line 1[1-30]<Line2[1-30] and Line 3[1-30]<Line4 [1-30] Then buy ("UT") This Bar on Close;
Т.е. я хочу  в примере сказать, чтобы на одном из прошлых баров, на протяжении 30 анализируемых прошлых баров, система бы нашла  резонанс  линий (Line1<Line2 и Line 3<Line4).
Благодарен за ответ. :o

Оффлайн val

  • Участник клуба
  • *
  • Сообщений: 148
    • Просмотр профиля
EasyLanguage
« Ответ #99 : 03 Февраля 2015, 15:20:14 »
Попробуйте так :

мониторим постоянно выполнение условия, если выполняется, запоминаем номер бара.

Inputs:Barr(30);
vars:BarNum(0);

If Line1 < Line2 and Line3 < Line4 then begin
   BarNum = BarNumber;
end;

If ( BarNumber - BarNum ) <= Barr Then buy ("UT") This Bar on Close ;