Metastock, MTS Realtime, вопрос по исполнению заявок

  • Автор темы Darkon
  • Дата начала

Darkon

New member
Подскажите пожалуйста новичку, каким образом осуществляется выставление ордеров на покупку или продажу в Метастоке в реальном времени, используя Советника?

Ситуация выглядит следующим образом: сигнал на покупку срабатывает на каждом последующем баре после того, как этот сигнал появился.

Заявка передается брокеру командой ExtFml во вкладке Symbols Советника. Тут должен быть какой-нибудь флаг того, то заявка уже сработала, и повторно ее исполнять не надо, но как это реализовать скриптовым языком Метаса?

Пример неправильного кода на примере встроенного Советника PS Swing Index :

// Enter Long

a:=Swing(3)>0;
b:=Swing(3)<0;

state:=If(BarsSince(a)<BarsSince(b),1,0);

If( Swing(3) > 0, ExtFml("AL_MSX.ATONLINE_TRADE", "Buy", "***", "MICEX SS", "SBER3", 1, "L", 15.00, 100) , 0);

state>Ref(state,-1);

Тут явная ошибка в условии " If(Swing(3)>0 ", вопрос - как это делается правильно?
 

Dim_plus

New member
If( Swing(3) > 0, ExtFml("AL_MSX.ATONLINE_TRADE", "Buy", "***", "MICEX SS", "SBER3", 1, "L", 15.00, 100) , 0);

Тут явная ошибка в условии " If(Swing(3)>0 ", вопрос - как это делается правильно?
Это можно сделать с помощью Cross-функции (перечение уровня 0):
If( Cross( Swing(3) , 0), ExtFml("AL_MSX.ATONLINE_TRADE", "Buy", "***", "MICEX SS", "SBER3", 1, "L", 15.00, 100) , 0);
 

Darkon

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

А есть ли способы ввести внешнюю переменную, или флаг типа boolean, чтобы в него сохранять текущий статус, который не приходит к дефолту при каждой последующей итерации Советника? Или средствами Метастока это нереально в принципе?
 

Dimus

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

А есть ли способы ввести внешнюю переменную, или флаг типа boolean, чтобы в него сохранять текущий статус, который не приходит к дефолту при каждой последующей итерации Советника? Или средствами Метастока это нереально в принципе?
Средствами советника не реально. Делай бинарную волну. Насколько я понимаю ты пытаешься сделать через dll Косинского.
 

Darkon

New member
С бинарной волной все понятно, в хелпе Метаса есть описание. Не очень гибкий способ конечно.

А может быть можно экспортировать значения индикаторов и котировок в Эксель или в .тхт?
 

Асан

New member
с помощью dll косинского пишешь в файл 0 или 1, потом делай, что хочешь, хоть в другой советник передавай
 
Your email address will not be publicly visible. We will only use it to contact you to confirm your post.
Сверху