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



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

СообщениеДобавлено: Вт Дек 21, 2010 4:19 pm Ответить с цитатой Вернуться к началу

Попробовал построить карту развития цен, как Кургузкин в своей книжке пишет... ввел

t=Optimize("t",5,1,30,1);
Buy = ......
Sell = BarsSince(Buy)==t ;

Запустил. Поглядел. Решил проверить на графике вариант 5-го бара (который по умолчанию) ....
Оказывается - такой код делает выходы совсем не всегда на 5-ом баре, как сказано.
Половина выходов происходит гораздо позже !!! Т.е. карта выходит лажовая.

Только если поставить жесткий выход в конце дня (по Таймнум), и выход на т-баре прописать как

t=Optimize("t",5,1,30,1);
ApplyStop( stopTypeNBar, stopModeBars, t );

Только тогда выход будет точно на том бар, который задан.

Почему так?

P.S. Ами 5.3. комиссия ноль. маржа 100. только лонги
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

СообщениеДобавлено: Вт Дек 21, 2010 10:48 pm Ответить с цитатой Вернуться к началу

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

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



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

СообщениеДобавлено: Чт Дек 23, 2010 2:10 pm Ответить с цитатой Вернуться к началу

Спасибо Олег - Вы были совершенно правы....

Но теперь возник следующий вопрос - как вести позицию, правильно перенося стоп-приказ, от момента входа (Buy)? если этот самый Buy регулярно дает ложные сигналы (становится True когда никакого Buy не происходит, потому что мы УЖЕ в позиции и наращивать ее не собираемся) ?

Например, такой стоп - на два АТР ниже лоя того бара, который набрал объём 1000 или больше. По-хорошему, МТС должна войти и ждать появления баров с большим объёмом. После появления каждого такого бара она должна перносить стоп на уровень лоя этого бара минус АТР, если этот уровень не ниже последнего стопа (трейлинг все-таки).

Интуитивно код пишется таким

LongAtrStop = HighestSince (Buy ==1 AND V> 1000, Low-(2*ATR(10), 1 );
Sell = LongAtrStop;

но я так понял, сигналы Buy ==1 будут срабатывать не только по реальному входу в позицию, но и по любому срабатыванию условий на вход.

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


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

СообщениеДобавлено: Чт Дек 23, 2010 11:41 pm Ответить с цитатой Вернуться к началу

Тогда лучше всего написать цикл и постепенно слева на право отследить все правила ведения позиции. Типа так
Код:

Buy1 = правила покупки;

At = ATR(10);

pos = 0;
stopLevel = 0;

for( i = 0; i < BarCount; i++ )
{
  if(pos == 0)
  {
    if(Buy1[i])
    {
      Buy[i] = 1;
      BuyPrice[i] = C[i];
      Pos = 1;
      stopLevel = L[i] - 2*At[i];
    }
  }
  else if(pos == 1)
  {
    if(L[i] <= stopLevel) // Стоп
    {
      Sell[i] = 1;
      SellPrice[i] = stopLevel;
      pos = 0;
    }
    else if(V[i] >= 1000) // перенос стопа
    {
      stopLevel = L[i] - 2*At[i];
    }
  }
}

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


 Перейти:   



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


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

File Attachment © by Meik Sievertsen