if ((AroonDownClose_20_[Bar] >= 75.0)&&(AroonDownClose_20_[Bar] <= 100.0)) //
if ((StochD14_5_[Bar] >= 1.9416)&&(StochD14_5_[Bar] <= 10.3487)) //
Загоняем, считаем:
| Названия строк | Коли | Profit % |
Концепция работы на рынке:
1. Принимаем, что всё рыночное пространство состоит из 3-х состояний:
— направленное движение (тренд)
- ненаправленное движение (боковик)
- переход между этими состояниями.
2. Создаём торговую систему для тренда (стопы + высиживание прибыли).
3. Создаём торговую систему для боковика (без стопов + короткие тэйки)
4. Применяем наклон эквити или статистику преобладания прибыльных и убыточных дней как индикатор для включения 1-й или 2-й ТС.
Получаем следующий результат:
1. Трендовый рынок. Включается трендовая ТС и зарабатывает на «своём» рынке.
2. Переход от тренда к боковику. Показатели трендовой ТС постепенно ухудшаются, и она выключается.
3. Ненаправленный рынок. Включается ТС для боковика и зарабатывает на «своём» рынке.
4. Переход от боковика к тренду. Показатели нетрендовой ТС постепенно ухудшаются, и она выключается.
5. Закольцовываем эту последовательность действий.
Видит ли кто-то ошибки в такой архитектуре или в применяемой модели?

Очень простая, многопоточная серверная и клиентская библиотека Named Pipe, реализованная с использованием C++11. Проект был проверен на компиляторе mingw 7.3.0 x64. Папка code_blocks содержит примеры для IDE Code::Blocks. Не забудьте в проектах указать свой компилятор, иначе проект не соберется. Сделал либу только сегодня, так что в ней могут быть ошибочки.
#include <iostream>
#include "named-pipe-server.hpp"
int main() {
/* в конструкторе сервера можно также задать размер буфера */
SimpleNamedPipe::NamedPipeServer server("my_server");
/* обработчики событий */
server.on_open = [&](SimpleNamedPipe::NamedPipeServer::Connection* connection) {
std::cout << "open, handle: " << connection->get_handle() << std::endl;
};
server.on_message = [&](SimpleNamedPipe::NamedPipeServer::Connection* connection,
const std::string &in_message) {
/* обрабатываем входящие сообщения */
std::cout << "message " << in_message << ", handle: " << connection->get_handle() << std::endl;
connection->send("ok");
};
server.on_close = [&](SimpleNamedPipe::NamedPipeServer::Connection* connection) {
std::cout << "close, handle: " << connection->get_handle() << std::endl;
};
server.on_error = [&](SimpleNamedPipe::NamedPipeServer::Connection* connection, const std::error_code &ec) {
std::cout << "error, handle: " << connection->get_handle() << ", what " << ec.value() << std::endl;
};
/* запускаем сервер */
server.start();
std::system("pause");
/* останавливаем сервер
* (деструктор класса сам выполнит остановку, вызывать не обязательно)
*/
server.stop();
std::cout << "close program" << std::endl;
return EXIT_SUCCESS;
}