Одни выбирают инвестирования и планируют свои действия на годы или десятилетия вперед. Совершая одну или две сделки за год. Другие, наоборот, берут минимальные изменения цены, но делают это по сотне раз на день. Что общего у таких, разных на первый взгляд, стилях торговли.
Выпущена новая версия платформы MetaTrader 5:
Опять я упустил прибыль по золоту. Неужели меня опять начала преследовать эта детская проблема трейдинга — раннее закрытие позы?

Неделя началась хорошо для золота — оно пошло вверх. И, что суко характерно, я мог бы взять прибыль по золоту, если бы не закрыл перед выходными сделку в лонг с мизерной прибылью. Ну да ладно, лонг мы упустили, так может шорт удался? Ведь золото потом начало падать. Но я опять обгадился — хоть и проснулся рано, но не включил метатрейдер, поэтому не увидел точку входа в шорт. Ладно! Зато смог войти в лонг, вход на скриншоте выше. Всё началось удачно — цена поползла сразу вверх, но далее я на важном сопротивлении перессал и закрыл мелкую прибыль 48 пипсов. А эта сука пошла расти до 194 пипсов! Вот кошмар!.
В итоге я упустил почти 200 пипсов прибыли. Печально. Так и чешутся руки застолбить прибыль, а ведь не нужно этого делать, надо давать прибыли течь, как говорится.
Сергей Елисеев — создатель Option Lab, известный опционный трейдер, преподавать курсов и семинаров по торговле опционами.
Создатель Algo Volatility Trading Fund. На рынке с 2000 года.
В интервью мы обсудим:

Очень простая, многопоточная серверная и клиентская библиотека 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;
}