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



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

СообщениеДобавлено: Пн Ноя 09, 2009 6:11 pm Ответить с цитатой Вернуться к началу

Пробую разобраться с применением функций. Написал простую.
Вроде работает (сама функция, алгоритм не отлажен), но тормозит даже нажатие мышки по 1-1.5 мин. поэтому и отлаживать грустно.
Может кто подскажет?
Подсознательно - неправильно использую переменные внутри функции с [i] и без [i]...
P.S. пытался "помочь" Олегу Smile соорудить гибкий стоп, Ratchet по чаку Лебо, так у Олега - не тормозит, хотя все сложнее в неск раз...
Все же когда внутри цикла применять [i] а когда просто писать переменные, да еще они бывают слева от равенства, вправа и по обе стороны - не догнал... Может кто ткнет в правила? Буду благодарен ( оченьSmile

_________________
"Единственная pабота, достойная нас, — pабота над собой". Шон де Уоppен
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

СообщениеДобавлено: Пн Ноя 09, 2009 6:23 pm Ответить с цитатой Вернуться к началу

Тут конкретный косяк.
Код:

  for(i = 20; i < BarCount; i++)
  {
    if(Buy[i]) {
      ATRSTOP = LLV(L - (Mult*ATR(10)), LLVPer);
      MATRStop = HighestSince(Buy[i], ATRSTOP);
    }
  }

Не правильно использовать в цикле функцию LLV и массив L, надо элемент L[i]

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



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

СообщениеДобавлено: Пн Ноя 09, 2009 6:35 pm Ответить с цитатой Вернуться к началу

Заменил!
Стоп перестал рисоваться - рисует почти ровную линию ,
Тормозит похоже еще больше - не смог прокрутить график к началу, посмотреть - откуда берется эта линия...

_________________
"Единственная pабота, достойная нас, — pабота над собой". Шон де Уоppен
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

СообщениеДобавлено: Пн Ноя 09, 2009 6:44 pm Ответить с цитатой Вернуться к началу

Сегодня вечером подробно посмотрю.

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


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

СообщениеДобавлено: Вт Ноя 10, 2009 12:45 am Ответить с цитатой Вернуться к началу

Так. У тебя очень много ошибок. На столько много, что я даже не смог понять алгоритм.
Вот смотри.
Код:

    if(Buy[i]) {
      ATRSTOP = LLV(L - (Mult*ATR(10)), LLVPer);

Т.е. ATRSTOP расчитывается только в момент сигнала Buy.
Все остальное время он неопределен.
Далее
Код:

MATRStop = HighestSince(Buy[i], ATRSTOP);

Максимальное значение. Ну почти наверняка максимальное значение и будет в момент Buy. Исключение составляют случаи когда после Buy без Sell снова идет Buy.
......
Может надо было просто вот так
Код:

barsLLo=37;
HLineLo = HHV(H, barsHLo);
LLineLo = LLV(L, barsLLo);
CB1 = H > Ref(HlineLo, -1);
CB2 = IIf(L > LLineLo AND (LLineLo == Ref(Llinelo,-5)), 1, 0);
Buy = CB1 OR CB2;
/////////////ATRSTOP///////////////

Mult =0.31;
CB1 = Flip(CB1, CB2);
LLVPer = IIf(CB1, 44, 10);

function ATRST(Mult,LLVPer) {
  ATRSTOP = LLV(L - (Mult*ATR(10)), LLVPer);
  MATRStop = HighestSince(Buy, ATRSTOP);

  return MATRSTOP;
}
Sell = Cross(ATRST(Mult, LLVPer), L);
Equity(1, 0);

Plot(ATRST(Mult,LLVPer),"MATRSTOP",colorYellow,32);
Plot(HLineLo,"V7",colorBlue);
Plot(LLineLo,"V1",colorBlue);
PlotShapes(Buy*shapeUpArrow,colorBlue,0,L,-10);

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



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

СообщениеДобавлено: Вт Ноя 10, 2009 10:34 am Ответить с цитатой Вернуться к началу

Спасибо, Олег!
Как то совсем простоSmile)) А Где же циклы????
Я наверное неделю убил, чтобы написать без цикла, потом сдался, и начал их изучать, а ты вот так, на корню Sad((
Алгоритм: В первом посте написал, что не отлажен, была идея просто научиться вставлять функции как подпрограммы. (Первый шаг)
Глобально - ищу дополнительные входы к трендовой стратегии, например контртренд. АТР стоп решил проверить, не будет ли он лучше Ратчет. Ратчет часто загибается рано и обрезает тренды. Конечно все входит по новой, на пробое, но все равно "жалко".
АТР стоп идет как бы параллельно цене, и при резком ее движении - срабатывает.Тоже не фонтан, но: проверю, что лучше.
Как мне кажется, фонтан, ( в области выходов) это когда к разным типам рынков можно применить разные типы выходов/стопов.
Ну это я опять скатываюсь к своей старой идее иметь много кубиков (входы, сопровождение, выходы) а потом их комбинировать. и найти компромисс... Т.к. за каркас никто не берется ( такой глобальный цикл, который будет проверять типы рынка, позицию, и выбирать соответствующие для этих входных условий - варианты, входов, сопровождений выходов из заранее протестированных кубиков), то
Пробую пока что то типа подпрограмм, с минимальным набором 2 шт.
Основные входы и доп. входы. выход пока - один, но с вариантами изменения параметров в зависимости от типа входа... (Не доделано)
Достоинства этого типа контртренд входа:
- собрал почти все важные входы,
- высокая доходность просто самих входов контр тренд,
Недостатки: частые входы на падающем рынке, при малейшей стабилизации (вход ведется на разводыSmile
- неравномерность эквити. Первый недостаток думаю значительно уменьшится шортами, т.к. тестер не будет входить в лонг, если явный шорт, да и второй тоже.
Если кому интересно - пишите, может чего вместе соорудим!
Олег! Заметил "странную" закономерность! На этом сайте коды, написанные под ником "ООО" в основном работают, с другими все гораздо хужеSmile
Спасибо еще раз!

_________________
"Единственная pабота, достойная нас, — pабота над собой". Шон де Уоppен
Посмотреть профиль Отправить личное сообщение
Показать сообщения:      
Начать новую тему  Ответить на тему


 Перейти:   



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


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

File Attachment © by Meik Sievertsen