Помогите с МТС на основе ЕМА

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

Dizel

New member
Не как не могу сообразить как построить в Метастоке МТС для подачи сигналов на основе 3-х или 2-х скользящих средних, навыки в програмирование на 0, Если кто что знает подскажите, условия. Экспоциальные скользящие среднии периоды 7, 13, 36. Открытие новой позы при песеречении 7 - 13 на 50% (если есть поза то закрытие 50%), открытие на 100% и закрытие предыдущей при пересечении 13-36. Так же и на шорт.
Если есть возможность стучитесь в аську 393746465
Желательно что бы макс. количество лотов для позы указывалось руками, к примеру 30 указал, и система работает на основе только 30 лотов.
 

Dizel

New member
Не как не могу сообразить как построить в Метастоке МТС для подачи сигналов на основе 3-х или 2-х скользящих средних, навыки в програмирование на 0, Если кто что знает подскажите, условия. Экспоциальные скользящие среднии периоды 7, 13, 36. Открытие новой позы при песеречении 7 - 13 на 50% (если есть поза то закрытие 50%), открытие на 100% и закрытие предыдущей при пересечении 13-36. Так же и на шорт.
Если есть возможность стучитесь в аську 393746465
Желательно что бы макс. количество лотов для позы указывалось руками, к примеру 30 указал, и система работает на основе только 30 лотов.
Не кто помочь не может?
 
Не кто помочь не может?
Алгоритм Вашей ТС на языке Метасток будет выглядеть так:

BUY
Cross(Mov(C,7,E),Mov(C,13,E)) OR Cross(Mov(C,13,E),Mov(C,36,E))
sell
Cross(Mov(C,13,E),Mov(C,7,E)) OR Cross(Mov(C,36,E),Mov(C,13,E))

Вопрос с увеличением/уменьшением торгуемых лотов зависит от "прицепа" которым Вы пользуетесь. Лоты прописываются в строке с вызовом модуля для автоматической торговли..
 

Dim_plus

New member
Алгоритм Вашей ТС на языке Метасток будет выглядеть так:
Немного поправлю предыдущего оратора, в целом правильно подсказавшего :)


{BUY}
Cross713:=Cross(Mov(C,7,E),Mov(C,13,E));
Cross1336:=Cross(Mov(C,13,E),Mov(C,36,E));
StartSize:= 30;
FSize:=If( Cross713, Int(StartSize*0.5), 0);
FSize:=If( Cross1336, StartSize, 0);
Buy:=Cross713 OR Cross1336;
Buy;


{SELL}
Cross137:=Cross(Mov(C,13,E),Mov(C,7,E));
Cross3613:=Cross(Mov(C,36,E),Mov(C,13,E));
StartSize:= 30;
FSize:=If( Cross137, Int(StartSize*0.5), 0);
FSize:=If( Cross3613, StartSize, 0);
Sell:=Cross137 OR Cross3613;
Sell;
 

Dizel

New member
Немного поправлю предыдущего оратора, в целом правильно подсказавшего :)


{BUY}
Cross713:=Cross(Mov(C,7,E),Mov(C,13,E));
Cross1336:=Cross(Mov(C,13,E),Mov(C,36,E));
StartSize:= 30;
FSize:=If( Cross713, Int(StartSize*0.5), 0);
FSize:=If( Cross1336, StartSize, 0);
Buy:=Cross713 OR Cross1336;
Buy;


{SELL}
Cross137:=Cross(Mov(C,13,E),Mov(C,7,E));
Cross3613:=Cross(Mov(C,36,E),Mov(C,13,E));
StartSize:= 30;
FSize:=If( Cross137, Int(StartSize*0.5), 0);
FSize:=If( Cross3613, StartSize, 0);
Sell:=Cross137 OR Cross3613;
Sell;
Спасибо, буду думать дальше, система показала на тесте 33% за 2 месяца.
Буду пробовать другие параметры.

Еще вопрос, как можно сделать что бы автоматически система просчитала разные периоды средних для нахождения оптимальных?
 

Dizel

New member
Только по этим правилам не открываются шортовые позиции!, как сделать что бы открывались шорты
 

Dizel

New member
Еще вопрос товарищи спецы, а как на основе двух скользящих средних со стопом 1.3%, и с входом сразу на все 30 позиций
 

Бганга

New member
Нет, как их учесть?
Надо в цену закладывать. Пусть цена исполнения заявки - Х рублей, комиссия - n%, проскальзывание - m%. Тогда цена, которую нужно учитывать как реальную цену покупки будет равна Х*(1+n%+m%). При продаже Х*(1-n%-m%).
 

Dizel

New member
И еще вопрос, существуют ли возможность написать МТС постороенную только на Квике? то есть без использования Метастока или другого продукта, тоесть что бы все делал Квик, или это Фантастика?
 

Dizel

New member
Надо в цену закладывать. Пусть цена исполнения заявки - Х рублей, комиссия - n%, проскальзывание - m%. Тогда цена, которую нужно учитывать как реальную цену покупки будет равна Х*(1+n%+m%). При продаже Х*(1-n%-m%).
А где это необходимо указать?
 

Dizel

New member
Немного поправлю предыдущего оратора, в целом правильно подсказавшего :)


{BUY}
Cross713:=Cross(Mov(C,7,E),Mov(C,13,E));
Cross1336:=Cross(Mov(C,13,E),Mov(C,36,E));
StartSize:= 30;
FSize:=If( Cross713, Int(StartSize*0.5), 0);
FSize:=If( Cross1336, StartSize, 0);
Buy:=Cross713 OR Cross1336;
Buy;


{SELL}
Cross137:=Cross(Mov(C,13,E),Mov(C,7,E));
Cross3613:=Cross(Mov(C,36,E),Mov(C,13,E));
StartSize:= 30;
FSize:=If( Cross137, Int(StartSize*0.5), 0);
FSize:=If( Cross3613, StartSize, 0);
Sell:=Cross137 OR Cross3613;
Sell;
Как написать для шорта?, что бы открывался шорт, и добавить стопы на 0,5%
 

Dizel

New member
Еще вопрос, что надо указывать в position limit в тесте, изменение этого параметра прилично меняет итоговый показатель системы, или в моем случае оно должно состовлять 30?
 

SORACX

New member
И еще вопрос, существуют ли возможность написать МТС постороенную только на Квике? то есть без использования Метастока или другого продукта, тоесть что бы все делал Квик, или это Фантастика?
Для этого есть QPile, а если с ним не хочется хлопотаться пиши внешний модуль работающий через ODBC - тут все возможно.
 

MTSVADER

New member
Крупный инвестиционный банк проводит тендер среди разработчиков Механических Торговых Систем. С выигравшим участником будет заключён договор об аренде МТС (без предоставления исходных кодов либо алгоритмов).

Требования: не менее 6 систем, площадка ММВБ, голубые фишки; качество систем оценивается исходя из следующих показателей: доходность не менее 80% годовых, но не хуже «Купи и держи», фактор прибыли не менее двух, коэффициент Шарпа не менее 1.8, просадка капитала не более 20%, частота выдачи сигналов – не менее 8 в месяц, отношение прибыльных сделок к убыточным не менее 50% (не исторические данные).

Условия: выигравшим объявляется участник, чьи системы по результатам тестирования в режиме реального времени удовлетворят требуемым показателям.

Контакты: 89031765315, Сергей.
 
Your email address will not be publicly visible. We will only use it to contact you to confirm your post.
Сверху