Неправильный идентификатор транзакции

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

uranmaximum

New member
Я использовал стратегию, которая выложена на сайте для Амиброкера
///// 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);
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,


Но Quik выдает сообщение, что неправильно указан идентификатор транзакции 14326102500. Может кто-то знает, как это исправить? Как я понимаю, надо как-то поменять идентификатор, только как это сделать? Если можно можно, то сразу же исправление.
 
Your email address will not be publicly visible. We will only use it to contact you to confirm your post.
Сверху