Автор |
Сообщение |
commenced
Советник
Зарегистрирован: 08.04.2008
Сообщения: 643
Откуда: от "Верблюда"
|
"PRICE=" +NumToStr(sprice, IIf(TickSize ==0.01,format=1.2,format=1.0), separator=False)+"; " +
Так как я понимаю тоже не правильно. Колво лотов стало нормальным, теперь с TickSize осталось разобраться |
_________________ Юра |
|
Посмотреть профиль Отправить личное сообщение Отправить e-mail |
|
commenced
Советник
Зарегистрирован: 08.04.2008
Сообщения: 643
Откуда: от "Верблюда"
|
Код: |
///////// Установки ///////////
TimeFrame = 60; // таймфрейм в минутах.
Account = "L01-00000F00"; // ваш аккаунт на бирже
Client = "34545"; // код клиента
Lots =
IIf(Name() == "GAZP", 22,
IIf(Name() == "LKOH", 3,
IIf(Name() == "GMKN",1,
IIf(Name() == "SBER03",95,
IIf(Name() == "ROSN",26,
2)))); // сколько лотов желаете торговать
Otstup = 0.1; // в процентах. заявка будет выставлена хуже текущей цены на столько процентов
FileName ="D:/tranzi/trans.tri"; // слэши прямые!!! имя файла с транзакциями для квика
Bublgum = IIf(Name() == "RIM8", 1.0,1.2);
////////// Правила системы ///////////////
//////////// Формируем транзакцию.//////////////
////////////////////////////////////////////////
//////// !!!!СЮДА РУКАМИ НЕ ЛАЗИТЬ!!!! /////////
////////////////////////////////////////////////
Classcode = GroupID(1);
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 (NOT found)
{
f = fopen(FileName, "a");
if(f)
{
fputs(sstr+"\n",f);
fclose(f);
}
}
}
function makeandsave(sOper, operID, sprice)
{
CCS="";
if (Client != "") CCS="CLIENT_CODE="+Client+";";
transid = "TRANS_ID=" +FullName() + NumToStr(operID, format=1.0) + LastValue(TimeNum())+"; ";
str = transid +
"PRICE=" +NumToStr(sprice, format = Bublgum, separator=False)+"; " + "QUANTITY=" +NumToStr(Lots, format = 1.0)+"; "+
"OPERATION=" +sOper+"; "+
"CLASSCODE=" +Classcode+"; "+
"ACTION=" +"NEW_ORDER; "+
"TYPE=" +"L; "+
"SECCODE=" +Name()+"; "+
"ACCOUNT=" +Account+"; "+
CCS;
savetrifile(transid, str);
}
if (TimeFrame == Interval()/60 & FullName() != "")
{
if(Buy)
{
price=(1+Otstup/100)*Close[BarCount-1];
makeandsave("B", 1, price);
}
if(Sell)
{
price=(1-Otstup/100)*Close[BarCount-1];
makeandsave("S", 2, price);
}
if(Short)
{
price=(1-Otstup/100)*Close[BarCount-1];
makeandsave("S", 3, price);
}
if(Cover)
{
price=(1+Otstup/100)*Close[BarCount-1];
makeandsave("B", 4, price);
}
}//// mehanizator (c) 2004, ссылки мне запрещены
//// 000 (c) 2008, реклама покоцана мной |
Олег посмотри здесь, это вроде итоговый вариант с учетом фортс и спот. Решил проблему по дурацки, но хоть так, в плане торговля фьючем индекса и 5 бумагами на споте (счет единый). Когда определю каким фьючем добью его в лоты и в базу пока забил RIM8. Кстати, а больше ничего делать не нужно, может еще есть какаято особенность торговли между спотом и фьючами. И еще как я понимаю, если мин шаг будет например 100р, то это будет выглядить так Bublgum = IIf(Name() == "RIM8", 3.0,1.2); |
_________________ Юра
Последний раз редактировалось: commenced (Вт Июн 10, 2008 11:22 am), всего редактировалось 1 раз |
|
Посмотреть профиль Отправить личное сообщение Отправить e-mail |
|
commenced
Советник
Зарегистрирован: 08.04.2008
Сообщения: 643
Откуда: от "Верблюда"
|
Ниче не понял, а зачем новая тема, этот робот из того получился. Олег ты посмотрел нового роботека, он рабочий или нет? |
_________________ Юра |
|
Посмотреть профиль Отправить личное сообщение Отправить e-mail |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Пока разделял тему забыл ответить. Вроде все ок.
Только не уверен, что идея баблгамом прокатит. |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег.
Последний раз редактировалось: 000 (Пн Июн 09, 2008 11:35 pm), всего редактировалось 1 раз |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
commenced
Советник
Зарегистрирован: 08.04.2008
Сообщения: 643
Откуда: от "Верблюда"
|
000 писал(а): |
Пока разделял тему забыл ответить. Вроде все ок.
Только не уверен, что идес баблгамом прокатит. |
По немецки это типа бубльгум |
_________________ Юра |
|
Посмотреть профиль Отправить личное сообщение Отправить e-mail |
|
commenced
Советник
Зарегистрирован: 08.04.2008
Сообщения: 643
Откуда: от "Верблюда"
|
Робот рабочий, все пучком, правда еще не опробывал сток+фортс, но думаю тоже все будет гуд. используя структуру, задания кол-ва лотов для каждой бумаги конкретн, можно будет также задавать одни параметры системы для стоковых бумаг, другие для фортс, вот. |
_________________ Юра
Последний раз редактировалось: commenced (Ср Июн 11, 2008 8:19 am), всего редактировалось 1 раз |
|
Посмотреть профиль Отправить личное сообщение Отправить e-mail |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Для заданя сайза для разных символов можно еще использовать какое либо неиспользуемое поле из Information. Вписать туда размер позиции для данного символа и смотреть его из робота. Писанины меньше и можно оперативно менять при необходимости. |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
commenced
Советник
Зарегистрирован: 08.04.2008
Сообщения: 643
Откуда: от "Верблюда"
|
000 писал(а): |
Для заданя сайза для разных символов можно еще использовать какое либо неиспользуемое поле из Information. Вписать туда размер позиции для данного символа и смотреть его из робота. Писанины меньше и можно оперативно менять при необходимости. |
Спасибо, за совет. |
_________________ Юра |
|
Посмотреть профиль Отправить личное сообщение Отправить e-mail |
|
commenced
Советник
Зарегистрирован: 08.04.2008
Сообщения: 643
Откуда: от "Верблюда"
|
Робот для фьюча, с нормальным отступом:
Код: |
///////// Установки ///////////
TimeFrame = 60; // таймфрейм в минутах.
Account = "SRTTYGGHXE"; // ваш аккаунт на бирже
Client = "SPHHGJHKHHHXE"; // код клиента
Lots = IIf(Name() == "RIU8",1,
0); // сколько лотов желаете торговать
Otstup = 0.01; // в процентах. заявка будет выставлена хуже текущей цены на столько процентов
FileName ="D:/tranzi/trans.tri"; // слэши прямые!!! имя файла с транзакциями для квика
//////////// Формируем транзакцию.//////////////
////////////////////////////////////////////////
//////// !!!!СЮДА РУКАМИ НЕ ЛАЗИТЬ!!!! /////////
////////////////////////////////////////////////
Classcode = GroupID(1);
Otstup = round(LastValue(C)*Otstup/100/TickSize)*TickSize;
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 (NOT found)
{
f = fopen(FileName, "a");
if(f)
{
fputs(sstr+"\n",f);
fclose(f);
}
}
}
function makeandsave(sOper, operID, sprice)
{
CCS="";
if (Client != "") CCS="CLIENT_CODE="+Client+";";
transid = "TRANS_ID=" +FullName() + NumToStr(operID, format=1.0) + LastValue(TimeNum())+"; ";
str = transid +
"PRICE=" +NumToStr(sprice, format = 1.0, separator=False)+"; " + "QUANTITY=" +NumToStr(Lots, format = 1.0)+"; "+
"OPERATION=" +sOper+"; "+
"CLASSCODE=" +Classcode+"; "+
"ACTION=" +"NEW_ORDER; "+
"TYPE=" +"L; "+
"SECCODE=" +Name()+"; "+
"ACCOUNT=" +Account+"; "+
CCS;
savetrifile(transid, str);
}
if (TimeFrame == Interval()/60 & FullName() != "")
{
if(Buy)
{
price = Close[BarCount-1] + Otstup;
makeandsave("B", 1, price);
}
if(Sell)
{
price = Close[BarCount-1] - Otstup;
makeandsave("S", 2, price);
}
if(Short)
{
price = Close[BarCount-1] - Otstup;
makeandsave("S", 3, price);
}
if(Cover)
{
price = Close[BarCount-1] + Otstup;
makeandsave("B", 4, price);
}
}//// mehanizator (c) 2004, ссылки мне запрещены
//// 000 (c) 2008, реклама покоцана мной |
Работает на фьюче, шаг цены учтен, делать как для робота Олега, кол-во лотов я забил по конкренному имени, но это частный случай, мне так удобнее, на данный момент. |
_________________ Юра |
|
Посмотреть профиль Отправить личное сообщение Отправить e-mail |
|
commenced
Советник
Зарегистрирован: 08.04.2008
Сообщения: 643
Откуда: от "Верблюда"
|
Олег какая то лажа с роботом точнее со сканером, в названии файлов я прописал настройки, робот кудато зажулил ковер, который должен был идти с Buy. |
_________________ Юра |
|
Посмотреть профиль Отправить личное сообщение Отправить e-mail |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Пока трудно что либо сказать. Часто такие косяки бывают? |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
commenced
Советник
Зарегистрирован: 08.04.2008
Сообщения: 643
Откуда: от "Верблюда"
|
000 писал(а): |
Пока трудно что либо сказать. Часто такие косяки бывают? |
Да |
_________________ Юра |
|
Посмотреть профиль Отправить личное сообщение Отправить e-mail |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Тогда еще вопросы.
В сканере при работе робота эта сделка показывается?
Какой фрейм?
Какой период сканирования? |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
commenced
Советник
Зарегистрирован: 08.04.2008
Сообщения: 643
Откуда: от "Верблюда"
|
000 писал(а): |
Тогда еще вопросы.
В сканере при работе робота эта сделка показывается?
Какой фрейм?
Какой период сканирования? |
Тайм 1 час, период в названии файлов, просто для уменьшения объема я удалил все не интересующие сделки, в сканере при работе робота показывается именно эта сделка, а должно быть 2. |
_________________ Юра |
|
Посмотреть профиль Отправить личное сообщение Отправить e-mail |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Ага. Тогда период сканирования не важен. Косяк в коде системы или настройках. Сегодня я занят, а в выходные меня вообще не будет. В понедельник будем разбираться. Ок? |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
|
|
Следующая тема
Предыдущая тема
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах Вы не можете вкладывать файлы Вы не можете скачивать файлы
|
|