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



Зарегистрирован: 05.04.2010
Сообщения: 2
Откуда: Москва

СообщениеДобавлено: Вт Апр 06, 2010 12:18 pm Ответить с цитатой Вернуться к началу

Добрый день.
При тестировании системы возникают сигналы входа и выхода на одной свече. При скане они видны. Но когда запускается Бэктест, то в нем данной позиции нет. Как можно это исправить?
Посмотреть профиль Отправить личное сообщение ICQ Number
000
Site Admin


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

СообщениеДобавлено: Вт Апр 06, 2010 9:14 pm Ответить с цитатой Вернуться к началу

В настройках АА включи опцию Allow same bar exit (single bar trade)

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



Зарегистрирован: 05.04.2010
Сообщения: 2
Откуда: Москва

СообщениеДобавлено: Ср Апр 07, 2010 11:22 am Ответить с цитатой Вернуться к началу

000 писал(а):
В настройках АА включи опцию Allow same bar exit (single bar trade)


Большое спасибо!
Посмотреть профиль Отправить личное сообщение ICQ Number
AntColonel



Зарегистрирован: 03.05.2011
Сообщения: 213
Откуда: Новосибирск

СообщениеДобавлено: Ср Окт 22, 2014 5:08 am Ответить с цитатой Вернуться к началу

А подскажите, какими условиями можно прописать Cover и Sell, дабы они закрывали позицию по цене закрытия свечи, учитывая то, что открытие было по цене входа. К примеру, имеем цену открытия выше чего-то и в рамках тестирования тут же входим по ней. Это прописать легко. А вот выход на той же свече по цене закрытия?
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

СообщениеДобавлено: Ср Окт 22, 2014 8:58 am Ответить с цитатой Вернуться к началу

Код:
Sell = Buy;
SellPrice = Close;
Laughing

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



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

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

Олег, а как избавляться от задваивания сигналов на одном баре?
Запускаю скрипт через AA-Explore-Run every 30sec с ТФ 15, условие выполняется, приходит сигнал buy. Через минуту цена уходит, условие не выполняется. Затем снова цена доходит до выполнения условия и мне приходит второй сигнал buy внутри одного бара.
Можно сделать так, чтобы вход в сделку происходил сразу же с приходом первого сигнала buy, не дожидаясь закрытия бара?
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

СообщениеДобавлено: Ср Июл 15, 2015 9:20 pm Ответить с цитатой Вернуться к началу

inivin писал(а):
Олег, а как избавляться от задваивания сигналов на одном баре?
Запускаю скрипт через AA-Explore-Run every 30sec с ТФ 15, условие выполняется, приходит сигнал buy. Через минуту цена уходит, условие не выполняется. Затем снова цена доходит до выполнения условия и мне приходит второй сигнал buy внутри одного бара.
Можно сделать так, чтобы вход в сделку происходил сразу же с приходом первого сигнала buy, не дожидаясь закрытия бара?

Это вопрос про робота?

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



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

СообщениеДобавлено: Ср Июл 15, 2015 9:39 pm Ответить с цитатой Вернуться к началу

Нет, пишу скрипт сам. Пока при возникновении сигнала на открытие позиции генерируется только алерт.
Посмотреть профиль Отправить личное сообщение
inivin



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

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

000 писал(а):

Это вопрос про робота?

Нет, пишу скрипт сам. Пока при возникновении сигнала на открытие позиции генерируется только алерт.
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

СообщениеДобавлено: Чт Июл 16, 2015 8:20 am Ответить с цитатой Вернуться к началу

В общем надо ставить ключ после сигнала и когда сигнал проверять. Если он есть, то сигнал игнорировать.
Типа так

Код:
varname = Name() + "_key";
key = StaticVarGet( varname );

Buy = ..... AND != key

if(LastValue(Buy))
{
    StaticVarSet(varname, 1);
}


Следует иметь ввиду, что статическую переменную Ами помнит только до перезагрузки. Соответственно если в течении дня перегрузить, то он "забудет" что сигнал уже был и при случае его снова покажет. А на завтра наоборот обязательно надо перегрузить. Иначе он будет "помнить" вчерашние сигналы.

Можно ключь записывать в файл этим http://www.amisite.ru/files/as_file.php плагином.

Тогда так

Код:

signal_key = AS_READ_PARAM("my_file", Name(), "signal_key");

if(AS_READ_PARAM("Vasilev_Robot", Name(), "Data") != LastValue(DateNum()))
{
   AS_WRITE_PARAM("my_file", Name(), "signal_key", 0);
   AS_WRITE_PARAM("my_file", Name(), "Data", LastValue(DateNum())); // когда начался новый день сбрсываем ключ.
}

Buy = ... and signal_key == 0;
if(LastValue(Buy))
{
   AS_WRITE_PARAM("my_file", Name(), "signal_key", 1);
   AS_WRITE_PARAM("my_file", Name(), "Data", LastValue(DateNum()));
}

_________________
ceterum censeo carthaginem esse delendam
Удачи. Олег.

Последний раз редактировалось: 000 (Чт Июл 16, 2015 10:42 am), всего редактировалось 1 раз
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
inivin



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

СообщениеДобавлено: Чт Июл 16, 2015 9:48 am Ответить с цитатой Вернуться к началу

Спасибо! В моем случае надо наверно только обнулять signal_key не раз в день, в начале каждого 15минутного бара.


Последний раз редактировалось: inivin (Чт Июл 16, 2015 10:51 am), всего редактировалось 1 раз
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

СообщениеДобавлено: Чт Июл 16, 2015 10:44 am Ответить с цитатой Вернуться к началу

Там у меня описка была. В строке
if(AS_READ_PARAM("Vasilev_Robot", Name(), "Data") != LastValue(DateNum())) вместо Data было date. Исправил.

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



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

СообщениеДобавлено: Чт Июл 16, 2015 11:10 am Ответить с цитатой Вернуться к началу

000 писал(а):
Там у меня описка была. В строке
if(AS_READ_PARAM("Vasilev_Robot", Name(), "Data") != LastValue(DateNum())) вместо Data было date. Исправил.

Такой код получился, с обнулением флага каждый бар

signal_key = AS_READ_PARAM("signals.ini", Name(), "signal_key");
if(AS_READ_PARAM("signals.ini", Name(), "BarIndex") != LastValue(BarIndex()))
{
AS_WRITE_PARAM("signals.ini", Name(), "signal_key", 0);
AS_WRITE_PARAM("signals.ini", Name(), "BarIndex", LastValue(BarIndex()));
}
Buy = ..........;
Short =...............;
if(LastValue(Buy) OR LastValue(Short))
{
AS_WRITE_PARAM("signals.ini", Name(), "signal_key", 1);
AS_WRITE_PARAM("signals.ini", Name(), "BarIndex", LastValue(BarIndex()));
}
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

СообщениеДобавлено: Чт Июл 16, 2015 12:41 pm Ответить с цитатой Вернуться к началу

Только имей ввиду, что BarIndex одного бара может меняться.
Тому могут быть 2 причины.
1. Квик АФЛ. По умолчанию АФЛ старается использовать не все данные, а столько, сколько необходимо для правильного расчета используемых в коде функций. Соответствено если для этого надо только 40 баров, то последний всегда будет считаться 40ым. Добавился новый бар и он стал 40 а тот что раньше был 40ым стал 39ым. Ну это легко отключить. Функция SetBarsRequired(sbrAll, 0)
2. Плагин данных. При создании базы данных задается длинна истории которая должна в ней содержаться (параметр Number of Bars). И если плагин данных написан правильно, то он, при достижении этого числа баров должен удалять самые старые и оставлять только заданное число баров. Соответственно BarIndex в такой ситуации тоже работать не будет.

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



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

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

1. Quick AFL я учел, отключено.
2. Это не знал, спасибо. Хотя, в настройках базы стоит 200000 баров, сейчас текущий BarIndex чуть больше 3000, те с такими темпами при 15мин ТФ потребуется 10лет до заполнения лимита)

А ещё не подскажешь, как ширину столбцов в окне Old Style AA выравнивать по размеру данных? Для уменьшения места на экране, у меня 12 столбцов и почти весь экран по ширине получается, мышкой каждый раз уменьшать ширину неудобно. По умолчанию ширина столбцов намного шире данных.


Последний раз редактировалось: inivin (Чт Июл 16, 2015 2:01 pm), всего редактировалось 1 раз
Посмотреть профиль Отправить личное сообщение
Показать сообщения:      
Начать новую тему  Ответить на тему


 Перейти:   



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


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

File Attachment © by Meik Sievertsen