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



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

СообщениеДобавлено: Вт Июн 30, 2009 5:40 pm Ответить с цитатой Вернуться к началу

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

я заменил Buy = LastValue(Ref(Buy,-1)) на Buy = LastValue(Buy)
и другие аналогично.

возникает 2 проблемы:
1. пропадающие сигналы
2. если два сигнала на одной свече, то у них одинаковый идентификатор - и в файл они не запишутся

как объяснить амиброкеру, что если сделка совершена, то не надо убирать сигнал?
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

СообщениеДобавлено: Вт Июн 30, 2009 6:34 pm Ответить с цитатой Вернуться к началу

Никак. Это у тебя косяк системы. Ошибка в логике определения сигнала. Если хочешь чтобы сигналы исполнялись не дожидаясь закрытия бара, то совершенно нельзя использовать для расчета сигнала цену закрытия. Только High и Low и то внимательно.

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



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

СообщениеДобавлено: Ср Июл 01, 2009 1:19 am Ответить с цитатой Вернуться к началу

хммм
вот я хочу, чтобы у меня произошла продажа (покупка) при пересечении некоторого уровня (llv(...))
ииии?
если я буду дожидаться, пока бар закроется,
то поезд уже уедет, всмысле я по хорошей цене не зайду.
а если не зайду, то потом "уже не надо".

и что же тогда делать????

и вообще, а как сам амиброкер в Еквити определяет когда сигнал "вдруг" исчез?
Посмотреть профиль Отправить личное сообщение
Novi4ok



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

СообщениеДобавлено: Ср Июл 01, 2009 2:17 am Ответить с цитатой Вернуться к началу

===
вот кстати, всегда интересовало
Buy = LastValue(Buy);
т.е. мы получаем число из массива.
а ничего, что у нас переменная числа и массива одинаково называются?
мы тут весь массив не заполняем последним значением?


Последний раз редактировалось: Novi4ok (Ср Июл 01, 2009 2:53 am), всего редактировалось 1 раз
Посмотреть профиль Отправить личное сообщение
Novi4ok



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

СообщениеДобавлено: Ср Июл 01, 2009 2:31 am Ответить с цитатой Вернуться к началу

а как вообще Ами анализирует одну свечу?
постоянно ее сканирует каждую секунду?
да.
а результаты предыдущего сканирования где-то можно сохранить в переменной или массиве?

если да (ну хоть бы да, хоть бы да!)
можно, конечно, и в файле - но эт геморой и падение надежности системы.

итак,
у нас есть массив-триггер.
если Low бара ниже уровня, а Close выше, то триггер срабатывает (=1) и больше не меняет своего значения до конца бара, даже если потом цена будет ниже уровня!!!!

а в условие пишем:
Buy = trigger;
Посмотреть профиль Отправить личное сообщение
Novi4ok



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

СообщениеДобавлено: Ср Июл 01, 2009 2:43 am Ответить с цитатой Вернуться к началу

как бы я сделал с файлом
(чисто теоретически, т.к. с файлами не умею работать).

файл - это нечто ВЕЧНОЕ И НЕЗЫБЛЕМОЕ.

делаем так:
Buy1 = C>Level;
Buy2 = прочитай из файла - если есть запись на покупку с номером текущей транзакции, тогда покупай;

Buy = Buy1 OR Buy2;

ВУАЛЯ, вот и все решение!

но чтение файла каждую секунду... это бррррр

теперь бы файл заменить виртуальным файлом, а попросту массивом-триггером.

как бы это сделать... хм
Посмотреть профиль Отправить личное сообщение
Novi4ok



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

СообщениеДобавлено: Ср Июл 01, 2009 2:49 am Ответить с цитатой Вернуться к началу

первый способ
хранить эту инфу в виндовском Клипборде
но это мегаизврат!

функции
ClipboardGet
ClipboardSet
Посмотреть профиль Отправить личное сообщение
Novi4ok



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

СообщениеДобавлено: Ср Июл 01, 2009 2:57 am Ответить с цитатой Вернуться к началу

ДА!!!!!!!!!!!!!!!
Я СДЕЛАЛ ЭТО!!!!!

StaticVarSet("buy1", 1);
bb = StaticVarGet("buy1");
Buy = bb;

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

эээ еще проблема:
статическая переменная ОДНА.
и меняя ее значение, меняю ли я условие на покупку не только текущего бара, но и прошлых? а их значения мне нужны неизменными!

здесь мы опять сталкиваемся с эээ нестандартной методой анализа амиброкера = когда он анализирует сразу весь период всем массивом!

или робота это не касается - раз мы говорим ему анализировать только последний бар? (надеюсь ДА!)
Посмотреть профиль Отправить личное сообщение
Novi4ok



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

СообщениеДобавлено: Ср Июл 01, 2009 3:42 am Ответить с цитатой Вернуться к началу

OOO писал:
Цитата:
А запись в .tri не должна сдублироваться, т.е. робот на одном баре не должен делать несколько сделок


почему бы не разрешить?
Посмотреть профиль Отправить личное сообщение
Novi4ok



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

СообщениеДобавлено: Ср Июл 01, 2009 1:32 pm Ответить с цитатой Вернуться к началу

ну как вам предложение со статик переменной?
есть ли подводные камни?

и будет ли Equity работать в режиме реального времени, если на одном баре куча сделок купи-продай

например, по сигналу купили. потом выбило по стопу - продали. потом опять поступил сигнал налонг - что мешает купить? вот как Еквити на это посмотрит? если поставить галку allow same bar exit (single bar trade).

и надо переделать индикаторы, добавить n, чтобы в один день много сделок было, а то он же ж в файл не запишет.
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

СообщениеДобавлено: Ср Июл 01, 2009 10:52 pm Ответить с цитатой Вернуться к началу

Novi4ok писал(а):
хммм
вот я хочу, чтобы у меня произошла продажа (покупка) при пересечении некоторого уровня (llv(...))
ииии?
если я буду дожидаться, пока бар закроется,
то поезд уже уедет, всмысле я по хорошей цене не зайду.
а если не зайду, то потом "уже не надо".

и что же тогда делать????

и вообще, а как сам амиброкер в Еквити определяет когда сигнал "вдруг" исчез?

Задача как раз в том, чтобы сигнал не исчезал. Если сигнал по закрытию, то сделку можно совершать только в момент закрытия свчки. В противном случае грошь цена тестированию такой стратегии. По тесту типа сделки не было, а в реале вот она....
А если сигнал Hi/Lo и предполагает мгновенное исполнение (например пробитие уровня) то и исчезать он не должен.

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


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

СообщениеДобавлено: Ср Июл 01, 2009 10:54 pm Ответить с цитатой Вернуться к началу

Novi4ok писал(а):
===
вот кстати, всегда интересовало
Buy = LastValue(Buy);
т.е. мы получаем число из массива.
а ничего, что у нас переменная числа и массива одинаково называются?
мы тут весь массив не заполняем последним значением?

Нормально. В Ами по существу всё массивы.

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


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

СообщениеДобавлено: Ср Июл 01, 2009 10:55 pm Ответить с цитатой Вернуться к началу

Novi4ok писал(а):
а как вообще Ами анализирует одну свечу?
постоянно ее сканирует каждую секунду?
да.
а результаты предыдущего сканирования где-то можно сохранить в переменной или массиве?

если да (ну хоть бы да, хоть бы да!)
можно, конечно, и в файле - но эт геморой и падение надежности системы.

итак,
у нас есть массив-триггер.
если Low бара ниже уровня, а Close выше, то триггер срабатывает (=1) и больше не меняет своего значения до конца бара, даже если потом цена будет ниже уровня!!!!

а в условие пишем:
Buy = trigger;

А как это протестировать?
Или торговать без теста?

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


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

СообщениеДобавлено: Ср Июл 01, 2009 11:00 pm Ответить с цитатой Вернуться к началу

Novi4ok писал(а):
ДА!!!!!!!!!!!!!!!
Я СДЕЛАЛ ЭТО!!!!!

StaticVarSet("buy1", 1);
bb = StaticVarGet("buy1");
Buy = bb;

вопрос только, остается ли статическая переменная между запусками АА (полагаю да)

Между запусками АА скорее всего да (точно не знаю) а вот если Ами закрыть, то и переменная пропадет.
Novi4ok писал(а):

второй вопрос, как ее сбрасывать в 0, в начале каждого бара.
хмммм....

Напимер сравнивать время предпоследнего бара и текущее. Если текущее НЕМНОГО больше, то новый бар открылся недавно.
Novi4ok писал(а):

эээ еще проблема:
статическая переменная ОДНА.
и меняя ее значение, меняю ли я условие на покупку не только текущего бара, но и прошлых? а их значения мне нужны неизменными!

В последних бетах статическая переменная является обычным Амишным массиво со всеми вытекающими

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


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

СообщениеДобавлено: Ср Июл 01, 2009 11:04 pm Ответить с цитатой Вернуться к началу

Novi4ok писал(а):
OOO писал:
Цитата:
А запись в .tri не должна сдублироваться, т.е. робот на одном баре не должен делать несколько сделок


почему бы не разрешить?

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

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


 Перейти:   



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


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

File Attachment © by Meik Sievertsen