На
главную страницу
Вопрос
пользователя по созданию Эксперта Метастока для
авто-трейдинга :
>>Дим что-то я не врубаюсь как сделать
автоторговлю а именно
>>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.