Начать новую тему Ответить на тему |
Список форумов AmiSite.ru » Роботы |
На страницу Пред. 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55 След. |
Автор |
Сообщение |
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Sergg писал(а): |
Заменил в роботе Lots на Lots=int((InitialEquity/(Open+Otstup))/10)-1;
Где InitialEquity - фиксированная сумма для торговли.
Но почему-то робот при наступлении Buy, Sell и т.п начинает ругаться и не чего не покупает.
|
Потому, что у тебя получается массив Lots, а это должна быть константа.
Добавь LastValue() так
Код: |
Lots=LastValue(int((InitialEquity/(Open+Otstup))/10))-1; |
или еще так должно сработать
Код: |
Lots=int((InitialEquity/(Open[BarCount - 1]+Otstup))/10)-1; |
|
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
BRTO
Зарегистрирован: 01.03.2009
Сообщения: 105
|
В общем, решил при тестировании прямо прописать цену открытия бара как цену совершения сделок. Теперь тест совпадает с работой робота.
Результаты конечно упали, просадка выросла...
Но как раз в последнее время так более эффективно - из-за резких движений действительно лучше совершать сделку как можно раньше после поступления сигнала. |
|
|
Посмотреть профиль Отправить личное сообщение |
|
Sergg
Зарегистрирован: 04.03.2012
Сообщения: 24
|
000 писал(а): |
Потому, что у тебя получается массив Lots, а это должна быть константа.
Добавь LastValue() |
Спасибо, сейчас вроде все ok.
У меня до этого из одного Quik котировки получали 2 Ami (на разных таймфреймах), сейчас 2 робота из 2-х Ami отправляют заявки обратно в 1 Quik.
Правда однажды Quik сругался что много коннектов к нему.
Сильно не ругайте, что это делать нельзя (пока другого выбора нету). |
|
|
Посмотреть профиль Отправить личное сообщение |
|
Sergg
Зарегистрирован: 04.03.2012
Сообщения: 24
|
Возник еще один вопрос – можно ли чтобы один робот (по одной стратегии) выполнял сделки на разных клиентских счетах одновременно. Есть у меня 2 счета у брокера и я хочу по одной стратегии делать одни и те же сделки на 2-х счетах одновременно по одной бумаге. Просто есть у меня плохое качество - не могу держать сделку до конца даже с роботом, продаю раньше времени, а потом уже сложно купить дороже чтобы снова зайти. Вот и хочу, чтобы хотя бы по одному счету сделки будут доводится до конца. |
|
|
Посмотреть профиль Отправить личное сообщение |
|
Дмитрий
Зарегистрирован: 29.11.2011
Сообщения: 96
Откуда: Саратов
|
000 писал(а): |
Попробовал робота на 20 тиковом интервале.
Вот так сделал
Код: |
TimeFrame = -20;
.....
if (TimeFrame == Interval(1) AND Permit_Ticker) |
Прекрасно торгует. |
Здравствуйте! А может ли робот торговать на 200 тиковом интервале? В коде в таймфрейме надо -200 поставить или как? |
|
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
В начале
Почти в конце
TimeFrame == Interval(1) |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
Дмитрий
Зарегистрирован: 29.11.2011
Сообщения: 96
Откуда: Саратов
|
000 писал(а): |
В начале
Почти в конце
TimeFrame == Interval(1) |
А, понял. Спасибо! Надо попробовать. |
|
|
Посмотреть профиль Отправить личное сообщение |
|
VAE
Зарегистрирован: 04.06.2012
Сообщения: 17
|
Помогите пожалуйста насчет синтактических ошибок, вставляю этот код под свою систему. Программа при проверке выдает ошибки
color = coloriz = colorDefault; price = 0; str = Now(0) + " " + Name(); pos = AS_READ_PARAM(
-------------------^
Error 30.
Syntax error
coloriz = colorGreen; str = str + " заявка исполнена" + " ответ сервера=" + order; if(pos > 0 AND bs == "S") // закрытие лонга AS_WRITE_PARAM(
-----------------^
Error 30.
Syntax error
if(pos > 0 AND bs == "S") // закрытие лонга AS_WRITE_PARAM("Quik_Robot", Name(), "pos", 0); else if(pos == 0 AND bs == "S") // шорт AS_WRITE_PARAM(
-----------------^
Error 30.
Syntax error
else if(pos == 0 AND bs == "S") // шорт AS_WRITE_PARAM("Quik_Robot", Name(), "pos", -1*Lot); else if(pos < 0 AND bs == "B") // закрытие шорта AS_WRITE_PARAM(
-----------------^
Error 30.
Syntax error
else if(pos < 0 AND bs == "B") // закрытие шорта AS_WRITE_PARAM("Quik_Robot", Name(), "pos", 0); else if(pos == 0 AND bs == "B") // лонг AS_WRITE_PARAM(
-----------------^
Error 30.
Syntax error
str = str + " Buy"; sd = "Buy"; orders("B", round(C[BarCount-1]) + Otstup, Lots); AS_WRITE_FILE(
---------------^
Error 30.
Syntax error
str = str + " Sell"; sd = "Sell"; orders("S", round(C[BarCount-1]) - Otstup, abs(pos)); AS_WRITE_FILE(
---------------^
Error 30.
Syntax error
str = str + " Short"; sd = "Short"; orders("S", round(C[BarCount-1]) - Otstup, Lots); AS_WRITE_FILE(
---------------^
Error 30.
Syntax error
str = str + " Cover"; sd = "Cover"; orders("B", round(C[BarCount-1]) + Otstup, abs(pos)); AS_WRITE_FILE(
---------------^
Error 30.
Syntax error
SetOption( "NoDefaultColumns", 1 ); AddTextColumn(Name(), "Символ", 1.0, colorDefault, colorDefault, 60); AddColumn( C[BarCount-1], "Последняя цена", 1.2, colorDefault, colorDefault, 100 ); AddColumn( AS_READ_PARAM(
------------------------^
Error 31.
Syntax error, expecting ')' or ','
AddTextColumn(text, "Соединение", 1.2, colorDefault, color, 170); AddTextColumn(iz, "Исполнение заявки", 1.2, colorDefault, coloriz, 120); AddTextColumn(order, "Заявка", 1.2, colorDefault, IIf(StrToNum(order) > 100, colorGreen, colorRed), 90);
^
Error 32.
Syntax error, probably missing semicolon at the end of the previous line |
|
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Хм. Я так понял, что робот копия этого робота?
Тогда вопрос. В редакторе AFL у тебя функции AS_WRITE_FILE, AS_WRITE_PARAM, AS_READ_PARAM синим выделены???? |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
VAE
Зарегистрирован: 04.06.2012
Сообщения: 17
|
000 писал(а): |
Хм. Я так понял, что робот копия этого робота?
Тогда вопрос. В редакторе AFL у тебя функции AS_WRITE_FILE, AS_WRITE_PARAM, AS_READ_PARAM синим выделены???? |
Нет, подскажите пожалуйста, что нужно сделать. |
|
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Плагины не установлены или не работают.
Робот использует 2 плагина
AS_QuikTrade для отправки транзакций
AS_File для учета открытых позиций и для ведения лога (записи действий робота в отдельный файл) |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
VAE
Зарегистрирован: 04.06.2012
Сообщения: 17
|
Подскажите пожалуйста. Хочу выучить язык afl, но с чего начать не знаю, программированием раньше никогда не занимался. Что посоветуете? |
|
|
Посмотреть профиль Отправить личное сообщение |
|
VAE
Зарегистрирован: 04.06.2012
Сообщения: 17
|
Подскажи пожалуйста почему программа выдает ошибку.
AddTextColumn(text, "Соединение", 1.2, colorDefault, color, 170);
AddTextColumn(iz, "Исполнение заявки", 1.2, colorDefault, coloriz, 120);
AddTextColumn(order, "Заявка", 1.2, colorDefault, IIf(StrToNum(order) > 100, colorGreen, colorRed), 90) ;
^
Error 32.
Syntax error, probably missing semicolon at the end of the previous line |
|
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Ошибка не в этих строках. Вероятно раньше. |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
VAE
Зарегистрирован: 04.06.2012
Сообщения: 17
|
000 писал(а): |
Ошибка не в этих строках. Вероятно раньше. |
Подскажите как найти ошибку? |
|
|
Посмотреть профиль Отправить личное сообщение |
|
|
Начать новую тему Ответить на тему |
Список форумов AmiSite.ru » Роботы |
На страницу Пред. 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55 След. |
|
Следующая тема
Предыдущая тема
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах Вы не можете вкладывать файлы Вы не можете скачивать файлы
|
|