Обучение языку MQL4 под MetaTrader 4📌

От xbms, 13 апреля, 2013 в Уголок Программиста

#3826


Посмотрите этот код:


Использовать его как скрипт у меня получилось, но это не совсем удобно. А прикрутить к готовому инфо индикатору не получается(
#3827
Елена4, я в индикаторах сам не силен. А эту функцию использую в советниках.
#3828


А вот скрин с моей ТС Скобарь :



Скобарь,
можешь поделиться индикатором, который у тебя на скрине в подвале?
#3830



А вот скрин с моей ТС Скобарь :



Скобарь,
можешь поделиться индикатором, который у тебя на скрине в подвале?

Пользуясь случаем,хочу поблагодарить тебя за "Победу" - через нее должен пройти каждый.Этот инд.должен подойти в твою ТС. Я его использую повсеместно!!!
индикатор iP_aaRG_v8. Автор предлагает:
Работать только на М5. Вход в позу после выхода сигнальной линии за границы канала,и дальнейшем входе
в канал. Выход - достижение границ канала изнутри.Я вхожу на М5 но и на других он норм работает.
В открытом коде у меня нет.

iP_aaRG_v8b.ex467 скач.

Изменено 1 октября, 2016 пользователем Скобарь

#3831


Пользуясь случаем,хочу поблагодарить тебя за "Победу" - через нее должен пройти каждый.Этот инд.должен подойти в твою ТС. Я его использую повсеместно!!!
индикатор iP_aaRG_v8. Автор предлагает:
Работать только на М5. Вход в позу после выхода сигнальной линии за границы канала,и дальнейшем входе
в канал. Выход - достижение границ канала изнутри.Я вхожу на М5 но и на других он норм работает.
В открытом коде у меня нет.



Спасибо! Потестирую его - может и пригодится. Его вид в подвале уж очень похож на график цены, заключённой в канал ТМА. :d
Как я уже обнаружил - настроек он вообще не имеет, а при установке на график показывает лишь часть истории ... :-/
#3832

Здравствуйте. В тестере OnChartEvent не работает, каким образом заставить кнопки работать в тестере стратегий? С уважением Владимир

#3833

Здравствуйте уважаемые программисты. Пытаюсь модифицировать советник под себя. Сейчас он выставляет только TP для всех ордеров, (хочу еще добавить, чтобы выставлял SL). Подскажите почему он удаляет все стоплоссы, выставленные вручную? Спасибо.

Modify_SL__TP.mq44 скач.

#3834

Добрый вечер. Скрипт старенький. Перекомпилировал, ошибок не написал. Однако работать не хочет. При перетаскивании на график пишет 'SetOrderSell' is not expert and cannot be executed. Помогите хоть с чего начинать?

SetOrderSell.mq43 скач.

#3835

Может виагру? :))

#3836

Добрый день!
1) Начните с перевода - 'SetOrderSell' is not expert and cannot be executed.
'SetOrderSell' не эксперт и не может быть выполнен.
2) Далее, смотрим код "17.07.2008 Скрипт устанавливает отложенный ордер SELL."
3) Переносим скрипт из папки "Experts" в папку "Scripts"

Удачных продаж!

#3837


Может виагру? :))


Обоим? :-/
#3838

Доброго времени суток уважаемые! Пожалуйста подскажите, что делаю не так. При выставлении значения Spread меньше чем реальный, советник все равно открывает ордер
if (CountTrades() == 0 && Bid > MA1 && BuyPossible == true && Bid > Buylevel)
{
int vspread = MarketInfo(Symvol,MODE_SPREAD);
if (MA3 > MA2 && vspread
ticket = OrderSend(Symbol(), OP_BUY, Lots, Ask, Slippage, 0, 0, "", Magic, 0, Blue);
if(OrderSelect(ticket, SELECT_BY_TICKET, MODE_TRADES));

}


Добавлено: 07-10-2016 05:15:56

Пробовал и такой вариант, тоже почему то не катит
if (CountTrades() == 0 && Bid > MA1 && BuyPossible == true && Bid > Buylevel)
{
int vspread = ((Ask - Bid)/Point);
if (MA3 > MA2 && vspread
ticket = OrderSend(Symbol(), OP_BUY, Lots, Ask, Slippage, 0, 0, "", Magic, 0, Blue);
if(OrderSelect(ticket, SELECT_BY_TICKET, MODE_TRADES));

}

Изменено 7 октября, 2016 пользователем master.man

#3839

Добрый день!
Что выводит на экран Comment()?

if (CountTrades() == 0 && Bid > MA1 && BuyPossible == true && Bid > Buylevel)
{
int vspread = MarketInfo(Symvol,MODE_SPREAD);
Comment(vspread," ",Spread);
if (MA3 > MA2 && vspread
ticket = OrderSend(Symbol(), OP_BUY, Lots, Ask, Slippage, 0, 0, "", Magic, 0, Blue);
if(OrderSelect(ticket, SELECT_BY_TICKET, MODE_TRADES));

}

#3840

18 10


Добавлено: 07-10-2016 05:41:51

и по логике он не должен открывать

Добавлено: 07-10-2016 05:52:54

при компиляции на строку int vspread = MarketInfo(Symvol,MODE_SPREAD); пишет possible loss of data due to type conversion (возможный убыток данных из-за преобразования типа )

Изменено 7 октября, 2016 пользователем master.man

#3841

Понятно, MarketInfo(Symvol,MODE_SPREAD) возвращает double, переменная vspread имеет тип int.
Сделайте явное приведение типа MarketInfo к int
int vspread = (int)MarketInfo("EURUSD",MODE_SPREAD);

Удачных торгов!

#3842

попробовал, все равно открывает ордер при 17

#3843

Тогда весь код надо посмотреть.

#3844

так это и есть весь код, в тестере работает как надо, на реале фильтр спреда игнорирует...

#3845


так это и есть весь код, в тестере работает как надо, на реале фильтр спреда игнорирует...


Вложите советник
#3846

все заработало! это я незаметил одну деталь, а советник простой сеточник по машкам, выложить?


Добавлено: 07-10-2016 07:52:16

SilverKZ спасибо за помощь!!!

Изменено 7 октября, 2016 пользователем master.man

#3847

Здравствуйте. Подскажите, пожалуйста, возможные ошибки лимитных и стоп-ордеров. Перебирать все ошибки от GetLastError() смысла нет. Также необходимо, для выполнения 8 задания по MQL, узнать информацию о возможных ошибках при закрытии ордеров. Может кто делал и может подсказать?

Просмотрел меньше половину ошибок, более не смог. И нашел всего, на мой взгляд, три подходящих:
1. ERR_INVALID_STOPS; // Неправильные стопы
2. ERR_INVALID_TRADE_VOLUME; // Неправильный объем
3. ERR_TRADE_TOO_MANY_ORDERS; // Количество открытых и отложенных ордеров достигло предела, установленного брокером

Изменено 7 октября, 2016 пользователем iPerevalov

#3848

Помогите добавить в советник учет спреда и параметр минимальная прибыль


Немного посидел, тыкву почесал и появилась версия 01 добавил описания параметров и попытался сделать общий тейкпрофит

Я не программист я интуитивно. Не закидывайте помидорами.

buysell00.mq41 скач.
buysell01.mq41 скач.

Изменено 8 октября, 2016 пользователем izu

#3849

Добрый день!
Я хочу вам помочь, но не понял задание. Опишите подробнее.

#3850

подскажите за что в советнике отвечает данное условие?

if(TypeOrder==OP_BUY)
{
OrderPrice = Ask;
TPPrice = OrderPrice + TakeProfit*DigitFactor*Point;
}
if(TypeOrder==OP_SELL)
{
OrderPrice = Bid;
TPPrice = OrderPrice - TakeProfit*DigitFactor*Point;
}

если исправить на следующее, правильно я понимаю, что закрытие должно произойти плюс четыре пункта к данному условию?


if(TypeOrder==OP_BUY)
{
OrderPrice = Ask;
TPPrice = OrderPrice + TakeProfit*DigitFactor*Point+4;
}
if(TypeOrder==OP_SELL)
{
OrderPrice = Bid;
TPPrice = OrderPrice - TakeProfit*DigitFactor*Point+4;
}



Добавлено: 08-10-2016 03:10:58


Добрый день!
Я хочу вам помочь, но не понял задание. Опишите подробнее.



Извиняюсь, что сумбурно оформил свою просьбу. Советник закрывает позиции на несколько пунктов раньше не доходя до общего безубытка. Я выдвинул предположение, что это происходит из-за того что советник не учитывает спред. Следователь хочется чтоб он его учитывал при закрытии серии ордеров. И дополнительно хочится задать количество пунктом которые мы желаем получить к безубытку + спред + ну и наш профит.

Есть параметр тейк но это тейк каждого ордера, а не серии.

Изменено 8 октября, 2016 пользователем izu

Для публикации сообщений создайте учётную запись или авторизуйтесь

Перейти к списку тем
Форум · 2.0.20260627.0025