Торговый автомат Амиброкер+Квик

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

aaveselov

New member
Привет!

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

При закрытии длиной позиции и открытии короткой QUICK частенько выдает такое сообщение:
"Цена операции short выходит за установленный диапазон".

Это увеличением Otstup лечится?
 

mehanizator1

New member
Привет!

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

При закрытии длиной позиции и открытии короткой QUICK частенько выдает такое сообщение:
"Цена операции short выходит за установленный диапазон".

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

aaveselov

New member
скорее уж уменьшением.
но иногда за диапазон выходит даже если по текущей цене пытаешься продать, когда падение больше -5% вроде бы, тут уж ничего не поделаешь.
пробовал задавать цену руками (вводил транзакцию в QUIK напрямую), никакая цена вообще не подходит. Что-то странное, может брокер не разрешать короткие позиции?
 

mehanizator1

New member
пробовал задавать цену руками (вводил транзакцию в QUIK напрямую), никакая цена вообще не подходит. Что-то странное, может брокер не разрешать короткие позиции?
я ж говорю, когда ниже уровня цена уходит, вообще шортить нельзя. биржа не пропускает заявки.
 

N2NN

New member
Добрый день!
Провел операцию:
в Амиброкере нажимаем Indicator Builder, создаем новый индикатор нажав Add, называем его как-нибудь по-человечески нажав Rename. Далее кладем в окно редактора следующий текст:
Получил ошибку:

Line 57, Column 10:
////////////////////////////////////////////////



procedure savetrifile(stransid,sstr) {

f=fopen(
---------^

Error 23.
Syntax error

Не подскажете в чем может быть дело.
 

mehanizator1

New member
Добрый день!
Провел операцию:
в Амиброкере нажимаем Indicator Builder, создаем новый индикатор нажав Add, называем его как-нибудь по-человечески нажав Rename. Далее кладем в окно редактора следующий текст:
Получил ошибку:

Line 57, Column 10:
////////////////////////////////////////////////



procedure savetrifile(stransid,sstr) {

f=fopen(
---------^

Error 23.
Syntax error

Не подскажете в чем может быть дело.
а имя три файла какое?
 

N2NN

New member
Да. И лежит по указанному адресу. Он пустой и создан путем создания и переименования файла формата txt. Может файл должен быть какогото специфического формата?
 

mehanizator1

New member
Да. И лежит по указанному адресу. Он пустой и создан путем создания и переименования файла формата txt. Может файл должен быть какогото специфического формата?
да нет, не в этом дело.
скорее всего в параметрах что-то не так, может где закрывающая кавычка пропущена?
 

N2NN

New member
Полный текст такой (убрал только Account и Client), вроде все на месте:

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

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

TickerID=1; // уникальный для каждого индикатора номер
Ticker="$LKOH"; // название бумаги в Амиброкере. На другой бумаге работать не будет
TimeFrame=1; // таймфрейм в минутах. На других таймфреймах работать не будет
Classcode="EQBR"; // код класса бумаги
Seccode="LKOH"; // код бумаги
Account=""; // ваш аккаунт на бирже
Client=""; // код клиента
Lots=1; // сколько лотов желаете торговать
FileName="C:/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);
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, http://www.russian-trader.ru
 

GH05

New member
Да. И лежит по указанному адресу. Он пустой и создан путем создания и переименования файла формата txt. Может файл должен быть какогото специфического формата?
б
Если в висте работаете, она может текстовик создать trans.tri.txt , внимательно через свойства посмотрите расширение файла
 

mehanizator1

New member
попробовал добавить индикатор, скопировав текст отсюда, все прошло без ошибок. может быть версия амиброкера очень старая?
 

wenceslas

New member
Добрый день.

Подскажите pls, как протестить робота Mehanizator'a с помощью BarReplay в АМИ?
У меня сигналы рисует, а в *.tri файл не пишет.
Или тестить можно только в Real Time?
 

pitero

New member
Добрый день.

Подскажите pls, как протестить робота Mehanizator'a с помощью BarReplay в АМИ?
У меня сигналы рисует, а в *.tri файл не пишет.
Или тестить можно только в Real Time?
Не работает этот робот с BarReplay
Для этого юзай другой, от ООО
( http://www.amisite.ru/afl/exp/0001.htm )
 

empenoso

New member
Не могу разобраться с ApplyStop:
Код:
ApplyStop(stopTypeTrailing , stopModePercent, amount = StopTrailing, ExitAtStop = 2, Volatile = True, ReEntryDelay = 0);
Buy=;
Sell=;
BuySellL= IIf(BarsSince(Buy) < BarsSince(Sell),1,0);
Short=;
Cover=;
BuySellS= IIf(BarsSince(Short) < BarsSince(Cover),-1,0);
BuySell= BuySellL + BuySellS ;

//удаляет данные сигнала, после того как он прошел
Equity(1,0);

//вывод информации
Title = StrFormat("{{NAME}} - {{INTERVAL}} {{DATE}} Open %g, Hi %g, 
Lo %g, Close %g (%.1f%%) {{VALUES}}", O, H, L, C, SelectedValue( ROC( C, 1 ) ) )+
"\n\\c-1 Текущая чистая позиция: "+EncodeColor(colorGreen)+Lots*BuySell;

На рисунке видно что текущая чистая позиция для курсора должна быть 0. Но она отображается -2.

Когда выход по условия sell или cover – текущая чистая позиция отображается нормально, но как только происходит выход по стопу – текущая чистая позиция отображается точно такой же – то есть неверно, хотя дальнейший вход снова возможен.
Как с этим можно побороться?
P.S. Выход по стопу почему-то не пишется в файл.

P.P.S. В мануале обнаружил следующую полезную вещь, но как ее применить – не могу понять…
В зависимости от типа сработавшего стопа в массивы sell/cover будут записаны разные величины. Можно этим воспользоваться для определения типа выхода (по стопу или по другим правилам системы).
1 - выход по правилам системы
2 - стоп лосс
3 - взятие прибыли (профит)
4 - скользящий стоп (трейлинг)
5 - выход через N баров
6 - потеря капитала

Подскажите, пожалуйста! Думаю с такими же проблемами уже сталкивались.
 
Your email address will not be publicly visible. We will only use it to contact you to confirm your post.
Сверху