На главную страницу

Вопрос пользователя по созданию Эксперта Метастока для авто-трейдинга :

              
>>Дим что-то я не врубаюсь как сделать автоторговлю а именно
>>1 кде надо прописывать все7 (в мете в том же советнике что и хочу использовать?)
>>рынок фортC
>>стоп 0.3% простой

Всё надо прописывать в Метастоке, в советнике (Expert Advisor), который будет прикрепляться (Attach) к графику авто-торгуемой бумаги. В этом советнике
на вкладке 'Symbols' нужно создать две новых строки для 'Buy' и 'Sell' сигналов.

>>2 если там тогда что надо поставить между запятых?
>>ExtFml( "Borisoff.MoveFORTS", № портфеля,-1 , 0.2, в, , , , , ) а дальше я запуталься
Пример ниже..

>>3 где прописывать все условия
В Buy-строке советника надо прописать формулы для получения Buy-сигнала и вызова функции для формирования Buy-заявки в АД. А в Sell-строке прописываются формулы для получения Sell-сигнала и вызова функции для формирования Sell-заявки в АД.

>>если не трудно подскажи как написать это все для №портф 1234-000

условие в советнике для покупки:
FBuy:=Cross( .... ); {здесь прописаны формулы для получения Buy-сигнала}
FNull:=If(FBuy, ExtFml("Borisoff.MoveFORTS", "1234-000", -1, 0.2, B, 0.3, Simple, 0, FBuy, 1), False);
{здесь прописана посылка на рынок ФОРТС заявки на ПОКУПКУ одного лота той бумаги, к графику которой в Мете прикреплен этот советник, с формированием заявки в момент появления Buy-сигнала на баре предпоследнем от правого края графика, с простым стопом в 0.3% от Close-цены самого последнего бара на графике}
FBuy; {этот FBuy просто рисует на графике Buy-сигнал}

условие в советнике для продажи:
FSell:=Cross( ..... ); {здесь прописаны формулы для получения Sell-сигнала}
FNull:=If(FSell, ExtFml("Borisoff.MoveFORTS", "1234-000", -1, 0.2, S, 0.3, Simple, 0, FSell, 1), False);
{здесь прописана посылка на рынок ФОРТС заявки на ПРОДАЖУ одного лота ТОЙ бумаги, к графику которой в Мете будет прикреплен этот советник(!), с формированием заявки в момент появления Sell-сигнала на баре предпоследнем от правого края графика, с простым стопом в 0.3% от Close-цены самого последнего бара на графике}
FSell; {этот FSell просто рисует на графике Sell-сигнал}

>>при срабатывания сигнала счоб поза переворачивалась
при наличии двух вышеуказанных Buy и Sell строк в советнике, при возникновении Buy или Sell сигналов позы будут автоматически переворачиваться. Т.е. при Sell-сигнале, если в портфеле имеется лонг-поза, то она будет закрыта и открыта новая шорт-позиция в один лот. Аналогично при Buy-сигнале, если в портфеле имеется шорт-поза, то она будет закрыта и открыта новая лонг-позиция в один лот. Если до сигналов позиций в портфеле небыло, то просто открывается новая лонг или шорт позиция в один лот.
Переворот позиций будет сделан одной заявкой, размер которой будет равен имеющейся позиции + величина новой, т.е. для однолотовой торговли заявка будет подана на два лота, чтобы одним лотом закрыть имеющуюся позицию, а другим лотом открыть новую позицию.

>>выход в кеш 17.40
для выхода в кеш в заданное время в Метастоке надо сделать новый индикатор (не советник!), например под названием "Cash_1234-000" со следующими строками:
              
FAlert:=False OR Cum(1)=LastValue(Cum(1));
FNull:=If(FAlert, ExtFml("Borisoff.MoveFORTS","1234-000", 0, 0.2, Cash, 17, Simple, 40, False, 1), False);
17.40;
             
и поместить этот индикатор на график авто-торгуемой бумаги (на графике появится линия со значением 17.40, а название индикатора 'Cash_1234-000' будет отображаться в заголовке графика). При наступлении 17:40 часов по СЕРВЕРНОМУ времени, этот индикатор сработает и выведет в кеш весь портфель '1234-000', т.е. автоматически создаст заявки для закрытия всех имеющихся в этом портфеле позиций и заблокирует дальнейшую авто-торговлю с ним. При необходимости в одном индикаторе можно прописать строки для нескольких портфелей с разным временем вывода в кеш или наоборот сделать несколько разных Cash-индикаторов и т.д и т.п.

>> последний вопрос пока как сделать чтобы стоп передвигался по тренду -0.3% от последней цены БЕЗ ПЕРЕВОРОТА??

Чтобы было просто закрытие позиций без переворота нужно использовать простой авто-передвигаемый по тренду стоп. Такой стоп называется 'ASimple'.

>> ПРИМЕР открытие позы 100.00 руб потм цена дошла до 105.00 и ушла вниз  (прямая без откатов(линия))
>> как написать формулу чтоб поза закрылась по 104.68??

Bышеприведенные формулы дополнятся условием 'OR  Cum(1)=LastValue(Cum(1))' (чтобы авто-стоп мог работать и без сигнала на графике) и изменятся так:

условие в советнике для покупки запишется так:
FBuy:=Cross( ..... ); {здесь прописаны формулы для получения Buy-сигнала}
FNull:=If(FBuy OR  Cum(1)=LastValue(Cum(1)), ExtFml("Borisoff.MoveFORTS", "1234-000", -1, 0.1, B, 0.3, ASimple, 0.01, FBuy, 1), False);
{здесь прописана посылка на рынок ФОРТС заявки на ПОКУПКУ одного лота той бумаги, к графику которой в Мете прикреплен этот советник, с формированием заявки в момент появления Buy-сигнала на предпоследнем баре от правого края графика, с авто-перемещаемым по тренду стопом в 0.3% от Close-цены самого последнего бара на графике, авто-перемещение производится при изменении цены по тренду на 0.01% или больше}
FBuy; {этот FBuy просто рисует на графике Buy-сигнал}

условие в советнике для продажи:
FSell:=Cross( ..... ); {здесь прописаны формулы для получения Sell-сигнала}
FNull:=If(FSell OR  Cum(1)=LastValue(Cum(1)), ExtFml("Borisoff.MoveFORTS", "1234-000", -1, 0.1, S, 0.3, ASimple, 0.01, FSell, 1), False);
{здесь прописана посылка на рынок ФОРТС заявки на ПРОДАЖУ одного лота той бумаги, к графику которой в Мете прикреплен этот советник, с формированием заявки в момент появления Sell-сигнала на предпоследнем баре от правого края графика, с авто-перемещаемым по тренду стопом в 0.3% от Close-цены самого последнего бара на графике, авто-перемещение производится при изменении цены по тренду на 0.01% или больше (этому параметру можно задать любое нужное значение)}
FSell; {этот FSell просто рисует на графике Sell-сигнал}

И когда цена дойдет до 105.00 стоп вслед за ней передвинется на 104.68 и при понижении цены ниже 104.68 стоп сработает с проскальзыванием на 0.1% (в формуле можно задать нужное проскальзывание) ниже цены 104.68.

Hosted by uCoz