Запустите Zorro. Выберите скрипт Alice1a и актив EUR/USD (все скрипты и стратегии, описанные в книге, можно скачать с сайта financial-hacker.com/). Убедитесь, что ползунок Период установлен на 60 минут. Затем нажмите [Test]:
Боб занимается валютной торговлей с 1995 г. В некоторые годы его прибыль достигала шестизначных цифр, и единственным предметом его беспокойства была налоговая декларация. Но в последнее время дела идут не очень хорошо. Фактически, в течение последних трех лет он приносил только убытки. Резервы тают. Что-то должно измениться. Но что? Боб уже посетил все существующие семинары по трейдингу. Он уже прочитал все книги по трейдингу. Остается только один вариант. Именно поэтому Бобу сегодня назначена встреча с Алисой.
Пока я еще не стал миллионером, я должен продолжать торговать. Это был просто пример цикла «while».
В коде это будет выглядеть следующим образом:
while(Vermoegen < 1000000) trade(Vermoegen);
Оператор while имеет точно такой же синтаксис, как и оператор if. Имеется условие — в данном случае, что переменная Vermoegen меньше одного миллиона — и последующий оператор, который выполняется, если условие истинно. В этом случае программа будет просто продолжена. С другой стороны, с помощью оператора while программа «перепрыгивает» назад к условию и проверяет его снова. Если он по-прежнему применим, зависимое утверждение выполняется снова. Это повторяется до тех пор, пока либо условие не станет ложным в какой-то момент, либо пока кто-то не выдернет вилку из розетки.
Если я хочу тратить больше 3 000 евро в месяц, мне нужна новая стратегия. В противном случае подойдет моя старая стратегия.
Это пример ветви if/else. В коде это будет выглядеть следующим образом:
if(Ausgaben > 3000) neue_strategie_starten(); else alte_strategie_fortsetzen();
Операторы «if» используются, когда сценарий должен принимать решения — то есть, когда он должен вести себя по-разному в зависимости от того, истинно условие или нет. Таким условием может быть ввод данных пользователем, величина случайного числа, результат математической операции или пересечение двух индикаторов. Основная форма оператора if выглядит следующим образом:
Функция также может принимать переменные или числовые значения от вызывающей функции, использовать их для своих вычислений и возвращать результат. Вот пример функции, которая получает переменные и возвращает их:
var euro_to_dollar(var Euro) { var Kurs = 1.36; return Euro * Kurs; }
Переменная var Euro в скобках содержит числовое значение, которое передается в функцию. Эта переменная может использоваться в функции как любая другая переменная. Чтобы вернуть число, запишите его — или выражение, которое вычисляет это число — после оператора return. Это возвращаемое число — называемое возвращаемым значением — может быть затем обработано в вызывающей функции.
Как только вы поймете переменные и функции, вы узнаете, как работает сценарий. Точно так же, как объявляются переменные, вы должны объявить функции, прежде чем сможете их использовать. Вот небольшой пример объявления функции:
function addiere() { var a, b, c; a = 3; b = 5; c = a + b; }
Функция — это не что иное, как набор деклараций и инструкций, которые затем поочередно выполняются компьютером. Давайте рассмотрим некоторые свойства функций:
► Функция объявляется словом function, за которым следует имя функции и пара скобок ( ). Скобки используются для передачи дополнительных переменных в функцию; подробнее об этом позже. В нашем случае мы не передавали никаких переменных, поэтому скобки пусты.
Чтобы взломать фондовый рынок, вам нужны две вещи. Во-первых, программное обеспечение для изучения, тестирования и реализации торговых методов, а во-вторых, компьютерный язык для определения ваших стратегий. Однако из сотен существующих торговых платформ и языков очень немногие подходят для взлома фондового рынка. Визуальные «наборы для построения стратегий» или программы электронных таблиц можно использовать только для очень простых систем, с которыми невозможно получить прибыль. Для разработки реальной стратегии невозможно обойтись без программирования.
Это правда, что язык программирования изучается гораздо быстрее, чем иностранный язык, потому что вам не нужно зубрить словарный запас. Если вы все же хотите избежать этого, вы можете читать книгу вообще без программирования.
Классический метод принятия торговых решений на основе кривой цен называется техническим анализом. Он основан на убеждении, что иное представление ценовой кривой — с помощью так называемых технических индикаторов — дает представление о ситуации на рынке и может в нужный момент указать сигналы на покупку или продажу.
Обычно вы хотите знать, растет или падает цена. Для этого прогноза вы смотрите на последнюю часть ценовой кривой — скажем, на цены закрытия последних 20 баров. Итак, у вас есть 20 различных цен, которые вы хотите свести к одному числу, скажем, к будущему тренду цен. Математически это означает, что вы выполняете преобразование из 20-мерного пространства чисел в 1-мерное пространство. Такая функция преобразования называется техническим индикатором. Расчет с 20 измерениями звучит сложно, но общие показатели очень просты.
Кривая цен на рис. 1 на первый взгляд производит довольно хаотичное впечатление. С середины апреля до начала июня можно выделить область подъема — тренд. Если бы вы купили в начале роста и продали в конце, то получили бы хорошую прибыль. Но как узнать заранее, когда начинается и когда заканчивается тренд? Кривая, похоже, не помогает, потому что в пределах тренда, а также в других областях она показывает много нерегулярных колебаний. Очевидно, что помимо тренда он подвержен множеству различных влияний. Эти влияния исходят от рынка — совокупности всех покупателей и продавцов рассматриваемого актива. В случае с курсом EUR/USD это все банки, трейдеры и валютные дилеры, которые торгуют евро и долларами.
На эффективном рынке цены зависят только от реальных событий. В случае с акциями компаний это может быть публикация квартальных результатов или объявление нового вида продукции, в случае с иностранной валютой — например, изменение политики центрального банка или публикация экономических данных.
Частная финансовая торговля превратилась в эквивалент золотой лихорадки XIX века под названием «дневная торговля» — с теми же группами участников, которые существовали в те времена. В самом низу пищевой цепочки находятся золотодобытчики. Это частные трейдеры, которые целыми днями смотрят в мониторы своих компьютеров, ожидая подходящего момента для покупки или продажи. Их вдохновляют истории о гигантских самородках, которые сделали их находчиков сказочно богатыми. Выше по пищевой цепочке находятся экипировщики — продавцы торговых роботов, систем, книг и семинаров, торговые тренеры, консультанты и поставщики сигналов. Их жертвами становятся частные торговцы. В отличие от них, они действительно приносят доход. Многие аутфиттеры — бывшие трейдеры, которые в какой-то момент обнаружили, где действительно лежит золото. А вершину пищевой цепочки делят между собой крупные горнодобывающие компании: Хедж-фонды, инвестиционные банки и другие учреждения, которые используют профессиональные методы добычи, такие как алгоритмическая торговля или высокочастотная торговля. К таким компаниям относятся и брокерские фирмы, которые зарабатывают хорошие деньги, позволяя частным торговцам копать на своей территории.