Jump to content
Programmer

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

Recommended Posts

abeiks

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

Share this post


Link to post
Share on other sites
alexnec

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

Share this post


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

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

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

 

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

Share this post


Link to post
Share on other sites
Egor A

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

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

Share this post


Link to post
Share on other sites
Yudjin78

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

Share this post


Link to post
Share on other sites
Programmer

To Yudjin78:

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

Share this post


Link to post
Share on other sites
Yudjin78

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

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

Share this post


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

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

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

 

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

Share this post


Link to post
Share on other sites
Yudjin78

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

Share this post


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

Share this post


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

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

Share this post


Link to post
Share on other sites
Programmer

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

Share this post


Link to post
Share on other sites
Yudjin78

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

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

Share this post


Link to post
Share on other sites
serg-box

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

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

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

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

Share this post


Link to post
Share on other sites
Goggy

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

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

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

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

Share this post


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

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

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

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

 

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

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

Share this post


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

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

Share this post


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

 

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

Share this post


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

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

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

Share this post


Link to post
Share on other sites
serg-box

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

Share this post


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

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

Share this post


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)) )

Share this post


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 лота.

Share this post


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

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

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

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

dHigh = High[pos];

dLow = Low[pos];

dResult = dHigh / dLow;

//dResult = dHigh - dLow;

ExtMapBuffer1[pos]= dResult ;

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


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

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

×