Начать новую тему Ответить на тему |
Список форумов 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
![](images/avatars/183029264847fb5337d4ea4.gif)
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Цитата: |
В таком случае подскажи, код на моей картинке верен для двух систем на двух инструментах? |
Да
Цитата: |
И конструкцию "Buy1 = Ref(Buy1, -1); ..." прописывать в каждой системе? Или один раз в конце, как показано у меня? Надо ли их обнулять перед системами? |
Достаточно одного раза в конце, как у тебя. Обнулять не надо.
Цитата: |
И еще, в случае с elsе: остальные не будут проверяться лишь на той свече, где сработало первое условие, или пока не будет выхода из позиции, открытой по одной из систем по первому сработавшему условию? |
Бррр. Не понял вопроса...
Цитата: |
Хорошо, есть поле АККАУНТ. Т.е. я так понимаю в роботе можно прописать несколько аккаунтов? Если да, то как это сделать? И как сделать указание по количеству лотов на каждый счет? И если опять же можно так сделать, то возможно можно там же прописать и пути для двух Квиков. |
Это зависит от того одно и тоже торгуется на разных аккаунтах или нет.
Если одно и тоже, то тут
Код: |
if(Buy1[BarCount-1] AND pos == 0) {
str = str + " Buy";
sd = "Buy";
orders("B", round(C[BarCount-1]) + Otstup, Lots);
AS_WRITE_FILE("log.quik", str); |
Пишешь несколько orders("B", round(C[BarCount-1]) + Otstup, Lots); (по числу аккаунтов) при этом меняешь вызов процедуры примерно так
orders("B", round(C[BarCount-1]) + Otstup, Lots, Account1);
должно получиться примерно так
Код: |
if(Buy1[BarCount-1] AND pos == 0) {
str = str + " Buy";
sd = "Buy";
orders("B", round(C[BarCount-1]) + Otstup, Lots1, Account1);
orders("B", round(C[BarCount-1]) + Otstup, Lots2. Account2);
AS_WRITE_FILE("log.quik", str); |
и саму процедуру procedure orders(bs, pr, Lot) тоже меняешь таким макаром
procedure orders(bs, pr, Lot, Account)
Соответственно тогда можно и лоты задавать для каждого вызова orders
Кроме того надо будет записывать и читать текущую позицию в Quik_Robot.ini для каждого аккаунта отдельно. |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
![](images/spacer.gif) |
AntColonel
Зарегистрирован: 03.05.2011
Сообщения: 213
Откуда: Новосибирск
|
Олег, возникла проблема с роботом.
Перекинули его товарищу на компьютер. Все пути, все прописали. В Ами робот видно, что работает, считает. При запуске ни на что не ругается. Но когда проходит сигнал, отображает, что соединение не установлено. Все ДЛЛки покидали в нужные папки. Все сделали идентично. Но у меня на обоих компах работает, а тут нет. Пишет следующее:
04.10.2012 21:25:05 Ri Sell заяка НЕ исполнена ответ сервера=
Вложу в сообщение полный файл лога. Начало там с моего компьюетра поэтому заявки исполнялись.
Единственное, у товарища папка с Ами установлена в папку самого Квика. Может ли это повлиять?
Имеет ли значение большими или маленькими буквами написана папка КВИК в коде робота? |
|
|
Посмотреть профиль Отправить личное сообщение |
![](images/spacer.gif) |
000
Site Admin
![](images/avatars/183029264847fb5337d4ea4.gif)
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Маленькие и большие буквы значение имеют (кажется). А в самом квике включили обработку внешних транзакций? |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
![](images/spacer.gif) |
shaly
Зарегистрирован: 01.07.2008
Сообщения: 53
Откуда: Омск
|
Каким образом прописать Lots, если это не константа, а переменная? Простое присвоение ей значения не работает, пишет, Argument has incorrect type (the function expects different argument type here) |
|
|
Посмотреть профиль Отправить личное сообщение |
![](images/spacer.gif) |
000
Site Admin
![](images/avatars/183029264847fb5337d4ea4.gif)
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Вероятно пытаешься присвоить переменной массив.
Для этого надо взять из массива одно значение. Например
Код: |
Lots = LastValue(Array); |
|
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
![](images/spacer.gif) |
shaly
Зарегистрирован: 01.07.2008
Сообщения: 53
Откуда: Омск
|
|
Посмотреть профиль Отправить личное сообщение |
![](images/spacer.gif) |
Alex14
Зарегистрирован: 12.11.2010
Сообщения: 90
|
искал на форуме, но так и не дотюкал как решить проблему
Код: |
for (i = 1; i < BarCount; i++)
{
if (............. //условие покупки
{
Buy1[ i ] = 1;
Pos= 100;
}
if (...................//условие доливки
{
Buy1[ i ] = sigScaleIn;
Pos= 100;
}
if (......................... //условие шорта
{
Short1[ i ] = 1;
Pos= 100;
}
if (........................)//доливка шорта
{
Short1[ i ] = sigScaleIn;
Pos= 100;
}
}
Sell1 = ,,,,,,,,,,,,,,,,;
Cover1 =,,,,,,,,,,,,,,,,,,,,,,,,; |
подскажите пожалуйста, как это код прилепить к роботу? в тестере все считает правильно.
Что необходимо указать в роботе?
чтобы выполнялась доливка на величину Pos, пока хватает денег Сигналы на закрытие лонга и закрытие шорта полностью закрывают позу[/code] |
|
|
Посмотреть профиль Отправить личное сообщение |
![](images/spacer.gif) |
spitfire
![](images/avatars/14059505354d4eba7b43982.jpg)
Зарегистрирован: 29.04.2010
Сообщения: 729
Откуда: Moscow
|
sigScaleIn заменить на 1, также желательно переменную Lots переписывать, если доливки и входы не идентичные по объему. |
|
|
Посмотреть профиль Отправить личное сообщение ICQ Number |
![](images/spacer.gif) |
Alex14
Зарегистрирован: 12.11.2010
Сообщения: 90
|
доливки и входы идентичны по объему, я же в коде указал. И , на сколько я понимаю, Buy=sigScaleIn и Buy=1 это две разные вещи, если заменить то доливки не будет...Или я не прав?Вопрос то и стоит, что указать для Lots= |
|
|
Посмотреть профиль Отправить личное сообщение |
![](images/spacer.gif) |
spitfire
![](images/avatars/14059505354d4eba7b43982.jpg)
Зарегистрирован: 29.04.2010
Сообщения: 729
Откуда: Moscow
|
Для робота, чтобы кинуть заявку, надо чтобы Buy/Sell/Short/Cover = 1. Ему все равно что это - вход или доливка или выход, он работает с направлением сделки, ценой и числом лотов. Так что не сцы, пиши 1 и будет тебе щастье ![Smile](images/smiles/icon_smile.gif) |
|
|
Посмотреть профиль Отправить личное сообщение ICQ Number |
![](images/spacer.gif) |
Alex14
Зарегистрирован: 12.11.2010
Сообщения: 90
|
нееее, если Buy/Sell/Short/Cover = 1, то он видит, что мы в позе и не доливает(((( открывает позу на размер Lots=100 и все, хотя денег еще на 5 доливок хватает, просто условия для открытия позы и доливки одинаковые. Тестер все прогоняет на УРА, а тут запинка |
|
|
Посмотреть профиль Отправить личное сообщение |
![](images/spacer.gif) |
000
Site Admin
![](images/avatars/183029264847fb5337d4ea4.gif)
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Тот робот что есть сейчас не станет доливать никак. Его надо немного переделать.... |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
![](images/spacer.gif) |
spitfire
![](images/avatars/14059505354d4eba7b43982.jpg)
Зарегистрирован: 29.04.2010
Сообщения: 729
Откуда: Moscow
|
Аа, в коде робота Олега в условии вызова процедуры orders есть проверка на то, в позиции мы или нет. И она срабатывает тока если позиции не было, то есть структура вообще-то не подразумевает доливки. Лень весь код разбирать , если в роботе учтена проверка на дубликаты заявок, попробуй заменить условия типа if(Buy1[BarCount-1] AND pos == 0) на просто if(Buy1[BarCount-1]) и посмотри что получится.
ЗЫ Олег, опередил на долю минуты)) Без доливок так без доливок
ЗЗЫ Можешь моего робота глянуть - он за позицией не следит, чисто за заявками. Там доливки реализуются так как я тебе сказал. |
|
|
Посмотреть профиль Отправить личное сообщение ICQ Number |
![](images/spacer.gif) |
Alex14
Зарегистрирован: 12.11.2010
Сообщения: 90
|
спасибо, жаль что не доливает(((было бы здорово |
|
|
Посмотреть профиль Отправить личное сообщение |
![](images/spacer.gif) |
Alex14
Зарегистрирован: 12.11.2010
Сообщения: 90
|
spitfire писал(а): |
ЗЗЫ Можешь моего робота глянуть - он за позицией не следит, чисто за заявками. Там доливки реализуются так как я тебе сказал. |
ага,попробую
И если Олег сказал
Код: |
Его надо немного переделать.... |
то может переделает)))) ведь немного |
|
|
Посмотреть профиль Отправить личное сообщение |
![](images/spacer.gif) |
|
Начать новую тему Ответить на тему |
Список форумов 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 След. |
|
Следующая тема
Предыдущая тема
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах Вы не можете вкладывать файлы Вы не можете скачивать файлы
|
|