AlexeyVik
Программист mql4 mql5
Я понял так, что это советник с панелью. Или, как минимум, поле ввода на графике.Для ваших задач нужно реализовывать скрипт а не советник, тогда не нужно будет ничего колхозить
Я понял так, что это советник с панелью. Или, как минимум, поле ввода на графике.Для ваших задач нужно реализовывать скрипт а не советник, тогда не нужно будет ничего колхозить
1. Если известно как индикатор принимает решение и алгоритм простой, нет надобности применять тормозную iCustom
2. Если уж надо обязательно вызвать, то для экономии ресурсов процессора можно ограничить историю по которой вызывается индикатор. HistoryBars
3. А почему обе строчки одинаковые? Надо хотя бы буфера разные задать.
double UP = iCustom(NULL,0,"XXX_01",0,0,0);
double DOWN = iCustom(NULL,0,"XXX_01",0,0,0);
Нет. Последняя цифра это бар на котором смотреть значение индикатора. 0 это текущий бар, 1 это то что передним...Мне не известно как индикатор принимает решение, я не программист (смотрю как другие это делают, так и сам делаю). А вот как без iCustom сделать, я не знаю (может покажите).
По поводу HistoryBars логично, согласен.
Если неправильно сделал поправьте:
double UP = iCustom(NULL,0,"XXX_01",0,0,0);
double DOWN = iCustom(NULL,0,"XXX_01",0,0,1);
так правильно?
Я понял так, что это советник с панелью. Или, как минимум, поле ввода на графике.
Нет. Последняя цифра это бар на котором смотреть значение индикатора. 0 это текущий бар, 1 это то что передним...
Предпоследняя цифра задаёт номер буфера.
Смогёшь это вставить в советник? Если слабо, но ооочень хочется, то лучше обратиться к автору советника. Его координаты есть вверху самого кода. Он и здесь на форуме часто обитает.
Тем более это должен быть советник.Идея заключается в том, чтобы в МТ4 использовать только терминал.
Управление открытием и закрытием ордеров передавать из другого софта ввиде числовых, может быть строковых переменных через dll.
Тем более это должен быть советник.
Дальше надо понимать взаимодействие dll с терминалом. Очень важно расположение этой dll и как должно передаваться оттуда или как доставать эти переменные.
Увы, проверить не могу. Там написано не по русски, а по ихнему я плохо читаю.Вы сами без проблем можете это проверить ...
Сначала надо разобраться какие стрелки ставятся. Они могут быть просто графическими объектами и могут быть буферными отображениями.Здравствуйте, искал информацию в гугле не смог найти. Подскажите пожалуйста: есть индикатор, ставит стрелки вверх и вниз по закрытию свечи, хочу добавить стрелку, условия которой: поза-позапрошлая свеча закрылась и имеет стрелку вниз И позапрошлая свеча закрылась и имеет стрелку вниз И прошлая свеча закрылась и имеет стрелку вниз и тогда на новой свече уже моя стрелка, т.е. 3 предыдущие свечи закрылись со стрелками, тогда появляется моя стрелка. Может есть ссылка на похожее или сможете подсказать как реализовать код (хотя бы направление в котором искать) Спасибо
Самое простое, это выполнить всё как описал.Здравствуйте, искал информацию в гугле не смог найти. Подскажите пожалуйста: есть индикатор, ставит стрелки вверх и вниз по закрытию свечи, хочу добавить стрелку, условия которой: поза-позапрошлая свеча закрылась и имеет стрелку вниз И позапрошлая свеча закрылась и имеет стрелку вниз И прошлая свеча закрылась и имеет стрелку вниз и тогда на новой свече уже моя стрелка, т.е. 3 предыдущие свечи закрылись со стрелками, тогда появляется моя стрелка. Может есть ссылка на похожее или сможете подсказать как реализовать код (хотя бы направление в котором искать) Спасибо
Спасибо, если когда-то будет это интересно, тогда и посмотрю, проверю.AlexeyVik, можешь проверять.
1. permvar2.dll копировать в C:\Program Files (x86)\ MT4\MQL4\Libraries\
2. #_Send 2xMA - индикатор, пересечение 2 МА, сигналы пересечения выводятся
в регистр Windows PermVar \ Trend 2xMA, имя - trenMA, для управления советником.
(В командной строке Windows запускаем regedit, поиск - Permvar).
3. #_Receive 2xMA - советник, колхозил (как выражаются проффи) сам, если что не так,
более продвинутые могут поправить.
Индикатор и советник устанавливаю на EUR 1 min, в другом окне открываю GBP 1 min и там тоже
запускаю этот же советник, который торгует по сигналам из EUR. Вроде отрабатывает правильно.
Уважаемые тредеры, кто-нибудь подскажите как правильно дописать к советнику функцию "lot exponent" (множение лота при проигрыше)???
Сколько сам не пробовал, всеравно не работает сова. Заранее спасибо
Lot*MathPow(Lot_multip,orders)
да я вставлял во внутренний код советника например extern double LotExponent = 2; и в сове отображается такое значение, но когда тестировал в тестере всеравно не удваивается. Может быть что-то еще дописать нужно???
да я вставлял во внутренний код советника например extern double LotExponent = 2; и в сове отображается такое значение, но когда тестировал в тестере всеравно не удваивается. Может быть что-то еще дописать нужно???
int loss_orders = 0;
for(i=OrdersHistoryTotal()-1;i>=0;i--) {
if(!OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)) continue;
if(OrderSymbol() != _Symbol) continue;
if(OrderMagicNumber() != magic) continue;
if(OrderProfit()>0) break;
loss_orders++;
}
double new_lot = NormalizeDouble(Lot*MathPow(LotExponent,loss_orders),lot_digits);
Или вычислить или запомнить лот последнего в серии ордера и от него плясать - результат примерно тот же, только расчет разный...нужно посчитать серию убыточных ордеров