Обсуждение статьи "Пошаговое руководство по написанию советников в MQL5 для начинающих" - страница 4

Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Я очень благодарен за эту статью, она мне очень помогла. После написания кодов для советника я нажал кнопку отладки и мне сказали, что у меня 10 ошибок, в вашей статье нет никакой информации для исправления этих ошибок. Как мне решить эту проблему, пожалуйста, напишите мне как можно скорее?
Привет, Стейси,
Спасибо за комплимент, как вы и сказали, исправление некоторых ошибок в коде не было рассмотрено в статье, однако скоро будет опубликована другая статья, в которой подробно рассказывается о том, как решить ошибки в коде.
Просто подождите ее.
Спасибо
Сэмюэль.
привет всем!
Я новичок и я пытаюсь написать E.A следуя руководству, но он не делает ордера на продажу или покупку.
Мой алгоритм использует 2 ma (6 и 12) и 1 rsi(14), вот так:
bool Buy_Condition_1 = (maVal_fast[0]<maVal_slow[0]) && (maVal_fast[1] > maVal_slow[1]);
bool Buy_Condition_2 = (rsiVal[0] < Pereprod);
if(Buy_Condition_1 && Buy_Condition_2)
{
// бла... бла...
mrequest.price = NormalizeDouble(latest_price.ask,_Digits); // последняя цена ask
mrequest.sl = NormalizeDouble(latest_price.ask - STP*_Point,_Digits); // Стоп-лосс
mrequest.tp = NormalizeDouble(latest_price.ask + TKP*_Point,_Digits); // Take Profit
mrequest.volume = Lot;// количество лотов для торговли
mrequest.type = ORDER_TYPE_BUY;
// .............
}
но он не переходит в код сегмента выше. поэтому он не может автоматизировать торговлю. = = =!
Мне нужна помощь :(.
Я использую PRICE_MEDIAN вместо PRICE_CLOSE (я не знаю разницы между ними).
спасибо.
hi everyone!
i am a beginer and i am trying to write an E.A follow the guide but it did not make sell or buy order.
Здравствуйте,
Не могли бы вы предоставить ваш код, чтобы мы могли увидеть, в чем проблема?
Мы решили хранить значения Stop Loss и Take Profit в определенных ранее переменных STP и TKP. Почему мы это сделали?
Это сделано потому, что значения входных параметров не могут быть модифицированы, они только для чтения.
Мы должны быть уверены в том, что наш советник будет корректно работать со всеми брокерами. Для определения точности цены котировок по текущему символу графика можно воспользоваться.
Удивительный "подход" используют уважаемые и опытные программисты для "решения проблемы" 5-тизнака. А теперь этот "подход" ещё и культивируется среди новичков, в учебной, можно сказать, литературе.
Приведённый автором "подход" полностью сводит на нет всё преимущество 5-тизнака. Вместо того, чтобы объяснить новичку, что введение 5-тизначной котировки даёт возможность установить, например, тейк-профит не 10 пунктов, а 10,5. А также объяснить, что при использовании советника на 5-тизнаке надо указывать тейк-профит не 10 пунктов, а 100. Вместо таких объяснений в программный код вводятся строки, которые программно не дают возможность использовать преимущества 5-тизначных котировок.
"Мы должны быть уверены в том, что наш советник будет корректно работать со всеми брокерами". Ну убедились и дальше что? Как теперь использовать преимущество 5-тизнака, если программно советник это преимущество "приговорил исправно служить".
Удивительный "подход" используют уважаемые и опытные программисты для "решения проблемы" 5-тизнака. А теперь этот "подход" ещё и культивируется среди новичков, в учебной, можно сказать, литературе.
Приведённый автором "подход" полностью сводит на нет всё преимущество 5-тизнака. Вместо того, чтобы объяснить новичку, что введение 5-тизначной котировки даёт возможность установить, например, тейк-профит не 10 пунктов, а 10,5. А также объяснить, что при использовании советника на 5-тизнаке надо указывать тейк-профит не 10 пунктов, а 100. Вместо таких объяснений в программный код вводятся строки, которые программно не дают возможность использовать преимущества 5-тизначных котировок.
"Мы должны быть уверены в том, что наш советник будет корректно работать со всеми брокерами". Ну убедились и дальше что? Как теперь использовать преимущество 5-тизнака, если программно советник это преимущество "приговорил исправно служить".
10,5 - это тот еще аргумент :)
А стандартизация на 4 знака вполне объяснима, если учесть необходимость универсальной работы на счетах с разной точностью.
Возможно если все брокеры будут использовать счета с 5 знаками такой обработки не понадобится (хотя для универсальности кода наличие такого блока не повредит) ИМХО.
А вот как это не дает воспользоваться преимуществами 5-го знака я понять не могу.
Точность данного блока вполне позволяет пользоваться 1-м четырехзначным пунктом (условно "стандартным"), в пересчете на пятизнак выйдет 10 пипсов.
PS
Не думаю большинство брокеров позволят нормально использовать меньшее значение. Даже если позволят и в этом будет необходимость из положения можно будет выкрутиться (пусть даже применив такие странности как 0,1-0,9).
10,5 - это тот еще аргумент :)
А стандартизация на 4 знака вполне объяснима, если учесть необходимость универсальной работы на счетах с разной точностью.
Возможно если все брокеры будут использовать счета с 5 знаками такой обработки не понадобится (хотя для универсальности кода наличие такого блока не повредит) ИМХО.
А вот как это не дает воспользоваться преимуществами 5-го знака я понять не могу.
Точность данного блока вполне позволяет пользоваться 1-м четырехзначным пунктом (условно "стандартным"), в пересчете на пятизнак выйдет 10 пипсов.
PS
Не думаю большинство брокеров позволят нормально использовать меньшее значение. Даже если позволят и в этом будет необходимость из положения можно будет выкрутиться (пусть даже применив такие странности как 0,1-0,9).
При 4-хзнаках цена изменяется на 0,0001, при 5-ти - на 0,00001.
На 4-хзнаке нет возможности сделать возможным закрыться по тейку через 10,5 стандартных пунктах, а на 5-тизнаке такая возможность есть.
Если программно использовать вышеуказанный блок, то при использоварнии советника на 5-тизнаке возможность изменить, например, тейк на 10,5 стандартных пункта будет отсутствовать. Для скальперов это важно.
Чтобы советник корректно работал на 4-х и 5-тизнаке надо при округлениях программно учитывать значность котировок, а во входных параметрах при задании, например, тейка, вручную учитывать, что 10 стандартных пункта записываются как 100.
В противном случае, если использовать такие блоки, то при переходе с к5-тизнака на 4-хзнак, что придётся делить?
Это же входные параметры, зачем с ними производить "странные" операции преобразования
На 4-хзнаке нет возможности сделать возможным закрыться по тейку через 10,5 стандартных пунктах, а на 5-тизнаке такая возможность есть.
Вы торгуете? Или так, потеоритезировать захтелось?
Очень слабо представляю себе советника, для которого изменение ТП на 0.5 пункта сильно скажется на результатах. Для 99% советников проще и удобнее указывать все значения в 4-хзначных пунктах. А оставшийся 1% нет смысла описывать в общеобразовательных статьях.
Вы торгуете? Или так, потеоритезировать захтелось?
Очень слабо представляю себе советника, для которого изменение ТП на 0.5 пункта сильно скажется на результатах. Для 99% советников проще и удобнее указывать все значения в 4-хзначных пунктах. А оставшийся 1% нет смысла описывать в общеобразовательных статьях.
+1.
Дело не в том с какой точностью торговать, а в том с какой будет звучать эти самые 10,5 и как это будет всех путать (особо начинающих трейдеров).
Пипс по определению самая малая единица изменения цены. Может я не прав?
Да и советников торгующих с ТП и СЛ в 5 пятизначных пункта (0,5 стандартного) вряд ли можно будет часто встретить в реальной жизни.
Я бы даже определил число таких экспертов как 0,1-0,01% от общего числа.
PS
Внутренние расчеты производимые по итогам торговых операций тут в расчет не берутся (каждый может округлять до необходимой точности).
Приведённый автором "подход" полностью сводит на нет всё преимущество 5-тизнака. Вместо того, чтобы объяснить новичку, что введение 5-тизначной котировки даёт возможность установить, например, тейк-профит не 10 пунктов, а 10,5. А также объяснить, что при использовании советника на 5-тизнаке надо указывать тейк-профит не 10 пунктов, а 100. Вместо таких объяснений в программный код вводятся строки, которые программно не дают возможность использовать преимущества 5-тизначных котировок.
Полностью поддерживаю автора данного замечания.
Кому надо, тот и до 3-го знака себе округлит. Но делать это в общем случае - грубая ошибка.
Чем выше точность - тем лучше, и сводить ее на нет для всех какими-то своими сугубо субъективными взглядами практического использования не стоит.
P.S. В общем случае SL и TP задаются не в абсолютных значениях (как это везде принято), а в относительных. Тогда проблемы пипсов, 5-и знаков, пипсодолларов и остальной надуманной хрени отпадают сами собой.
abolk, hrenfx, о чём, собственно говоря, спор-то? Читаем внимательно название статьи: "... для начинающих". Статья полностью оправдывает своё предназначение, как названием, так и содержанием. Поверьте на слово, для начинающих глубоко по барабану, какова точность округления у эксперта, основной подход: "нам бы с написанием советника разобраться". Пусть хоть 2 знака, хоть 7 знаков. Лично для меня, как для начинающего, фишка с "округлением" до 4 знаков (правда, в другой статье) оказалась очень полезной, раскрыв один из приёмов программирования. А с набором опыта высококвалифицированые специалисты сами смогут решить, с какой точностью производить вычисления/торговлю, и обсуждаемая статья никак не сможет им в этом помешать. Вам же эта статья никак не помешала :) Так и другие: "дорастут до вашего уровня - сами разберутся".
Ещё раз обращаю внимание: автор статьи не навязывает своё видение вопроса и не ставит на обсуждение ценность использования 4- или 5-знака. Автор всего лишь помогает новичкам освоить первоначальные шаги программирования на MQL5, с использованием тех или иных приёмов программирования.