Список форумов AmiSite.ru AmiSite.ru
Форум по Ами
 FAQ  •  Поиск  •  Пользователи  •  Группы   •  Регистрация  •  Профиль  •  Войти и проверить личные сообщения  •  Вход
 Обсуждение робота с главной страницы сайта Следующая тема
Предыдущая тема
Начать новую тему  Ответить на тему
Автор Сообщение
000
Site Admin


Зарегистрирован: 10.12.2007
Сообщения: 9106

СообщениеДобавлено: Сб Янв 15, 2022 7:14 am Ответить с цитатой Вернуться к началу

Так и пиши
Код:
if(Buy AND oper == "S")

_________________
ceterum censeo carthaginem esse delendam
Удачи. Олег.
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
DennyV8



Зарегистрирован: 11.01.2022
Сообщения: 100

СообщениеДобавлено: Пн Янв 17, 2022 4:54 pm Ответить с цитатой Вернуться к началу

000 писал(а):
Так и пиши
Код:
if(Buy AND oper == "S")


Есть 2 проблемки по формату записи в TRI файл :

1. До внесения изменений заметил, что в файле TRI после обычной записи появляется нижняя пустая строка, и при помощи фишки Trace понял, что мой поиск, о чем писал выше , не работает, так как строка нижняя пустая ))
Как только я ее ручками удаляю, то все пучком, поиск пашет.

Вопрос такой можно ли ее как-то удалять при записи в TRI файл?
Или например проводить поиск в предпоследней сроке?

2. После замены if (Buy) на if (Buy AND oper == "S") вроде как работает, что нужно, фильтрует, но возникла еще одна проблема, новая нижняя строка пишется не внизу а рядом с прошлой, в результате имеем в файле TRI предпоследнюю длинную запись из 2-х строк и пустую самую нижнюю строку.

В итоге смысл теряется, так как вернулись к п.1

Можно ли как-то это побороть? ))

Пока рою забугорные форумы.
Посмотреть профиль Отправить личное сообщение
DennyV8



Зарегистрирован: 11.01.2022
Сообщения: 100

СообщениеДобавлено: Пн Янв 17, 2022 9:57 pm Ответить с цитатой Вернуться к началу

DennyV8 писал(а):
000 писал(а):
Так и пиши
Код:
if(Buy AND oper == "S")


Есть 2 проблемки по формату записи в TRI файл :

1. До внесения изменений заметил, что в файле TRI после обычной записи появляется нижняя пустая строка, и при помощи фишки Trace понял, что мой поиск, о чем писал выше , не работает, так как строка нижняя пустая ))
Как только я ее ручками удаляю, то все пучком, поиск пашет.

Вопрос такой можно ли ее как-то удалять при записи в TRI файл?
Или например проводить поиск в предпоследней сроке?

2. После замены if (Buy) на if (Buy AND oper == "S") вроде как работает, что нужно, фильтрует, но возникла еще одна проблема, новая нижняя строка пишется не внизу а рядом с прошлой, в результате имеем в файле TRI предпоследнюю длинную запись из 2-х строк и пустую самую нижнюю строку.

В итоге смысл теряется, так как вернулись к п.1

Можно ли как-то это побороть? ))

Пока рою забугорные форумы.



В общем победил походу, к концу дня )))

в итоге пришел к тому что надо поменять в строке

fputs(sstr+ "\n",f);

начало новой строки для записи в итоге получилось так,
теперь нижняя пустая строка отсутствует......фууууухххххх))))

fputs("\n"+sstr,f);

Также победил номер в Trans_ID, теперь он у меня на 1 год рассчитан без повторов при помощи команды DayOfYear ( от 1 до 365 дней), вдру кому надо еще ))

Также в боте уходят заявки по маркету, люблю когда нет заморочек со всякими лимитками с проскальзыванием и частичными срабатываниями заявок......

Спасибо за помощь....
Посмотреть профиль Отправить личное сообщение
000
Site Admin


Зарегистрирован: 10.12.2007
Сообщения: 9106

СообщениеДобавлено: Пн Янв 17, 2022 10:17 pm Ответить с цитатой Вернуться к началу

Кросаучег. Поздравляю!

_________________
ceterum censeo carthaginem esse delendam
Удачи. Олег.
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
DennyV8



Зарегистрирован: 11.01.2022
Сообщения: 100

СообщениеДобавлено: Вт Янв 18, 2022 12:03 am Ответить с цитатой Вернуться к началу

000 писал(а):
Кросаучег. Поздравляю!


Спасибо, Amibroker после Велслаба 4 проще заходит )))

Только я тут хотел добавить одно условие, если вдруг файл TRI у меня пустой, назначил букву number = "A", но когда вставляю в этот код с оператором OR, то ничего не происходит, может тут как-то по другому записывается условие ИЛИ, т.е. либо IF Buy==number "S" ИЛИ Buy ==number "A", если одно из условий срабатывает, то выполнять условие указанное в цикле IF

if (TimeFrame == Interval() & FullName() != "")
{
// if(Buy)
if(Buy AND number == "S") OR ??
{
price = Close[BarCount-1] + Otstup;
dir = "1";
makeandsave("B", price);
}

// if(Sell)
if(Sell AND number == "B") OR ??
{
price = Close[BarCount-1] - Otstup;
dir = "2";
makeandsave("S", price);
}

}
Посмотреть профиль Отправить личное сообщение
000
Site Admin


Зарегистрирован: 10.12.2007
Сообщения: 9106

СообщениеДобавлено: Вт Янв 18, 2022 9:21 am Ответить с цитатой Вернуться к началу

Если сигнал Buy и предыдущий сигнал "S" или файл пустой то... ?
Код:
if(Buy AND (number == "S" OR number == "A"))

_________________
ceterum censeo carthaginem esse delendam
Удачи. Олег.
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
DennyV8



Зарегистрирован: 11.01.2022
Сообщения: 100

СообщениеДобавлено: Вт Янв 18, 2022 1:40 pm Ответить с цитатой Вернуться к началу

000 писал(а):
Если сигнал Buy и предыдущий сигнал "S" или файл пустой то... ?
Код:
if(Buy AND (number == "S" OR number == "A"))


Ага, точняк...пошла жара...Я скобки не там ставил, а оно вон как надо Smile)
Теперь главное чтобы Quik TRI файлы не отменил Smile)

Я так понимаю других вариантов связки на сегодня нет ?

Спс.
Посмотреть профиль Отправить личное сообщение
000
Site Admin


Зарегистрирован: 10.12.2007
Сообщения: 9106

СообщениеДобавлено: Вт Янв 18, 2022 3:26 pm Ответить с цитатой Вернуться к началу

ну и как тебе Ами по сравнению с Велсом?

_________________
ceterum censeo carthaginem esse delendam
Удачи. Олег.
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
DennyV8



Зарегистрирован: 11.01.2022
Сообщения: 100

СообщениеДобавлено: Вт Янв 18, 2022 3:38 pm Ответить с цитатой Вернуться к началу

000 писал(а):
ну и как тебе Ами по сравнению с Велсом?


Ну выглядит пока проще, о в Велсе 4 почти Паскаль который я учил ранее ))

Я вот тут подумал, что в моем случае бота , который сканирует TRI файл последнюю строку для выяснения в какой позе находится, в случае с двумя инструментами будет проблемас....так то при стандартных условиях второй инструмент передается в TRI файл, но вот отследить его уже становится проблема.

Видимо тупо с 2 акканутов и разных Квиков запускать и вопросов нет ))
Посмотреть профиль Отправить личное сообщение
000
Site Admin


Зарегистрирован: 10.12.2007
Сообщения: 9106

СообщениеДобавлено: Вт Янв 18, 2022 3:52 pm Ответить с цитатой Вернуться к началу

А в чем проблема. В строке же пишется имя бумаги по которой транзакция.... Ну конечно с логикой надо похимичить, но возможно....

_________________
ceterum censeo carthaginem esse delendam
Удачи. Олег.
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
DennyV8



Зарегистрирован: 11.01.2022
Сообщения: 100

СообщениеДобавлено: Вт Янв 18, 2022 4:01 pm Ответить с цитатой Вернуться к началу

000 писал(а):
А в чем проблема. В строке же пишется имя бумаги по которой транзакция.... Ну конечно с логикой надо похимичить, но возможно....


Так то с ходу я и прикинул, но когда запустил, один тикер занял нижнюю строчку и может занять и не одну, если по 1 одному тикеру больше сделок прошло чем по второму, вот второй хрен поймаешь, его последняя сделка может быть в любой строчке Smile)
По мне так проще 2 Квика запустить....так что если не надо отслеживать то все норм ))
Но это пока планы только ))

Еще вопрос есть, одновременно можно в одном Амике с одной базой только работать?
Посмотреть профиль Отправить личное сообщение
DennyV8



Зарегистрирован: 11.01.2022
Сообщения: 100

СообщениеДобавлено: Вт Янв 18, 2022 4:47 pm Ответить с цитатой Вернуться к началу

DennyV8 писал(а):
000 писал(а):
А в чем проблема. В строке же пишется имя бумаги по которой транзакция.... Ну конечно с логикой надо похимичить, но возможно....


Так то с ходу я и прикинул, но когда запустил, один тикер занял нижнюю строчку и может занять и не одну, если по 1 одному тикеру больше сделок прошло чем по второму, вот второй хрен поймаешь, его последняя сделка может быть в любой строчке Smile)
По мне так проще 2 Квика запустить....так что если не надо отслеживать то все норм ))
Но это пока планы только ))

Еще вопрос есть, одновременно можно в одном Амике с одной базой только работать?



Чет прикинул логику и сделал, у каждого тикера свой TRI файл,
и каждый тикер передает копию последней строки в файл для QUIk...
даже работает )))))

Только не будет ли проблем если оба тикера секунду в секунду пошлют запись в файл TRI для квика?
Хотя вероятность такого события по моему не реальная вобще.
Посмотреть профиль Отправить личное сообщение
000
Site Admin


Зарегистрирован: 10.12.2007
Сообщения: 9106

СообщениеДобавлено: Вт Янв 18, 2022 4:47 pm Ответить с цитатой Вернуться к началу

DennyV8 писал(а):

Еще вопрос есть, одновременно можно в одном Амике с одной базой только работать?

Да.

По работе со строкаи. Смотри. Цикл читает все строки подряд. Прочитал, проверил символ. Если Он, то запомнил строку. Читаем дальше. Если опять он, то перезапомнил новую. Таки макаром в конце цикла у тебя будет последняя строка с нужным символом.

_________________
ceterum censeo carthaginem esse delendam
Удачи. Олег.
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
DennyV8



Зарегистрирован: 11.01.2022
Сообщения: 100

СообщениеДобавлено: Пт Фев 04, 2022 1:33 am Ответить с цитатой Вернуться к началу

000 писал(а):
DennyV8 писал(а):

Еще вопрос есть, одновременно можно в одном Амике с одной базой только работать?

Да.

По работе со строкаи. Смотри. Цикл читает все строки подряд. Прочитал, проверил символ. Если Он, то запомнил строку. Читаем дальше. Если опять он, то перезапомнил новую. Таки макаром в конце цикла у тебя будет последняя строка с нужным символом.


Тут перечитывал Вашего робота и заметил одну вещь, у Вас робот входит
в позицию на следующей свече :

Buy = LastValue(Ref(Buy, -1));

Мне нужно входить на текущей, я меняю так :

Buy = Buy[BarCount - 1];

вроде все правильно, но только сейчас решил узнать, а в строке
формирования транзакции в файл TRI у Вас при условии входа на следующей свече прописано так :

price = Close[BarCount-1] + Otstup;

не нужно ли мне изменить эту строчку под мое условие входа на текущем баре? Только сейчас обратил внимание, что у меня в файл TRI отсылается одинаковая цена, что при входе на следующем баре, что при входе на текущем Smile)
Посмотреть профиль Отправить личное сообщение
000
Site Admin


Зарегистрирован: 10.12.2007
Сообщения: 9106

СообщениеДобавлено: Пт Фев 04, 2022 9:10 am Ответить с цитатой Вернуться к началу

Потому, что для входа нужна не прошлая цена, а текущая. Там ничего менять не надо.

_________________
ceterum censeo carthaginem esse delendam
Удачи. Олег.
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Показать сообщения:      
Начать новую тему  Ответить на тему


 Перейти:   



Следующая тема
Предыдущая тема
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете вкладывать файлы
Вы не можете скачивать файлы


Powered by phpBB © 2001, 2002 phpBB Group :: FI Theme :: Часовой пояс: GMT + 3

File Attachment © by Meik Sievertsen