Советник Mts Ea Trailingstop R
В мы рассмотрели как написать индикатор для рынка Форекс. Хоть он и не был полезен нам как трейдерам, он был весьма полезен нам как новичкам - программистам., в общем, очень важны.
Но для того, чтобы использовать индикаторы необходимо сидеть перед монитором с широко открытыми глазами и вручную совершать сделки. Если Вы вдруг устанете, решите выпить чашечку чая или взять небольшой отпуск, то Вам придётся рассмотреть одну из следующих опций: Можно кого-нибудь нанять, чтобы он следил и звонил Вам каждые 5 минут, чтобы рассказать, что происходит. Если этот человек профессионал, то Вы будете тратить на него всю свою прибыль. А если он новичок, то Вы потратете на него. Вторая опция — автоматизировать свою торговлю. Именно для этого нужны - они же торговые эксперты - они же механические торговые системы ( МТС). Примечание: не путать с роботами - далее я объясню почему.
Можно сказать, что Советник — это программа, написанная на MQL4 (ведь мы изучаем MQL4, верно?), которая использует Ваши любимые индикаторы, для автоматизации Ваших торгов. Он покупает, продаёт и модифицирует ордера за Вас. Сегодня я попробую подробно описать процесс написания советника для рынка Форекс в MQL4. Шаг 1: Если Вы ещё не открыли свой MetaEditor, то пора бы это сделать. Затем выберите Файл-Создать (или просто нажмите CTRL+N). Появится помощник.
На этот раз надо выбрать пункт «Советник». Шаг 2: После нажатия кнопки «Next», Вы окажетесь в окошке общих параметров советника. Помощник позволяет Вам назначить свойства Вашего советника и задать в, которые будут использоваться в нём. На этом шаге можно задать следующие свойства: 1 — Имя. Название Вашего советника.
Советники на заказ по техническим заданиям любой. 16,833 просмотров MTS “EA_TrailingStop”.
Мы назовём его MyfirstEA. Введите какое либо имя. 4 — Параметры: Это список внешних (extern) параметров. Это те параметры, которые пользователь сможет менять из окошка настроек советника. Для добавления нового параметра нажмите кнопку «Добавить». Нажатие этой конпки приведёт к появлению новой записи в списке внешних переменных. Каждая переменная имеет три поля: Имя: двойной щелчок по этому полю позволит Вам задать имя (идентификатор) переменной.
Тип: двойной щелчок по этому полю позволит Вам задать тип переменной. Начальное значение: двойной щелчок по этому полю позволит Вам задать начальное значение переменной.
Последнее поле является опциональным, что означает, что его можно оставить пустым. В нашем случае, мы добавим три переменные. Торговые функции Рассмотрим 25 торговых функций, часть из которых необходимы нам для продолжения написания советника для рынка Форекс в MQL4.
Советник «EA TrailingStopFCSA». Трейлинг может осуществляться по фракталам, по экстремумам прошлых баров или по указанному количеству пунктов. Может запускаться как отдельный советник или скрипт, совместно с любым советником. Описание: Может запускаться как отдельный советник или как скрипт, совместно с любым советником.. Если TrailingStop меньше ограничения минимального уровня стопов, то трейлинг будет с минимальными стопами. Если TrailingStop = 0 и Tip.Fr.or.Candl=0, то трейлинг будет по фракталам. Для уровня стоплосс выбирается первый соответствующий фрактал. May 30, 2018 - Советник хороший только ругается не по русски. Pallada manual ru.rar (375.8 Кб, 381 просмотров)., 22:18. В комлекте МТС Рallada_special_edition_2009 есть советник-трал. Сделку выставляешь руками а потом включается #Pallada_Tralling EA. Apr 14, 2014 - Может запускаться как отдельный советник или скрипт, совместно с любым. В зависимости от переменной TrailingStop, трейлинг может. Подписаться на обновления сайта cmillion.ru. MTS «EA_TrailingStop».
Для начала мы разберём самую главную функцию — SenOrderd. А затем — все остальные в алфавитном порядке. 1 — OrderSend Синтаксис: int OrderSend( string symbol, int cmd, double volume, double price, int slippage, double stoploss, double takeprofit, string comment=NULL, int magic=0, datetime expiration=0, color arrowcolor=CLRNONE) Описание: Основная функция, используемая для открытия позиции или установки отложенного ордера. Возвращает номер тикета, который назначен ордеру торговым сервером или -1 в случае неудачи. Чтобы получить дополнительную информацию об ошибке, необходимо вызвать функцию GetLastError.
При открытии рыночного ордера ( OPSELL или OPBUY) в качестве цены открытия могут использоваться только самые последние цены Bid ( для продажи) или Ask ( для покупки). Если операция проводится, отличному от текущего, то для получения последних котировок по этому инструменту необходимо воспользоваться функцией MarketInfo с параметром MODEBID или MODEASK. Нельзя использовать расчетную либо ненормализованную цену.
Если запрашиваемой цены открытия не было в ценовом потоке либо запрашиваемая цена не нормализована в соответствии с количеством знаков после десятичной точки, то будет сгенерирована ошибка 129 ( ERRINVALIDPRICE). Если запрашиваемая цена открытия сильно устарела, то независимо от значения параметра slippage будет сгенерирована ошибка 138 (ERRREQUOTE). Если же запрашиваемая цена устарела, но ещё присутствует в ценовом потоке, то позиция открывается по текущей цене и только в том случае, если текущая цена попадает в диапазон price+-slippage. Цены StopLoss и TakeProfit не могут располагаться слишком близко к рынку. Минимальное расстояние стопов в пунктах можно получить, используя функцию MarketInfo с параметром MODESTOPLEVEL.
В случае ошибочных, а также ненормализованных стопов генерируется ошибка 130 (ERRINVALIDSTOPS). При установке отложенного ордера цена открытия не может быть слишком близкой к рынку. Минимальное расстояние отложенной цены от текущей рыночной цены в пунктах также можно получить, используя функцию MarketInfo с параметром MODESTOPLEVEL. В случае неправильной цены открытия отложенного ордера будет сгенерирована ошибка 130 (ERRINVALIDSTOPS). На некоторых торговых серверах может быть установлен запрет на применение срока истечения отложенных ордеров. В этом случае при попытке задать ненулевое значение в параметре expiration будет сгенерирована ошибка 147 ( ERRTRADEEXPIRATIONDENIED). На некоторых торговых серверах может быть установлен лимит на общее количество открытых и отложенных ордеров.
При превышении этого лимита новая позиция открыта не будет (отложенный ордер не будет установлен), и торговый сервер вернет ошибку 148 ( ERRTRADETOOMANYORDERS). Параметры: symbol - Наименование финансового инструмента, с которым проводится. Cmd - Торговая операция. Может быть любым из значений торговых операций. Volume - Количество лотов.
Price - Цена открытия. Slippage - Максимально допустимое отклонение цены для рыночных ордеров (ордеров на покупку или продажу). Stoploss - Цена закрытия позиции при достижении уровня убыточности (0 в случае отсутствия уровня убыточности). Takeprofit - Цена закрытия позиции при достижении уровня прибыльности (0 в случае отсутствия уровня прибыльности). Comment - Текст комментария ордера.
Последняя часть комментария может быть изменена торговым сервером. Magic - Магическое число ордера. Может использоваться как определяемый пользователем идентификатор. Expiration - Срок истечения отложенного ордера.
Arrowcolor - Цвет открывающей стрелки на графике. Если параметр отсутствует или его значение равно CLRNONE, то открывающая стрелка не отображается на графике.
2 — OrderClose Синтаксис: bool OrderClose( int ticket, double lots, double price, int slippage, color Color=CLRNONE) Описание: Закрытие позиции. Возвращает TRUE при успешном завершении функции. Возвращает FALSE при неудачном завершении функции. Чтобы получить информацию об ошибке, необходимо вызвать функцию GetLastError. Параметры: ticket— Уникальный порядковый номер ордера.
Lots — Количество лотов для закрытия. Price — Цена закрытия. Slippage — Значение максимального проскальзывания в пунктах. Color — Цвет стрелки закрытия на графике. Если параметр отсутствует или его значение равно CLRNONE, то стрелка на графике не отображается. 3 — OrderCloseBy Синтаксис: bool OrderCloseBy( int ticket, int opposite, color Color=CLRNONE) Описание: Закрытие одной открытой позиции другой позицией, открытой по тому же самому инструменту, но в противоположном направлении. Возвращает TRUE при успешном завершении функции.
Возвращает FALSE при неудачном завершении функции. Чтобы получить информацию об ошибке, необходимо вызвать функцию GetLastError. Параметры: ticket — Уникальный порядковый номер закрываемого ордера. Opposite — Уникальный порядковый номер противоположного ордера. Color — Цвет стрелки закрытия на графике. Если параметр отсутствует или его значение равно CLRNONE, то стрелка на графике не отображается. 4 — OrderClosePrice Синтаксис: double OrderClosePrice( ) Описание: Возвращает цену закрытия выбранного ордера.
Ордер должен быть предварительно выбран с помощью функции OrderSelect. Параметры: - отсутствуют - 5 — OrderCloseTime Синтаксис: datetime OrderCloseTime( ) Описание: Возвращает время закрытия для выбранного ордера. Только закрытые ордера имеют время закрытия, не равное 0. Открытые или отложенные ордера имеют время закрытия, равное 0. Ордер должен быть предварительно выбран с помощью функции OrderSelect. Параметры: - отсутствуют - 6 — OrderComment Синтаксис: string OrderComment( ) Описание: Возвращает комментарий для выбранного ордера.
Ордер должен быть предварительно выбран с помощью функции OrderSelect. Параметры: - отсутствуют - 7 — OrderCommission Синтаксис: double OrderCommission( ) Описание: Возвращает значение рассчитанной комиссии для выбранного ордера. Ордер должен быть предварительно выбран с помощью функции OrderSelect.
Параметры: - отсутствуют - 8 — OrderDelete Синтаксис: bool OrderDelete( int ticket, color arrowcolor=CLRNONE) Описание: Удаляет ранее установленный отложенный ордер. Возвращает TRUE при успешном завершении функции. Возвращает FALSE при неудачном завершении функции. Чтобы получить информацию об ошибке, необходимо вызвать функцию GetLastError.
Параметры: ticket — Уникальный порядковый номер ордера. Arrowcolor — Цвет стрелки на графике.
Если параметр отсутствует или его значение равно CLRNONE, то стрелка на графике не отображаются. 9 — OrderExpiration Синтаксис: datetime OrderExpiration( ) Описание: Возвращает дату истечения для выбранного отложенного ордера. Ордер должен быть предварительно выбран с помощью функции OrderSelect. Параметры: - отсутствуют - 10 — OrderLots Синтаксис: double OrderLots( ) Описание: Возвращает количество лотов для выбранного ордера. Ордер должен быть предварительно выбран с помощью функции OrderSelect. Параметры: - отсутствуют - 11 — OrderMagicNumber Синтаксис: int OrderMagicNumber( ) Описание: Возвращает идентификационное («магическое») число для выбранного ордера.
Ордер должен быть предварительно выбран с помощью функции OrderSelect. Параметры: - отсутствуют - 12 — OrderModify Синтаксис: bool OrderModify( int ticket, double price, double stoploss, double takeprofit, datetime expiration, color arrowcolor=CLRNONE) Описание: Изменяет параметры ранее открытых позиций или отложенных ордеров. Возвращает TRUE при успешном завершении функции. Возвращает FALSE при неудачном завершении функции.
Чтобы получить информацию об ошибке, необходимо вызвать функцию GetLastError. Замечания: цену открытия и время истечения можно изменять только у отложенных ордеров. Если в качестве параметров функции передать неизмененные значения, то в этом случае будет сгенерирована ошибка 1 ( ERRNORESULT). На некоторых торговых серверах может быть установлен запрет на применение срока истечения отложенных ордеров. В этом случае при попытке задать ненулевое значение в параметре expiration будет сгенерирована ошибка 147 ( ERRTRADEEXPIRATIONDENIED).
Параметры: ticket — Уникальный порядковый номер ордера. Price — Новая цена открытия отложенного ордера. Stoploss — Новое значение StopLoss. Takeprofit — Новое значение TakeProfit. Expiration — Время истечения отложенного ордера. Arrowcolor — Цвет стрелок модификации StopLoss и/или TakeProfit на графике.
Если параметр отсутствует или его значение равно CLRNONE, то стрелки на графике не отображаются. 13 — OrderOpenPrice Синтаксис: double OrderOpenPrice( ) Описание: Возвращает цену открытия для выбранного ордера. Ордер должен быть предварительно выбран с помощью функции OrderSelect. Параметры: - отсутствуют - 14 — OrderOpenTime Синтаксис: datetime OrderOpenTime( ) Описание: Возвращает время открытия выбранного ордера. Ордер должен быть предварительно выбран с помощью функции OrderSelect.
Советник Mts Ea Trailing Stop Reviews
Параметры: - отсутствуют - 15 — OrderPrint Синтаксис: void OrderPrint( ) Описание: Выводит данные ордера в журнал в виде строки следующего формата: номер тикета; время открытия; торговая операция; количество лотов; цена открытия; стоп лосс; тейк профит; время закрытия; цена закрытия; комиссия; своп; прибыль; комментарий; магическое число; дата истечения отложенного ордера. Ордер должен быть предварительно выбран с помощью функции OrderSelect. Параметры: - отсутствуют - 16 — OrderProfit Синтаксис: double OrderProfit( ) Описание: Возвращает значение чистой прибыли для выбранного ордера.
Для открытых позиций это — текущая нереализованная прибыль. Для закрытых ордеров — зафиксированная прибыль. Ордер должен быть предварительно выбран с помощью функции OrderSelect. Параметры: - отсутствуют - 17 — OrderSelect Синтаксис: bool OrderSelect( int index, int select, int pool=MODETRADES) Описание: Функция выбирает ордер для дальнейшей работы с ним.
Возвращает TRUE при успешном завершении функции. Возвращает FALSE при неудачном завершении функции. Чтобы получить информацию об ошибке, необходимо вызвать функцию GetLastError. Параметр pool игнорируется, если ордер выбирается по номеру тикета.
Номер тикета является уникальным идентификатором ордера. Чтобы определить, из какого списка выбран ордер, необходимо проанализировать его время закрытия. Если время закрытия ордера равно 0, то ордер является открытым или отложенным и взят из списка открытых позиций терминала. Отличить открытую позицию от отложенного ордера можно по типу ордера. Если время закрытия ордера не равно 0, то ордер является закрытым или удаленным отложенным и был выбран из истории терминала. Отличить закрытый ордер от удаленного отложенного также можно по типу ордера. Параметры: index — Позиция ордера или номер ордера в зависимости от второго параметра.
Select — Флаг способа выбора. Mожет быть одним из следующих величин: SELECTBYPOS — в параметре index передается порядковый номер позиции в списке, SELECTBYTICKET — в параметре index передается номер тикета. Pool— Источник данных для выбора. Используется, когда параметр select равен SELECTBYPOS. Mожет быть одной из следующих величин: MODETRADES (по умолчанию) — ордер выбирается среди открытых и отложенных ордеров, MODEHISTORY — ордер выбирается среди закрытых и удаленных ордеров.
18 — OrderHistoryTotal Синтаксис: int OrdersHistoryTotal( ) Описание: Возвращает количество закрытых позиций и удаленных ордеров в истории текущего счета, загруженной в клиентском терминале. Размер списка истории зависит от текущих настроек вкладки «История счета» терминала. Параметры: - отсутствуют - 19 — OrderStopLoss Синтаксис: double OrderStopLoss( ) Описание: Возвращает значение цены закрытия позиции при достижении уровня убыточности ( stop loss) для текущего выбранного ордера. Ордер должен быть предварительно выбран с помощью функции OrderSelect.
Параметры: - отсутствуют - 20 — OrdersTotal Синтаксис: int OrdersTotal( ) Описание: Возвращает общее количество открытых и отложенных ордеров. Параметры: - отсутствуют - 21 — OrderSwap Синтаксис: double OrderSwap( ) Описание: Возвращает значение свопа для текущего выбранного ордера. Ордер должен быть предварительно выбран с помощью функции OrderSelect. Параметры: - отсутствуют - 22 — OrderSymbol Синтаксис: string OrderSymbol( ) Описание: Возвращает наименование финансового инструмента для текущего выбранного ордера. Ордер должен быть предварительно выбран с помощью функции OrderSelect. Параметры: - отсутствуют - 23 — OrderTakeProfit Синтаксис: double OrderTakeProfit( ) Описание: Возвращает значение цены закрытия позиции при достижении уровня прибыльности ( take profit) для текущего выбранного ордера Ордер должен быть предварительно выбран с помощью функции OrderSelect. Параметры: - отсутствуют - 24 — OrderTicket Синтаксис: int OrderTicket( ) Описание: Возвращает номер тикета для текущего выбранного ордера.
Ордер должен быть предварительно выбран с помощью функции OrderSelect. Параметры: - отсутствуют - 25 — OrderType Синтаксис: int OrderType( ) Описание: Возвращает тип операции текущего выбранного ордера. Mожет быть одной из следующих величин: OPBUY — позиция на покупку, OPSELL — позиция на продажу, OPBUYLIMIT — отложенный ордер на покупку по достижении заданного уровня, текущая цена выше уровня, OPBUYSTOP — отложенный ордер на покупку по достижении заданного уровня, текущая цена ниже уровня, OPSELLLIMIT — отложенный ордер на продажу по достижении заданного уровня, текущая цена ниже уровня, OPSELLSTOP — отложенный ордер на продажу по достижении заданного уровня, текущая цена выше уровня. Ордер должен быть предварительно выбран с помощью функции OrderSelect.
Советник Mts Ea Trailing Stop Results
Параметры: - отсутствуют - Замечания Хотел бы, чтобы Вы обратили внимание на наиболее важные торговые функции: OrderSend OrderModify OrderSelect OrderClose OrderDelete А на закуску мы рассмотрим ошибки исполнения: Любая торговая операция (функции OrderSend, OrderClose, OrderCloseBy, OrderDelete или OrderModify) по ряду причин может завершиться неудачей и вернуть либо отрицательный номер тикета, либо FALSE. Причину неудачи можно выяснить, вызвав функцию GetLastError. Каждая ошибка должна быть обработана по-своему.
Ниже в таблице приведены общие рекомендации. Коды ошибок, возвращаемые торговым сервером. Я, Николай, инженер по технологии, мастер пром. Цеха, преподаватель, предприниматель, философ, поэт, трейдер и увидел полмира, испытал судьбу, различные религии и приключения. Тело мое 185см 80кг в шрамах, но без наколок, здоровье отменное, душа спокойна, тверда и холодна, как меч самурая. День начинаю и заканчиваю молитвой, потому что верю в прекрасное начало в душе человека! Идеально терпим к любому мнению.
Мои основные интересы Форекс, поэзия, литература, искусство, музыка, раскрутка сайта, ПО и железо, разности и новости интернета. И если Вам импонирует моя философия, отношение к жизни и подача материала, то Приглашаю Вас стать моим другом! Здесь я передаю свой личный опыт в работе на рынке форекс, в создании и раскрутке сайта и размещаю те аспекты интернет жизни, которые меня заинтересовали. Всем же, кто оказался на моих страницах случайно я лишний раз посоветую одуматься и навсегда забыть сюда дорогу, дабы не было более соблазна автору отвлекаться на пустоеКроме того вы должны знать: общаюсь я преимущественно по делу, так как не люблю беспочвенного трёпа и если вы хотите поговорить о погоде, о банальных вещах или спросить как у меня дела – не тратьте на это время.
Если вы считаете себя достаточно подготовленным для конструктивного диалога и вам хочется поделиться со мной глубокой мыслью или дать совет, что-то предложить, получить консультацию или передать информацию, которая может быть полезна – пишите письма Нет ничего сложного в том, чтобы получить желаемое! В силу всего вышесказанного меня совершенно не интересует беспочвенное юзерство, элементарный блуд и бесполезные знакомства.