Jump to content

Общие вопросы по языку MQL


Recommended Posts

abeiks

Спасибо! Как-то пропустил эту функцию.

Link to post
Share on other sites
  • Replies 7.6k
  • Created
  • Last Reply

Top Posters In This Topic

  • AntFX

    577

  • sergey1294

    569

  • Ugar68

    517

  • Programmer

    419

Top Posters In This Topic

Popular Posts

Ну, в данном случае мне стоило бы сразу соблюдать простейшие приёмы защитного программирования, то есть проверять, не равна ли нулю переменная, оказавшаяся под знаком деления. Ведь она "чужая", то ест

На счёт проверок, это правильно. Я больше очень практикую, то же нарывался. Но в моём случае у меня советник открывал ордер минимальным лотом вместо нормального, когда замечал, доливаться было поздно.

Основной советник выставляет "сигнальный" отложенный ордер далеко от текущей цены и каждую например, минуту модифицирует у него время экспирации: это может быть текущее время плюс 1 час, или плюс 1 су

Posted Images

alexnec

Кто подскажет, как экспортировать индикатор из MT4 в DLL?

Link to post
Share on other sites
Изя Кацман

Подскажите, что за ошибка - "PenCollector: not enough space in array"

Вторая часть понятна, что не хватает памяти для массива. А что такое PenCollector?

 

Ситуация такая - скрипт рисует много линий (пару сотен) - трендовых и горизонтальных, потом эти линии удаляются, и опять рисуются. После нескольких таких этапов некоторые (порядка 20%) линии не прорисовываются (хотя кое какие следы их присутствия остаются) и я обнаружил эту ошибку.

Link to post
Share on other sites
Egor A

Доброго времени суток! Предполагаю что пишу в правильный раздел форума:) Появилась одна задумка и охото её реализовать. Она требует вычисления первой производной от формулы фрактальной скользящей средней и ещё нескольких формул.

Есть у кого какие идеи по поводу того как реализовать аналог производной в арифметической форме, для написания кода с такой операцией в MQL4??? Может быть в MQL4 уже каким то образом предусмотренна возможность вычисления производных??? Буду рад если мне кто что подскажет. Заранее благодарю за внимание!

Link to post
Share on other sites
Yudjin78

Кирилл можно поподробней узнать , функция OrderClose(), обязательна в экспертах закрывающих позы исключительно по СЛ и ТП?

Link to post
Share on other sites
Programmer

To Yudjin78:

Не понял вопрос.

Link to post
Share on other sites
Yudjin78

Есть эксперт в котором есть критерий открытия поз( не важно какой) , закрываются позы по СЛ и ТП. Получается это критерий закрытия сделок .

Вот я и спрашиваю: нужна функция OrderClose или нет, ведь в OrderSend тейкпрофит и стоплосс прописаны?

Link to post
Share on other sites
Shu
Есть эксперт в котором есть критерий открытия поз( не важно какой) , закрываются позы по СЛ и ТП. Получается это критерий закрытия сделок .

Вот я и спрашиваю: нужна функция OrderClose или нет, ведь в OrderSend тейкпрофит и стоплосс прописаны?

OrderClose() - это функция закрытия позиции по указанной цене. то есть, по сути - закрытие по маркету..

 

если в стратегии используются закрытия позиций исключительно по стоплоссу или тэйкпрофиту, то вам её надо не. :wink:

Link to post
Share on other sites
Yudjin78

Тогда, что, пропускаем блок закрытия ордеров или как?

Link to post
Share on other sites
Yudjin78

Как прописать в коде, что критерий закрытия поз СЛ или ТП? Например для любого осцилятора, к примеру RSI, скажем когда сигнальная линия Sigline[1]<PorogBuy И Sigline[0]>PorogBuy - критерий для открытия Buy , критерий для закрытия стоплосс SL==true или тейкпрофит TP==true.

Sigline[1]>PorogSell И Sigline[0]<PorogSell - критерий для открытия Sell, критерий для закрытия стоплосс SL==true или тейкпрофит TP==true. Работа с фиксированным лотом, без тралов и других примочек.

Значения для внешних данных можно взять любые, желательно момент с закрытием поз в коде прописать с коментами.

 

Код нужен исключительно в учебных целях, торговать по вышеизложеному принципу не собираюсь.

Edited by Yudjin78
Link to post
Share on other sites
Shu
Как прописать в коде, что критерий закрытия поз СЛ или ТП?

если у конкретных ордеров проставлены значения StopLoss и TakeProfit - эти ордера просто будут автоматом закрыты по достижению одного из этих уровней. ничего дополнительно прописывать не нужно..

Link to post
Share on other sites
Programmer

Верно. Если стоплосс и тейкпрофит указаны, то они сработают автоматически.

Link to post
Share on other sites
Yudjin78

Спасибо Shu и Кирилл за ответ на предидущий вопрос.

Вот еще вопрос- как сделать программу ( индюк или неторгующий эксп) просчитывающий кол-во белых или черных свечей, или средний размер свечи ,или кол-во пройденных пунктов белых,черных свечей на тайфрейме Х в определенное время( к примеру на 30мин графике произвести вышеизложенные операции во время между 15-30 и 16-00, или какой-то другой). Интересует именно как привязать расчет статистики к определенному временному интервалу суток.

Link to post
Share on other sites
serg-box

Здравствуйте!

Есть функция bool OrderCloseBy( int ticket, int opposite, color Color=CLR_NONE)

Не совсем понятно, что это такое.

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

Link to post
Share on other sites
Goggy

Здравствуйте!

Может быть я не туда пишу, но очень нужно найти ответ!

1. Можно ли одновременно на одной паре открыть два одинаковых советника с разными параметрами (оптимизированными на разных ТФ)? как это сделать? или есть какой-то другой выход?

2. Можно ли на одном компе запустить два терминала с одним счетом? будет ли открываться на них одниковый советник с различными параметрами?

Link to post
Share on other sites
serg-box
Здравствуйте!

Может быть я не туда пишу, но очень нужно найти ответ!

1. Можно ли одновременно на одной паре открыть два одинаковых советника с разными параметрами (оптимизированными на разных ТФ)? как это сделать? или есть какой-то другой выход?

2. Можно ли на одном компе запустить два терминала с одним счетом? будет ли открываться на них одниковый советник с различными параметрами?

 

1.Можно. Открыть два графика, и в каждом запустить советника, с соответствующими параметрами (Не забыть при этом поставить различные MagicNumber, если они вообще применяются в советнике. Если не применяются, то советники начнут путать свои ордера с соседскими)

2. Два терминала от одного ДЦ даже не запускаются, чего уж тут про счета говорить. Можно запустить несколько терминалов от различных ДЦ.

Link to post
Share on other sites
~~SOM~~
Два терминала от одного ДЦ даже не запускаются, чего уж тут про счета говорить. Можно запустить несколько терминалов от различных ДЦ.

Запускаются. Вот только споры до сих пор, то ли устанавливать в разные директории, то ли просто скопировать. Рекомендуют устанавливать, хотя у меня просто скопированные нормально работают.

Link to post
Share on other sites
serg-box
Запускаются. Вот только споры до сих пор, то ли устанавливать в разные директории, то ли просто скопировать. Рекомендуют устанавливать, хотя у меня просто скопированные нормально работают.

 

Как вы добились? Запуск от другого имени? Попробую

Link to post
Share on other sites
~~SOM~~
Как вы добились? Запуск от другого имени? Попробую

Я просто копировал в другую директорию и запускал оттуда. Логин тот же. Но здесь были сообщения, что иногда это приводит к ошибкам связи. Хотя думаю, это разные проблемы.

Рекомендуют просто еще раз установить в другое место.

Link to post
Share on other sites
serg-box

Понятно, спасибо

Link to post
Share on other sites
serg-box
Как вы добились? Запуск от другого имени? Попробую

При смене пользователя тоже два терминала можно запускать одновременно. Но переключаться между пользхоателями не очень удобно

Link to post
Share on other sites
Programmer

To Yudjin78:

 

Спасибо Shu и Кирилл за ответ на предидущий вопрос.

Вот еще вопрос- как сделать программу ( индюк или неторгующий эксп) просчитывающий кол-во белых или черных свечей, или средний размер свечи ,или кол-во пройденных пунктов белых,черных свечей на тайфрейме Х в определенное время( к примеру на 30мин графике произвести вышеизложенные операции во время между 15-30 и 16-00, или какой-то другой). Интересует именно как привязать расчет статистики к определенному временному интервалу суток.

 

Проверяйте, что тек. бар находится внутри указанного диапазона.

Примерно так:

if( (Time >= (iTime(Symbol(), 1440, i)+15*60*60+30*60)) && (Time <= (iTime(Symbol(), 1440, i)+16*60*60)) )

Link to post
Share on other sites
Programmer

To serg:

 

Здравствуйте!

Есть функция bool OrderCloseBy( int ticket, int opposite, color Color=CLR_NONE)

Не совсем понятно, что это такое.

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

 

 

OrderCloseBy() - закрытие частичного локирования.

Например, есть у Вас сделка Buy (t1) на 0.3 лота и сделка Sell (t2) на 1.0 лота. Вы применяете OrderCloseBy(t1, t2) и у Вас остаётся ордер Sell на 0.7 лота.

Link to post
Share on other sites
Оптимист

Здравствуйте!

Начал изучать "Уроки" и сразу возникли вопросы

Если в коде индикатора

dHigh = High[pos];

dLow = Low[pos];

dResult = dHigh / dLow;

//dResult = dHigh - dLow;

ExtMapBuffer1[pos]= dResult ;

ставить знак деления, то компилируется нормально, но отрисовывает только три последних бара. Что бы это значило?


Век живи - век учись...

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    No registered users viewing this page.


×
×
  • Create New...