Если мошенники из ТелеТрейд Вас тоже обманули, то сообщите про это нам Вопросы возврата Ваших денег из Теле Трейда пишите на почту: [email protected] НУЖНЫ ЮРИСТЫ для Чардж Бэка, заинтересованным: [email protected]

Система автоматической торговли из Квика и Амиброкера

Создание собственной системы автоматической торговли из Квика и Амиброкера

Файл с транзакциями лучше регулярно чистить перед торгами, чтоб лишних тормозов Амиброкеру не навешивать

торговый автомат из Квика и Амиброкераторговый автомат из Квика и Амиброкера
Имейте в виду что коды бумаг должны быть указаны латинскими буквами поскольку у Амиброкера с русскими проблема.

Создаем где-нибудь папочку куда будет складываться файл для передачи транзакций в квик. Адрес этого файла нужно будет прописать в FileName индикатора. Затем в Амиброкере нажимаем Indicator Builder, создаем новый индикатор нажав Add, называем его как-нибудь по-человечески нажав Rename. Далее кладем в окно редактора следующий текст:

///// TradeBot v.1.1. Последние изменения 6.12.2004 /////

///////// Установки аккаунта ///////////

TickerID=1;         // уникальный для каждого индикатора номер

Ticker="EESR";      // название бумаги в Амиброкере. На другой бумаге работать не будет

TimeFrame=30;       // таймфрейм в минутах. На других таймфреймах работать не будет

Classcode="EQBR";   // код класса бумаги

Seccode="EESR";     // код бумаги

Account="L01-00000000";  // ваш аккаунт на бирже

Client="";        // код клиента

Lots=1;             // сколько лотов желаете торговать

FileName="e:/trading/amibroker/trans.tri"; // слэши прямые!!! имя файла с транзакциями для квика

Otstup=1.5; // в процентах. заявка будет выставлена хуже текущей цены на столько процентов

Point=3; // количество знаков после запятой в цене

////////// Правила системы ///////////////

АмиброкерАмиброкер

bars=20;

HLine=Ref(HHV(H,bars),-1);

LLine=Ref(LLV(L,bars),-1);

Buy=H>Hline;

Sell=L<LLine;

Short=Sell;

Cover=Buy;

////// Убираем лишние сигналы /////////////

Buy=ExRem(Buy,Sell);

Sell=ExRem(Sell,Buy);

Short=ExRem(Short,Cover);

Cover=ExRem(Cover,Short);

///////////// Рисуем всякое ///////////////

Plot(C,"price",1,128);

PlotShapes(IIf(Buy,shapeUpArrow,0),5,0,Graph0,-15);

PlotShapes(IIf(Sell,shapeDownArrow,0),4,0,Graph0,-15);

PlotShapes(IIf(Cover,shapeHollowUpArrow,0),5,0,Graph0,-15);

PlotShapes(IIf(Short,shapeHollowDownArrow,0),4,0,Graph0,-15);

КвикКвик

//////////// Формируем транзакцию.//////////////

////////////////////////////////////////////////

//////// !!!!СЮДА РУКАМИ НЕ ЛАЗИТЬ!!!! /////////

////////////////////////////////////////////////

procedure savetrifile(stransid,sstr) {

f=fopen(FileName,"r");

found=0;

if (f) {

while (!feof(f)) {

s=fgets(f);

if (StrFind(s,stransid)>0) {

found=1;

}

}

fclose(f);

}

if (found==0) {

f=fopen(FileName,"a");

if (f) {

fputs(sstr+"\n",f);

fclose(f);

}

}

}

function makeandsave(sOper,sOperID,sprice) {

CCS="";

if (Client!="") { CCS=" CLIENT_CODE="+Client+";"; }

transid=StrFormat("TRANS_ID=%g%g%g%g;",TickerID,sOperID,LastValue(Ref(DayOfYear(),-1)),LastValue(Ref(TimeNum(),-1)));

str=StrFormat(transid+"PRICE=%1."+Point+"f;QUANTITY=%g;OPERATION="+sOper+";CLASSCODE="+Classcode+"; ACTION=NEW_ORDER; TYPE=L; SECCODE="+Seccode+"; ACCOUNT="+Account+";"+CCS,sprice,Lots);

savetrifile(transid,str);

}

if ((Now(3)==LastValue(DateNum()))AND(BarCount>1)AND(Name()==Ticker)AND(TimeFrame==Interval()/60)AND((Buy[BarCount-1]==1)OR(Sell[BarCount-1]==1)OR(Short[BarCount-1]==1)OR(Cover[BarCount-1]==1))) {

ifbuy=IIf(Buy[BarCount-1]==1,1,0); 
TickerIDTickerID

ifsell=IIf(Sell[BarCount-1]==1,1,0); 

ifshort=IIf(Short[BarCount-1]==1,1,0); 

ifcover=IIf(Cover[BarCount-1]==1,1,0);   

if (ifbuy) {

price=(1+Otstup/100)*Close[BarCount-1];

makeandsave("B",1,price);

}

if (ifsell) {

price=(1-Otstup/100)*Close[BarCount-1];

makeandsave("S",2,price);

}

if (ifshort) {

price=(1-Otstup/100)*Close[BarCount-1];

makeandsave("S",3,price);

}

if (ifcover) {

price=(1+Otstup/100)*Close[BarCount-1];

makeandsave("B",4,price);

}

}

//// mehanizator (c) 2004

В установках системы нужно поставить следующие параметры:

TickerID - уникальный номер для каждого индикатора. Если вы собираетесь торговать несколько систем, нужно создавать несколько индикаторов с разными TickerID для каждой системы.

Ticker - название бумаги в базе данных Амиброкера. Если название в этом индикаторе не будет совпадать с названием графика, сигналы отрабатываться не будут. Это сделано чтобы исключить неожиданные моменты в случае необдуманного переключения графика.

TickerTicker
TimeFrame - таймфрейм на котором будет работать система. На других таймфреймах работать не будет. Сделано чтобы исключить неожиданности при смене таймфрейма и при открытии нового окна.

Classcode - код класса бумаги.

Seccode - код бумаги.

Account - номер вашего счета в торговой системе.

Client - код клиента. Если не используется, оставьте пустым.

Lots - количество лотов которые будут указаны в заявке. Для полностью реверсивных систем в заявке будет указано вдвое больше лотов для переворота.

FileName - путь до файла куда будут записываться транзакции для экспорта в квик. Обратите внимание что слэши прямые!!!

Otstup - это лучше не трогать. Заявка будет выставляться на столько процентов хуже текущей цены. Это нужно затем чтобы она была немедленно исполнена по лучшей имеющейся в данный момент на рынке цене, т.е. получаем реализацию "рыночной" заявки.

Point - число знаков после запятой в цене.

В правилах системы пишем систему которую собираемся торговать. Сейчас там стоят правила тренд-следящей реверсивной системы на пробое ценового канала. Если будете писать свое, на выходе правил должны быть сигналы Buy, Sell, Short, Cover. Если в шорт играть не собираетесь, поставьте Short=0;Cover=0;

Все, нажав Apply вы прицепите к графику окошко в котором будут рисоваться графики и стрелочки системы. В момент появления сигнала в файл будет записываться команда транзакции. Теперь идем в Квик, открываем Дилер/Загружать транзакции динамически из файла и в строке "Файл с исходными данными о транзакциях" прописываем адрес этого файла. Можно начинать импорт транзакций.

Если вы собираетесь торговать одновременно несколько систем, нужно для каждой из них создать отдельный индикатор с разными TickerID. Затем создаете в Амиброкере столько окон сколько у вас бумаг, в каждое окно загружаете соответствующий график. Потом в каждое окно добавляете соответствующий индикатор. Если есть несколько систем на одну бумагу, можно к одному графику цеплять несколько индикаторов, а можно создавать отдельное окно с одним и тем же графиком для каждого индикатора - как вам удобнее.

Не забудьте что в момент запуска система не знает о том в позиции вы или нет. Если начать работу между сигналами покупки и продажи следующим сигналом будет продажа вашей несуществующей позиции, в результате вы получите внезапный шорт.

Файл с транзакциями лучше регулярно чистить перед торгами, чтоб лишних тормозов Амиброкеру не навешивать. Вообще последовательность работы рекомендую такую: перед началом торгов настраиваем системы при необходимости чтобы ничего не трогать во время торгов, чистим файл с транзакциями и запускаем импорт транзакций в квике. После этого лучше ничего не менять и не трогать. Запомните первую за
таймфреймтаймфрейм
поведь программиста: РАБОТАЕТ - НЕ ТРОГАЙ!!! :)

И напоследок самое главное. Автор не несет ответственности за результаты использования этого индикатора. Используйте его на свой страх и риск.

Удачных трейдов :)

Добавление: отслежена проблема с пропадающими сигналами.

Дело в том, что метастоковский файлсервер скидывает данные в базу через какие-то промежутки времени. Если метастоковский файл тиковый, то сразу, а если минутный, то промежуток между скидыванием новых баров может быть НЕСКОЛЬКО МИНУТ. Соответственно когда амиброкер обновляет график, промежутки между обновлениями могут достигать нескольких минут, если соответствующий файл метастока не тиковый. Так как скрипт смотрит сигнал по последнему бару, если график у вас минутный и пришло несколько минутных баров, скрипт отрабатывает только сигнал на последнем баре, а если сигнал случился ранее, он не проходит.

Резюме.

Файл метастока должен быть меньшего таймфрейма, чем таймфрейм графика в амиброкере. Если таймфрейм у вас минутный, то соответствующий файл метастока должен быть тиковым и т.д.


Обратная связь ОФИЦИАЛЬНОГО интернет-ресурса TeleTrade RU

Юр. лицо: Teletrade D.J. Limited - форма собственности ООО согласно законов Сент-Винсент и Гренадины (островной оффшор)
На территории Российской Федерации деятельность ведется В ОБХОД ЗАКОНА!!! (без лицензий Центробанка РФ и других финансовых контролирующих органов России)
Номер телефона TeleTrade в России: 8 (800) 555-84-59 (по Российской Федерации звонок бесплатный, обман на денежки круглосуточный)
ОФИЦИАЛЬНЫЙ АДРЕС TeleTrade (Teletrade D.J. Limited): Сент-Винсент и Гренадины, Кингстаун, James Street, First St. Vinsent Bank Ltd Building, 1 этаж
Загружаю карту...
Лицензия TeleTrade (Teletrade D.J. Limited) - ОТСУТСТВУЕТ !!!
Если так случилось и кидалы из ТелеТрейд (Teletrade D.J. Limited) Вас кинули, то обязательно сообщайте об этой неприятности нам на официальную почту: [email protected]

Наши официальные e-mail адреса:
[email protected] (направление приема жалоб на ДЦ ТелеТрейд , Белозерова Мария)
[email protected] (группа обработки жалоб на сервис teletreid.com, Именова Лидия)

Официальные социальные сети:
Официальный канал на You Tube

© 2017 - 2020 teletreid.com
Карта сайта