Привет мастерам и не только)
Вопрос: написал простого бота на простом авторском индикаторе. Условия входа простые. С комментами прогнал - значения из буферов берет. Но сделок не открывает. Подскажите, в чем подвох?)
Обучение языку MQL4 под MetaTrader 4📌
От xbms, 13 апреля, 2013 в Уголок Программиста
Видел индикаторы, которые работают c данными из интернета. Как это cделать, если функция WebRequest не работает в индикаторах?
Ребята, почему возникает ситуация, когда бот пишет ошибку закрытия ордера, даже не открыв его?
И еще вопрос: как описать вход для осциллятора (стохастика, например)? С обязательным условием его захода за 80 и последующего выхода для продажи.
Изменено 8 июня, 2017 пользователем well72
Ошибку даёт наверное потому, что сова пытается закрыть несуществующий ордер.
Ребята, почему возникает ситуация, когда бот пишет ошибку закрытия ордера, даже не открыв его?
И еще вопрос: как описать вход для осциллятора (стохастика, например)? С обязательным условием его захода за 80 и последующего выхода для продажи.
Условие входа по пересечению уровня-80 снизу вверх (сверху вниз - знаки поменять местами):
если ( стох[1бар] > 80 && стох[2бара]
Ошибку даёт наверное потому, что сова пытается закрыть несуществующий ордер.
Ребята, почему возникает ситуация, когда бот пишет ошибку закрытия ордера, даже не открыв его?
И еще вопрос: как описать вход для осциллятора (стохастика, например)? С обязательным условием его захода за 80 и последующего выхода для продажи.
Условие входа по пересечению уровня-80 снизу вверх (сверху вниз - знаки поменять местами):
если ( стох[1бар] > 80 && стох[2бара]
Спасибо за ответ. А откуда бот берет несуществующий ордер? А по стоху вчера сам вчера додумался-таки)))
А по моему предыдущему сообщению (3752) ничего не можете посоветовать?
Ребят подскажите есть индикатор с исходником, как этот индикатор встроить в советник или все таки использовать iCustom()?
Дело не в том где берёт, а в том как исполнение кода доходит до ОрдерКлоуз если нет ордеров? - вот и разбирайтесь! ставьте Принты и отслеживайте почему условие обхода ОрдерКлоуз не выполняется...А откуда бот берет несуществующий ордер? А по стоху вчера сам вчера додумался-таки)))
А по моему предыдущему сообщению (3752) ничего не можете посоветовать?
По предыдущему - ничего, у меня нет пока времени.
Это зависит от многих факторов, на каких барах будете использовать, сколько буферов и т.д. В общем случае проще iCustom().Ребят подскажите есть индикатор с исходником, как этот индикатор встроить в советник или все таки использовать iCustom()?
Добрый день.
Честно сдаюсь, вот никак не додумаю сову.
Проблема все та же: нужно чтобы сигнал открывался в диапазоне 50 пунктов от Slope(те если цена превышает диапазон, то в сделки не входить )
Трудно сове войти в сделки при таких условиях:
Честно сдаюсь, вот никак не додумаю сову.
Проблема все та же: нужно чтобы сигнал открывался в диапазоне 50 пунктов от Slope(те если цена превышает диапазон, то в сделки не входить )
(LevelPunkt*Point)>dnPunkt
где (LevelPunkt*Point) = 400 * 0,00001 = 0,00400,
а dnPunkt = MathAbs ( Ask - iCustom(...) ) / Point; = 300!
Я же писал Вам совет выводить в Принт условия открытия и смотреть. Это делается так:
Print("Открываем OP_SELL: (LevelPunkt*Point)=",DoubleToStr(LevelPunkt*Point)," > dnPunkt=",DoubleToStr(dnPunkt));
Удачи!
Здравствуйте. Помогите пожалуйста. Я просмотрел видео по закономерностям паттернов Praice Action и попытался написать программу как в этом видео. В результате возникли ошибки:
1) Не рисуются горизонтальные линии по фибо и когда ставлю по ним торговать то вообще ничего не происходит.
2) Множество открытие ордеров по сигналу, не один. а просто очень много.
3) Сгружаемые данные в водятся в одну строку.
Я сам от программирования далек, но торгую по паттернам, по этому этот урок для меня актуален.
Плохо то, что видео плохого качества, а у меня опыта по программированию нет. Заранее благодарен.
Здравствуйте. Прошу помогите пожалуйста добавить условие в код. (Насколько моих знаний хватило я подредактировал.)
Индикатор рисует линии по цене закрытия, а нужно добавить условие, рисовать только если предыдущая свеча была противоположной. Т.е. только при смене направления(цвета) свечи, рисовать линию закрытия только той свечи которая сменила направление. Также "NumberOfBar" должна отвечать за количество показываемых линий.
p.s. Понимаю что возможно плохо описал, прилагаю картинку.
Может кто сталкивался -
в сове считаю условие размера тела свечи,, затем запускаю в визуальном режиме сову на тест и наблюдаю что бывают случаи когда условие размера тела свечи просто пропускается и сова вваливается в рынок не по системе. Пробовал просматривать принтом, но пишет как и положено точное значение. В чем может быть причина того что условие то большую часть теста соблюдается, то нет?
---------------------
extern double BarRazmer_0_l = 5.0;
ZnachBar_h = MathAbs(Open[1] - Close[1]) / Point;
NormalizeDouble(ZnachBar_h,2)
Однажды, на старых билдах, видел что терем запаздывал с записью баров в историю на реале, в тестере такого быть не должно. Выход один: при сигнале на открытие выводите в лог значения всех переменных, в том числе время бара, потом анализируйте на левых входах - ищите баг. Это стандартное решение - другого у программиста нет. Это-ж не нейронная сеть и баг будет найден!
Добрый день. Нужен СЧЁТЧИК ПУНКТОВ (ЦЕНОВЫХ РАЗМАХОВ) который может считать не только Суммарное Количество Пройденных Пунктов, но и отдельно Сумму Лонговых Пунктов и отдельно Сумму Шортовых Пунктов за каждый Тик Движения Цены при этом выводя все это на экран в виде "Гистограммного Индикатора ПУНКТОВЫХ ОБЪЕМОВ" (Пример на Скринах).
Не путать со СЧЁТЧИКОМ ТИКОВ! Это разные вещи! За один Тик цена может скакануть сразу на несколько Пунктов (особенно в период большой валотильности рынка)
Добавлено: 18-06-2017 11:55:29
СЧЁТЧИК ПУНКТОВ я нашел - кто может доработать его до подвальных Гистограммных Индикаторов?
Изменено 18 июня, 2017 пользователем F.Zhukov
Индикатор написан для терминала до 600 билда. работает от последней свечи вглубь истории, что не очень корректно и требует много ресурсов. В общем я не в восторге. Попробовал втиснуть Ваше условие, пробуйте.
Большое спасибо, Вы всегда очень отзывчивы и реально помогаете. Здоровья Вам и таких же приятных людей навстречу!
Индикатор кажется Ким писал, там в коде наверное читали? Да вы правы он старый, но я на этом скелете чуть не 5 индюков держу, на графике даже намека нет на тормоза и подвисание. Сейчас и опробую тут как раз через пару чашек кофе откроется.
Добавлено: 18-06-2017 20:46:43
Очень круто, еще раз спасибо. Реально то, что мне нужно было. Залезу в код посмотрю, может чему научусь.
Изменено 18 июня, 2017 пользователем Strong-Tezis
Может кто нибудь прикрутить время торговли в этот пипсовщик, чтобы можно было оптимизировать в тестере, только в часах, минуты не нужны , это по сути вот этот советник с сайта http://tradelikeapro.ru/million-dollar-pips/ только в открытом коде и какими-то доработками, нашел в интернете
Заранее спасибо
В том то и дело, что пытался выводить принтом и как-то все норм. Однако в терминале freshforex такие агрехи с большей частью возникают после каких-то дыр в котировках на визуальном тесте. Жесткое завершение работы совы в return на этапе start'a по заданным условиям, тоже ничего не дало.
Изменено 19 июня, 2017 пользователем sniv
Приветствую уважаемую публику!
Сделала скрипты из 6 урока и при тестировании столкнулась с тем, что не всегда открываются 3 ордера, иногда 2, иногда 1, не важно будь то бай или селл. Что не так с этим скриптом?
Сама спросила сама отвечаю. Во время работы скрипта приходит новый тик и новая цена, поэтому ошибка 129 и ордер не может быть открыт. Чтобы этого избежать надо в стратегически важном месте вкрутить RefreshRates().
Цитата#property copyright "Copyright 2017, MetaQuotes Software Corp."
#property link "https://www.mql5.com"
#property version "1.00"
#property strict
#property script_show_inputs
input int OrderCount = 3;
input int Otype = OP_BUY; //0 Buy 1 Sell
input double Lots = 0.1; //Order lots
input int Slippage = 5;
input int Magic = 1111;
double price;
//+------------------------------------------------------------------+
//| Script program start function |
//+------------------------------------------------------------------+
void OnStart()
{
Comment(" ");
for (int i = 0; i {
RefreshRates(); // Обновляем цену на случай если пришел новый тик
if (Otype == OP_BUY) price = Ask;
if (Otype == OP_SELL) price = Bid;
int ticket = OrderSend(Symbol(), Otype, Lots, price, Slippage, 0, 0, "", Magic, 0);
if (ticket Comment("Open order ERROR! " + GetLastError());
}
}
Изменено 20 июня, 2017 пользователем Nicole White
Пробуй. Там значения со знаком, целая часть часы, дробная минуты и секунды. Если нужны только часы, то шаг оптимизации делай целым.
Oll, скажите, откуда такой код берется, в смысле нечитаемые имена функций и переменных?
Уже не первый раз вижу, думал, кто-то всех запутать хочет...
Здравствуйте. Пожалуйста, помогите научить индикатор находить максимальный размер верхней тени и максимальный размер нижней тени. То есть, за указанный в настройках индикатора промежуток времени или N - количество баров, найти максимальный размер верхней тени и максимальный размер нижней тени и вывести на экран в виде двух дополнительных комментариев снизу под уже имеющимися.
откуда такой код берется
Коммерческий советник выкладывается в компилированном (машинном) виде. Для того, чтобы его привести в читаемый, человеческий код, требуется декомпиляция. В результате компиляции и затем декомпиляции теряются все названия переменных и функций, вместо них создаются произвольные названия, которые вы можете видеть в выложенном выше исходном коде.
Иногда замена читаемых переменных и функций делается намеренно, чтобы запутать код и затруднить его модификацию и распространение.
0ll, спасибо, попробую с настройками времени повозится, ставить только в самые активные часы, когда спред минимальный. Советник, как я понял, ловит импульсы и выставляет отложку в противоположную сторону и входит на откатах от импульса, гонял на отрезке в 3 года, на паре EURCHF, со спредом 20 пунктов(5 знак) и 99% котировках, результаты в соотношении прибыль/просадка получились примерно 30/1, можно сказать вообще без просадки, единственная проблема это спред, отложки помогут избежать сильных реквот, думаю если уменьшить спред ограничением по времени торговли, запуская советник с самые активные часы с самым низким спредом, получится что-то выжать из него. Вообще никогда не использовал пипсовщиков, многие говорят что это бред, они очень чувствительны к брокеру и они безнадежны, в тоже время видел как некоторые разгоняют реальные счета вплоть до 500% прибыли за месяц роботами пипсовщиками, которые делают по 40-50 сделок в день. Буду пробовать оптимизировать и на центовике обкатывать, правда оптимизируется очень долго)
Изменено 20 июня, 2017 пользователем izeran6565
Посмотрите...
Забыл закомментировать Print в конце индикатора...
Изменено 20 июня, 2017 пользователем usver73
Для публикации сообщений создайте учётную запись или авторизуйтесь
Перейти к списку тем