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



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

СообщениеДобавлено: Пт Май 19, 2017 7:07 am Ответить с цитатой Вернуться к началу

Здравствуйте! Опять тема про повторные сигналы. Я тестирую на секундных графиках. Повторные сигналы убираю с помощью цикла. В результате полученный код Амиброкер просто не переваривает, замирает на несколько секунд, а потом рожает. При такой скорости работы невозможно оптимизировать систему. Нельзя ли это как нибудь исправить? Догадываюсь, что цикл считается по всем барам от начала до конца, а баров очень много. Из за этого замирает Амиброкер. Вот сам код:

Код:
Short1 = ;
ShortPrice1= ;
Buy1  = ;
BuyPrice1 = ;

Short = 0;
Buy  = 0;
Cover = 0;
Sell = 0;
pos = 0;

   for(i = 0; i < BarCount; i++)
   {
        if(pos == 0)
        {
             if(Short1[i])
             {
                Short[i] = 1;
      ShortPrice[i] = ShortPrice1[i];
                pos = -1;
             }
            if(Buy1[i])
             {
                Buy[i] = 1;
      BuyPrice[i] = BuyPrice1[i];
                pos = 1;
             }
        }
        else if(pos == -1) 
                       
        {
         Cover1= ;
         CoverPrice1 = ;

            if(Cover1[i])
             {
              Cover[i] = 1;
      CoverPrice[i] = CoverPrice1[i];
      pos = 0;
           }
        }
       else if(pos == 1)                             
        {
             Sell1 =  ;
            SellPrice1 = ;

         if(Sell1[i])
             {
              Sell[i] = 1;
      SellPrice[i] = SellPrice1[i];
      pos = 0;

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


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

СообщениеДобавлено: Пт Май 19, 2017 10:00 am Ответить с цитатой Вернуться к началу

А точно надо убирать повторные сигналы? По умолчанию тестер их игнорирует. Кроме того можно воспользоваться функцией ExRem()

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



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

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

000 писал(а):
А точно надо убирать повторные сигналы? По умолчанию тестер их игнорирует. Кроме того можно воспользоваться функцией ExRem()

Дело в том, что Cover1, CoverPrice1, Sell1 и SellPrice1 используют в своей формуле параметры на баре входа ValueWhen(Buy,) и ValueWhen(Short,) поэтому важно отсечь последующие сигналы Buy и Short для получения верных параметров. Пробовал без цикла вставить конструкцию
Код:
Short = ExRem(Short,Cover);
Buy = ExRem(Buy,Sell);

Но это не помогает, так как эту конструкцию надо вставлять после задания Cover и Sell. А Cover и Sell уже используют параметры на Buy и
Short

Может можно как то сократить число итераций цикла, например прогонять его не от начального бара , а от точки входа в позицию?
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

СообщениеДобавлено: Пт Май 19, 2017 6:43 pm Ответить с цитатой Вернуться к началу

Не. Увы. Тогда или невозможно сделать или я не знаю.

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


 Перейти:   



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


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

File Attachment © by Meik Sievertsen