Как заработать деньги. Проект сам себе финансист.
апрель 2024
пн вт ср чт пт сб вс
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30

Оператор переключения switch

Оператор переключения switch Ранее мы узнали об условном операторе if-else, с помощью которого можно изменить порядок выполнения операторов в эксперте. Достаточно часто возникают ситуации, когда нам надо заложить в эксперте не два, а больше варианта развития событий. Например, переменная i может принимать целочисленные значения от 1 до 5 и в зависимости от того, какое значение имеет эта переменная, возможны 5 различных последовательностей операторов. Такую задачу легко можно решить с использованием множества вложенных условных операторов if-else. Такой код будет работать, но его очень тяжело читать и воспринимать. Для большей наглядности в таких случаях лучше использовать оператор переключения switch. Формат оператора switch: Принцип работы этого оператора: сначала вычисляется значение "выражения", потом среди констант "константа1", "константа2" и др. ищется константа, которая равна результату "выражения". Если такая константа найдена, то оправление передается на соответствующую группу операторов.
Полная версия статьи
Категория: Советники форекс


Учим эксперта торговать

Учим эксперта торговать Я уверен, что Вам уже не терпиться научить Вашего эксперта торговать. Язык MetaQuotes Language 4 позволяет осуществлять ПОЛНЫЙ контроль над торговым счетом - открывать/закрывать позиции, размещать/модифицировать и удалять ордера, получать информацию об открытых позициях и уже закрытых сделках и многое-многое другое. В данной статье я хочу привести полный список торговых функций, которые можно вызывать в эксперте, а в следующих выпусках подробно остановлюсь на каждой функции. Функция Краткое описание HistoryTotal Количество закрытых позиций и удаленных ордеров OrderClose Закрывает позицию OrderCloseBy Закрывает позицию другой позицией (локированной) OrderClosePrice Цена закрытия выбранного функцией OrderSelect() ордера/позиции OrderCloseTime Дата и время закрытия выбранного функцией OrderSelect() ордера/позиции OrderComment Комментарий выбранного функцией OrderSelect() ордера/позиции OrderCommission Комиссия выбранного функцией OrderSelect() ордера/позиции OrderDelete Удаляет отложенный ордер OrderExpiration Дата истечения выбранного функцией OrderSelect() ордера/позиции OrderLots Количество лотов в выбранном функцией OrderSelect() ордере/позиции OrderMagicNumber "Магическое" число выбранного функцией OrderSelect() ордера/позиции OrderModify Изменяет уровень и дату эксперации отложенного ордера…
Полная версия статьи
Категория: Советники форекс


Досрочный выход из цикла с помощью оператора break

Досрочный выход из цикла с помощью оператора break В прошлых выпусках мы познакомились с двумя способами организации циклов в советнике: операторе цикла while и об операторе цикла for. Достаточно часто возникает потребность досрочно выйти из цикла - для этого используется оператор break. Оператор досрочного завершения цикла break Как уже было сказано, оператор break используется для досрочного выхода из ближайшего вложенного внешнего оператора цикла while или for. Также оператор break используется для выхода из оператора switch (будет рассказано о нем в следующих выпусках). Пример использования этого оператора: int i; for ( i = 0; i В нашем примере цикл исполнится не 10 раз, а только 6, т. к. в тот момент, когда переменная i будет равна 5, в операторе if-else условие i=5 станет истинным и будет выполнен оператор break, т. к. произойдет досрочный выход из цикла.
Полная версия статьи
Категория: Советники форекс


Досрочное завершение очередной итерации цикла с помощью оператора continue

Досрочное завершение очередной итерации цикла с помощью оператора continue В предыдущей статье мы узнали о том, как можно досрочно выйти из цикла с помощью оператора break. Тем не менее иногда нам нужно не навсегда выйти из цикла, а просто завершить досрочно очередную его итерацию. Для этого используется оператор continue. Оператор continue прерывает выполнение текущей итерации и передает управление на начало ближайшего внешнего оператора цикла for или while, запуская на исполнение следующую итерацию. Пример использования оператора continue: В следующей статье будет рассказано об операторе-переключателе switch. Автор статьи: Андрей Ведихин
Полная версия статьи
Категория: Советники форекс


Создание собственных функций

Создание собственных функций Любой эксперт, как мы уже увидели в предыдущей статье, состоит из как минимум трех функций: init(), start() и deinit(). Без понимания, что они делают, невозможно написать своего эксперта, поэтому я в следующей статье подробно эти функции рассмотрю. Для начала же полезно понять, а что такое функция вообще. Допустим Вы в своей программе часто производите одни и те же действия. Вы можете в каждом месте написать код, который выполняет эти действия. Тем не менее это неудобно и неправильно с нескольких точек зрения: Если вдруг Вам понадобится внести изменения в этот кусок кода, то это придется делать везде, где он используется. Существует большая вероятность, что где-то Вы забудете внести изменения, и советник будет торговать с ошибками. Гораздо более читабельным будет код, когда выполнение повторяющихся действий вынесено в отдельную функцию, а в соответствующих местах эта функция вызывается.
Полная версия статьи
Категория: Советники форекс


Логические операции

Логические операции В предыдущей статье мы узнали об операциях отношения, с помощью которых можно сравнить две переменные. Результатом выступало значение типа bool. Напомню, что значение ЛОЖЬ (false) представляется в виде нулевого значения, а ИСТИНА (true) - ненулевого. В данной статье будут рассмотрены логические операции НЕ (!), ИЛИ (||) и И (&&). Логическое отрицание НЕ (!) Операнд A Значение выражения! A  ИСТИНА (true)   ЛОЖЬ (false)   ЛОЖЬ (false)   ИСТИНА (true)  Пример: bool b; b = false; // переменная b равна false (ЛОЖЬ) b = !b; // переменная b равна true (ИСТИНА) b = !b; // переменная b равна false (ЛОЖЬ) Логическая операция ИЛИ (||) Результат логической операции ИЛИ равен true, если хотя бы один из операндов равен true. Если оба операнда равны false, то и результат логического ИЛИ также будет равен false. Операнд A Операнд B Значение выражения A || B  ЛОЖЬ (false)   ЛОЖЬ (false)   ЛОЖЬ (false)   ЛОЖЬ (false)   ИСТИНА (true)   ИСТИНА (true)   ИСТИНА (true)   ЛОЖЬ (false)   ИСТИНА (true)   ИСТИНА (true)   ИСТИНА (true)   ИСТИНА (true)  Пример: bool a = true; // a равно true bool b = false; // b равно false b = b || a; // b равно true Логическая операция И (&&) Результат операции логического И будет равен true только в случае, если оба операнда равны true.
Полная версия статьи
Категория: Советники форекс


Оператор цикла for

Оператор цикла for В предыдущей статье мы узнали об операторе цикла while. Этот оператор используется, когда необходимо повторить некоторую последовательность действий несколько раз (или ни одного). Подобную задачу можно решить также с помощью другого оператора цикла - оператора for. Формат оператора цикла for: for ( выражение1; выражение2; выражение3 ) оператор; Выполнение оператора цикла for начинается с вычисления "выражения1". Это своего рода инициализация цикла, которая выполняется только один раз и предшествует последующим действиям. После этого вычисляется "выражение2". Если оно истинно, то выполняется "оператор". Далее вычисляется "выражение3". Первая итерация цикла закончена. Вторая итерация начинается опять с вычисления "выражения2". Если оно истинно, то выполняется "оператор". Далее опять вычисляется "выражение3" и так продолжается до тех пор, пока "выражение2" будет истинным. Если же уже на первой итерации "выражение2" будет ложным, то цикл не исполнится ни разу. Если вникнуть в логику работы оператора цикла for…
Полная версия статьи
Категория: Советники форекс


Условный оператор if-else

Условный оператор if-else В данной статье мы вернемся к рассмотрению нашего первого советника и расскажем об условном операторе if-else, который используется в функции init(). int init() { //---- if (iMA(NULL, 0, MAPeriod, 0, MODE_EMA, PRICE_CLOSE, 0) > Close[0]) CurrentState = STATE_SHORT; else CurrentState = STATE_LONG; MyOrderTicket = 0; //---- return(0); } Формат условного оператора if-else: if (выражение) первый_оператор else второй_оператор Принцип работы оператора: вычисляется значение выражения в скобках; если оно равно true, то выполняется "первый_оператор", в противном случае - "второй_оператор". В нашем первом эксперте в функции init() есть такая строчка: if (iMA(NULL, 0, MAPeriod, 0, MODE_EMA, PRICE_CLOSE, 0) > Close[0]) CurrentState = STATE_SHORT; else CurrentState = STATE_LONG; В этой строчке вычисляется выражение iMA(NULL, 0, MAPeriod, 0, MODE_EMA, PRICE_CLOSE, 0) > Close[0]. Забегая вперед, скажу, что в этом выражении сравнивается значение экспоненциальной скользящей средней по цене закрытия с периодом, определенным внешней переменной MAPeriod, и цена закрытия текущего бара ( Close[0] ).
Полная версия статьи
Категория: Советники форекс


Составной оператор

Составной оператор В выпуске " Использование констант в эксперте " мы научились описывать константы и разобрались, что же в коде нашего первого эксперта означают следующие строчки. #define STATE_SQUARE 0 #define STATE_LONG 1 #define STATE_SHORT 2 В выпуске Внешние переменные мы научились задавать параметры эксперта, и нам стали понятны следующие строчки: extern int MAPeriod = 13; extern double LotsNumber = 1.0; Кроме локальных и статических переменных мы рассмотрели и глобальные (на уровне одного модуля) переменные, в результате приоткрылась завеса над еще двумя строчками нашего эксперта: int CurrentState; int MyOrderTicket; Теперь рассмотрим более подробно, что же в нашем эксперте делает функция init(). int init() { //---- if (iMA(NULL, 0, MAPeriod, 0, MODE_EMA, PRICE_CLOSE, 0) > Close[0]) CurrentState = STATE_SHORT; else CurrentState = STATE_LONG; MyOrderTicket = 0; //---- return(0); } Как мы знаем из выпуска " Функции init()…
Полная версия статьи
Категория: Советники форекс


Внешние переменные

Внешние переменные В предыдущей статье мы узнали о локальных и статических переменных. В данной статье я остановлюсь на внешних переменных. Внешние переменные Мы уже сталкивались с внешними переменными, когда описывали параметры эксперта MAPeriod и LotsNumber в коде нашего первого эксперта. Внешние переменные описываются с помощью зарезервированного слова extern: extern int MAPeriod=13; extern double LotsNumber=1.0; Внешние переменные не могут быть массивами. Внешние переменные - это параметры эксперта, которые можно изменять. "Прикрепите" эксперт к графику. Для этого нажмите правую кнопку мыши на названии эксперта в окне "Навигатор" и в появившемся контекстном меню выберите "Присоединить к графику". Появится окно свойств эксперта. Во вкладке "Входные параметры" Вы можете изменить значения внешних переменных, описанных в эксперте (см. рис. 1). Рис. 1. Параметры эксперта Если эксперт уже "прикреплен" к графику (в правом верхнем углу графика Вы видите улыбающуюся или грустную рожицу)…
Полная версия статьи
Категория: Советники форекс


Прыг: 02 03 04 05 06 07 08 09 10 11
Скок: 10

Есть что сказать? Не стесняйтесь!






Видео по теме:




В мире больших денег

  • Самые богатые люди
    планеты. Ежегодные рейтинги FORBS. Истории успеха признаных финансовых гуру
  • Самые дорогие вещи:
    Часы, автомобили, ноутбуки стоимотью в десятки и сотни тысяч долларов. Рубрика "Чтоб я так жил"
  • Денежные прогнозы
    Что покупать и что продавать? Периодические прогнозы цен на иностранные валюты, акции крупнейших компаний и драгоценные металлы

ВКонтакте с деньгами

УГОЛОК АДМИНИСТРАТОРА