Автор |
Сообщение |
SImple
Зарегистрирован: 31.12.2009
Сообщения: 31
|
Привет Всем!
Значит написал простейшую систему, вставил в код робота, представленного на главной странице ( за что хочу сказать отдельное спасибо!) при попытке систему затестить пишет следующие ошибки) Сама система отдельно тестируется, проблем нет.
if (TimeFrame == Interval() & FullName() != "")
{
if(Buy)
---------^
Error 6.
Condition in IF, WHILE, FOR statements
has to be Numeric or Boolean type.
You can not use array here,
please use [] (array subscript operator)
to access array elements
price = Close[BarCount-1] + Otstup;
makeandsave("B", price);
}
if(Sell)
----------^
Error 6.
price = Close[BarCount-1] - Otstup;
makeandsave("S", price);
}
if(Short)
-----------^
Error 6.
price = Close[BarCount-1] - Otstup;
makeandsave("S", price);
}
if(Cover)
-----------^
Error 6.
Друзья! Прошу помочь новобранцу.
Вопрос номер №2
Файл .три как появляется ? Он сам создается или нет?
Нужно ли еще что либо для торговли АТС? (плагины какие-нибудь...)?
Простите за занудство...
Всех с Рождеством! |
|
|
Посмотреть профиль Отправить личное сообщение |
|
SImple
Зарегистрирован: 31.12.2009
Сообщения: 31
|
Да, и еще...могу ли я в графе:
Otstup = num. // в процентах. Заявка будет выставлена хуже текущей цены на столько процентов..
Поставить отрицательное числоБ ну например : -0.5 |
|
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Ronski писал(а): |
Значит написал простейшую систему, вставил в код робота, представленного на главной странице ( за что хочу сказать отдельное спасибо!) при попытке систему затестить пишет следующие ошибки) Сама система отдельно тестируется, проблем нет.
if (TimeFrame == Interval() & FullName() != "")
{
if(Buy)
---------^
Error 6.
Condition in IF, WHILE, FOR statements
has to be Numeric or Boolean type.
You can not use array here,
please use [] (array subscript operator)
to access array elements
|
А вот эти строки в коде робота остались?
Код: |
Buy = LastValue(Ref(Buy, -1));
Sell = LastValue(Ref(Sell, -1));
Short = LastValue(Ref(Short, -1));
Cover = LastValue(Ref(Cover, -1));
|
Ronski писал(а): |
Вопрос номер №2
Файл .три как появляется ? Он сам создается или нет?
Нужно ли еще что либо для торговли АТС? (плагины какие-нибудь...)?
Простите за занудство...
Всех с Рождеством! |
.tri создастся сам когда сигнал на сделку поступит.
Если трогуете через квик, то больше ничего не надо. |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
SImple
Зарегистрирован: 31.12.2009
Сообщения: 31
|
А вот эти строки в коде робота остались?
Buy = LastValue(Ref(Buy, -1));
Sell = LastValue(Ref(Sell, -1));
Short = LastValue(Ref(Short, -1));
Cover = LastValue(Ref(Cover, -1));
Нет, видимо я их тоже убрал....Сейчас обратно поставлю) Спасибо большое, Олег. |
|
|
Посмотреть профиль Отправить личное сообщение |
|
SImple
Зарегистрирован: 31.12.2009
Сообщения: 31
|
Привет.
Сегодня запустил тест робота с главной страницы с теми же правилами торговли на одну акцию сбербанка, все сделал как показано и указано, но почему то заявки в квик не отправляются, три-файл не создается. Такое подозрение что я что-то плохо уловил. Может подскажете? Может какие-то допнастройки в квике или ами?
Заранее благодарен. |
|
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Попробуй вот эти строки
Код: |
Buy = LastValue(Ref(Buy, -1));
Sell = LastValue(Ref(Sell, -1));
Short = LastValue(Ref(Short, -1));
Cover = LastValue(Ref(Cover, -1));
|
исправить на
Код: |
Buy = 1;
Sell = LastValue(Ref(Sell, -1));
Short = LastValue(Ref(Short, -1));
Cover = LastValue(Ref(Cover, -1));
|
и не запуская Квик сделай один раз Scan.
В таблице должно написать Buy...
и должен создаться tri |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
SImple
Зарегистрирован: 31.12.2009
Сообщения: 31
|
Олег.
Попоробовал. Строка Buy появилась, но тут оказалось вообще странно..набрал в поиске по всему компьютеру файл .три - и он его нашел вообще не в том месте, где он должен быть...Там эта транзакция появилась. Только путь к файлу вообще не такой как у меня к папке Квика в afl. ) |
|
|
Посмотреть профиль Отправить личное сообщение |
|
SImple
Зарегистрирован: 31.12.2009
Сообщения: 31
|
И все же мне не ясно) Файл три создается после действия с Buy = 1;, но в другом месте, транзакции там пишет, но ничего не передает в Квик). Может свернуть квик и поставить заново? |
|
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Такой вопрос.
Вот если путь к tri такой C:/Program Files/Quick/trans.tri
то такая папка существует?
C:/Program Files/Quick/
Папку код скорее всего не создаст. И соответственно не может создать и файл. |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
SImple
Зарегистрирован: 31.12.2009
Сообщения: 31
|
Это я понимаю. Только не могу понять в чем проблема,
папка квика d: Program files (x86)/Quik
в AFL ПИШУ d: Program filed (x86)/Quik/trans.tri
а .tri через поиск имеет путь file://d:/users/andre/appdata/local/virtualstore/program files (x86)/quik/trans.tri
может поэтому и заявки не кидуются в квик?
от безысходности уже на сбере два рубля заработал...
в три сделки пишутся, но в квик не попадают. |
|
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Может дело в этих скобках (x86)...
Переделай чтобы tri был в корне. Типа D:/blabla.tri
tri не обязательно должен быть в папке квика. В Квике можно указать путб к tri файлу.
Из хелпера квика.
Цитата: |
В поле «Файл с исходными данными о транзакциях» введите полный путь к .tri-файлу c транзакциями, например, «C:\quikdata\input.tri».
|
|
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
SImple
Зарегистрирован: 31.12.2009
Сообщения: 31
|
Олег, спасибо за терпение по отношению ко мне. И за оперативную помощь. Все работает теперь. |
|
|
Посмотреть профиль Отправить личное сообщение |
|
lgrn
Зарегистрирован: 03.12.2009
Сообщения: 25
|
Олег, добрый день!
Тоже бьюсь с файлом три. Не создавал файл. Ознакомился с предыдущими сообщениями - получилось, создал файл, но тоже в другом месте. Удалил его. Попытался повторить действия на этом же компе, а затем на другом - не получилось.
Что делать?? Помогите
Попутно вопрос. Вчера Equity показывал стрелки купли/продажи, а сегодня там выдает: "not enough data available
to plot any chart at least 3 data bars are needed, but there are only 1 bars in Equity"
У меня такой код, взят с сайта:
_SECTION_BEGIN("Rob 2 EMA");
///// TradeBot v.1.1. Последние изменения 6.12.2004 /////
///////// Установки аккаунта ///////////
TickerID=1; // уникальный для каждого индикатора номер
Ticker="SBER"; // название бумаги в Амиброкере. На другой бумаге работать не будет
TimeFrame=15; // таймфрейм в минутах. На других таймфреймах работать не будет
Classcode="EQBR"; // код класса бумаги
Seccode="RU0009029540"; // код бумаги
Account="....."; // ваш аккаунт на бирже
Client="...."; // код клиента
Lots=1; // сколько лотов желаете торговать
FileName="cQ|trans.txt"; // слэши прямые!!! имя файла с транзакциями для квика
Otstup=0.15; // в процентах. заявка будет выставлена хуже текущей цены на столько процентов
Point=3; // количество знаков после запятой в цене
////////// Правила системы ///////////////
// EMA Cross
Range1=Optimize("range1",2,1,20,1);
Range2=Optimize("range2",2,1,20,1);
Plot( Close, "Price", colorBlack, styleCandle );
Plot(EMA( Close,range1), "7d-ema", colorRed );
Buy = Cross((Close),(EMA(Close,range1)));
Buystop = Ref(EMA(Close,range1),-1);
BuyPrice = Max(Buystop,Low);
Sell = Cross(EMA(Close,range2),(Close));
Sellstop = Ref(EMA(Close,range1),-1);
SellPrice = Min(sellstop,High);
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);
//////////// Формируем транзакцию.//////////////
////////////////////////////////////////////////
//////// !!!!СЮДА РУКАМИ НЕ ЛАЗИТЬ!!!! ///////// и т.д. |
|
|
Посмотреть профиль Отправить личное сообщение |
|
fewry
Зарегистрирован: 06.10.2009
Сообщения: 61
|
может это поможет:
1)файлы .tri лучше создать самому
2)путь лучше без пробелов и символов, например, C:/trans.tri
3)надо указать точный путь в коде робота и в настройках квика |
|
|
Посмотреть профиль Отправить личное сообщение |
|
lgrn
Зарегистрирован: 03.12.2009
Сообщения: 25
|
спасибо за ответ, но не понятно как его создавать вручную? |
|
|
Посмотреть профиль Отправить личное сообщение |
|
|