Jump to content

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


Recommended Posts

Gravitus
Это не проблема!

Клей момент -и хорошо просушить ... :)

 

а понадежнее? =))

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

ЖАБА77
Мила, привет!

Это всё можно, только ты понятнее объясни.

что бы как завершилась 05 и 15 свеча - в каком смысле 5я и 15я свча?

 

1.цена завершенного тела ....... циферки пусть напишет - какого тела?

 

2. от этой цены вверх - от какой "этой"?

 

вот так возможно?

 

05 свеча -завершена

 

сходу появляются линии .. я покупаю и продаю сходу .. или 1-2-3 в этот момент что то показывает?.. слушаю его ..

 

и можно ли конкретно для этого момента настроить 1-2-3 ??? пусть ошибается .. там переворот есть .

 

С...цена закрытия тела 0.89359

 

0.89359-20п =0.89159

 

0.89359-70п=0.88659... и дт ...

 

то есть что бы прямоугольники и линии в МТ не применять и калькулятор не нужен ..

 

мне интересны свечи , когда новое начало свечи тайм 4 .. конкретно 05 и 15 - завершенные часовика .

Edited by ЖАБА77

Покупаю лоссы -Дарю профиты) Ква!

Link to post
Share on other sites
Gravitus
Это не проблема!

Клей момент -и хорошо просушить ... :)

спасибо, уже сам догнал :)

  • Thanks 1
Link to post
Share on other sites
-Алексей-

Так это мы считаем с нуля... Но не думал, что пользователи стали настолько продвинуты, что знают такие тонкости, что счет идет с нуля... :hlop:

Ну раз понял так напиши. А пользователи могут и по-ошибке посчитать правильно, от границы суток вправо первая свеча и т.д.

ПИШИ, девушка ждёт.

  • Thanks 1
Link to post
Share on other sites
Lerans
спасибо, уже сам догнал :)

 

Я думал ты шутишь, а у тебя оказывается серьезные проблемы ...:)

 

планирую использовать OrderMagicNumber(), сделать встроенную функцию для вычисления его для каждой конкретной свечи....

 

Зачем ты это собираешья вычислять "для каждой конкретной свечи". Растолкуй, а то йа мучаться буду, совсем не догоняю ...

  • Thanks 1
Link to post
Share on other sites
Gravitus
Я думал ты шутишь, а у тебя оказывается серьезные проблемы ...:)

 

ну так имею право быть новичком в этих вопросах =))))

 

Зачем ты это собираешья вычислять "для каждой конкретной свечи". Растолкуй, а то йа мучаться буду, совсем не догоняю ...

 

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

а если не стоит, то тогда выставляется отложенник.

Link to post
Share on other sites
igor123
Вот набросал советника согласно вашим условиям сильно не проверял, но должен работать так как надо. В тексте особо комментарии не писал, надеюсь разберетесь.

 

Сергей,спасибо!Идея с флагами довольно хорошая,а главное работать начала)))

  • Thanks 1
Link to post
Share on other sites
Lerans
планирую использовать OrderMagicNumber(), сделать встроенную функцию для вычисления его для каждой конкретной свечи, так вот желательно чтобы для каждой свечи и тф он был уникальным.

Ничего не понятно.

Попробуй еще раз разъяснить что означают выделенные слова.

И что же должно быть уникальным для каждой свечи и ТФ. :roll:

Link to post
Share on other sites
Gravitus
Ничего не понятно.

Попробуй еще раз разъяснить что означают выделенные слова.

И что же должно быть уникальным для каждой свечи и ТФ. :roll:

 

его = он = MagicNumber ордера, который открывается на свече, подавшей сигнал... а ты еще говоришь у меня серьезные проблемы :crazy:

 

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

Link to post
Share on other sites
Lerans
его = он = MagicNumber ордера, который открывается на свече, подавшей сигнал... а ты еще говоришь у меня серьезные проблемы :crazy:

 

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

Вот теперь более-менее понятно.

А то у тебя получалось, что ты ищешь что-то уникальное не для ордера, а для свечи. :crazy:

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

Link to post
Share on other sites
Gravitus
Вот теперь более-менее понятно.

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

 

да... буду выражаться яснее =)))

  • Thanks 1
Link to post
Share on other sites
Programmer
вот так возможно?

 

Мила, как только будет минутка - посмотрю твою идею. Сорри за задержку :eyes:

Link to post
Share on other sites
RUBICON

Добрый день, веселая минутка. Здравствуйте, Катерина Матвеевна. На прошедшие превратности не печальтесь, видно, судьба моя такая. Душа моя рвется к вам, ненаглядная Катерина Матвеевна, как журавль в небо. Однако случилась у нас небольшая заминка... Полагаю, суток на трое, не более, а именно:

 

Давеча довелось написать мне грешному индикатор мудреный для наказания контры ненасытной. Да видно в думы мои вмешалась не чистая и спутала планы великие.

Но не знали враги революции, что не один такой я на свете!!! И грозно заявив о силе интернета, решил запостить я клич о помощи программному роду великому, и спросить у однодумцев:

Какой функцией можно продлить линию в будущее?

 

P.S Установка смещения линии индикатора SetIndexShift меня не интересует. Меня интересует установка продления линии индикатора в будущее.

 

БУДУ ВЕЛЬМЫ БЛАГОДАРЕН с уважением Max.


Умное лицо - это еще не признак ума господа.

........................Все глупости на земле делаются именно с этим выражением лица.

.............................................................................................................Улыбайтесь, господа, улыбайтесь!!!

...............................................................................................................................................................(Тот самый Мюнхгаузен.)

Link to post
Share on other sites
dmitriyteg

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

 

вот текст:

nom_buy=OrderSend(Symbol(), OP_BUY, 0.1, Bid, 30, Bid-150*Point, Bid + 270*Point,"dim_buy");

 

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

Link to post
Share on other sites
Ugar68
Почему я не магу советником открыть сделку а реальном времени?

 

вот текст:

nom_buy=OrderSend(Symbol(), OP_BUY, 0.1, Bid, 30, Bid-150*Point, Bid + 270*Point,"dim_buy");

 

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

 

Птому что покупают по Ask, а продают по Bid.


Пишу советники и индикаторы по вашим алгоритмам. Пишите в личку.
Чужие программы не переделываю.

Link to post
Share on other sites
ЖАБА77
Мила, как только будет минутка - посмотрю твою идею. Сорри за задержку :eyes:

 

подожди!!! я новую идею Индюк(так обозвала) на ветку в выходные выложу. Там много % в прибыль.

 

Я позже к тебе обращусь.

 

Спасибо!


Покупаю лоссы -Дарю профиты) Ква!

Link to post
Share on other sites
-Алексей-

Интересует такой вопрос:

Будет-ли корректно если перед открытием ордера вызывать функцию RefreshRates();

{
...
RefreshRates();
ticket=OrderSend(Symbol(),OP_BUY,1.0,Ask,3,0,0,"комментарий  эксперта",255,0,CLR_NONE);
...
}

или это лишняя нагрузка на сервер и лучше использовать её только если пришла ошибка при открытии ордера?

Link to post
Share on other sites
Lerans
Интересует такой вопрос:

Будет-ли корректно если перед открытием ордера вызывать функцию RefreshRates();или это лишняя нагрузка на сервер и лучше использовать её только если пришла ошибка при открытии ордера?

 

F1 говорит:

"Для каждой выполняющейся MQL4-программы поддерживается ряд предопределенных переменных, которые отражают состояние текущего ценового графика на момент запуска программы - эксперта, скрипта или пользовательского индикатора.

 

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

 

Для безопасного и быстрого доступа к этим данным клиентский терминал обеспечивает локальные копии предопределенных переменных для каждой запущенной программы отдельно. Эти данные обновляются при каждом новом запуске прикрепленного эксперта или пользовательского индикатора автоматически, либо при помощи вызова функции RefreshRates(). "

 

Так что все зависит от логики работы конкретного кода. Если это скрипт и в нем нет открытия ордеров в длинных циклах while, то RefreshRates() можно использовать только при обработке ошибок. Данные загруженные при запуске в этом случае будут актуальны на момент первой попытки открытия ордера.

 

А вообще пользуйтесь F1 - эта кнопка знает почти все..:)

Edited by Lerans
Link to post
Share on other sites
Lerans
Какой функцией можно продлить линию в будущее?

Такой универсальной функции нет. Существуют различные методы экстраполяции, выбор которых зависит от того, что вы хотите "продлевать в будующее" (экстраполировать).

ИМХО, вопрос без всего этого "украшательства" был бы более уместным...

Link to post
Share on other sites
-Алексей-
F1 говорит:

...

А вообще пользуйтесь F1 - эта кнопка знает почти все..:)

Всё дело в том, что на мой вопрос ни кнопка F1, ни Вы не дали ответа. Или Вы читаете через слово.

Link to post
Share on other sites
Ugar68
Интересует такой вопрос:

Будет-ли корректно если перед открытием ордера вызывать функцию RefreshRates();

{
...
RefreshRates();
ticket=OrderSend(Symbol(),OP_BUY,1.0,Ask,3,0,0,"комментарий  эксперта",255,0,CLR_NONE);
...
}

или это лишняя нагрузка на сервер и лучше использовать её только если пришла ошибка при открытии ордера?

 

В данном случае да, нормально. На сервер нагрузки никакой нет. Данные с сервера идут с каждым тиком в любом случае. RefreshRates(); исползует данные которые уже поступили с сервера. То есть она выполняется на терминале.

 

Но не стоит ставить её на каждом углу. Например если в начале start() идёт рассчёт тяжолого индюка или кучи индюков, особенно пользовательских, то пока они считаются могли пройти тики. Стоит обновить предопределённые переменные прежде чем их использовать.

  • Thanks 2

Пишу советники и индикаторы по вашим алгоритмам. Пишите в личку.
Чужие программы не переделываю.

Link to post
Share on other sites
RUBICON
Такой универсальной функции нет. Существуют различные методы экстраполяции, выбор которых зависит от того, что вы хотите "продлевать в будующее" (экстраполировать).

ИМХО, вопрос без всего этого "украшательства" был бы более уместным...

 

=D>Прикольный ответ, на что-то в этом роде я и НаДеяЛси!!!=D>

Особенно понравилось слово экстраполяции. Значит, буду экстраполировать линии в будущее как обычно через ....

:Flush:(различные методы)

 

В любом случае спасибочки за внимание ко мне!!!

 

P/S НЕ раскрашивать и НЕ украшать вопросы и ответы мне не позволяет моя ПаРаНоЙя, сори!!!:drug:

(вот опять пришли ко мне ОНИ ... сей час опять будут летать ... нА-до мной. Где моя мухобойка? все. Пойду искать мухобойку.)

Еще раз спасибо за ответ. С ув. МАКС.:pivo:

Edited by RUBICON

Умное лицо - это еще не признак ума господа.

........................Все глупости на земле делаются именно с этим выражением лица.

.............................................................................................................Улыбайтесь, господа, улыбайтесь!!!

...............................................................................................................................................................(Тот самый Мюнхгаузен.)

Link to post
Share on other sites
Lerans

=D>Прикольный ответ, на что-то в этом роде я и НаДеяЛси!!!=D> ...

 

(вот опять пришли ко мне ОНИ ... сей час опять будут летать ... нА-до мной. Где моя мухобойка? все. Пойду искать мухобойку.)

Еще раз спасибо за ответ. С ув. МАКС.

:pivo:

Вместо всего этого, Вы бы лучше написали, что Вам надо экстраполировать. Может и ответ нашелся бы.



Например, если Вам надо "продлить в будующее" отрезок прямой линии, то никаких проблем не возникает. Почему-то йа уверен, что с этой задачей Вы справитесь сами...

Link to post
Share on other sites
RUBICON

Вместо всего этого, Вы бы лучше написали, что Вам надо экстраполировать. Может и ответ нашелся бы.



Например, если Вам надо "продлить в будующее" отрезок прямой линии, то никаких проблем не возникает. Почему-то йа уверен, что с этой задачей Вы справитесь сами...

 

Дык я справляюсь с этой задачей.

 

Просто хотел уточнить, может пропустил чяво нибудь!!!

Здается мне что в программе TradeStation такая функция была(хотя это было давно и в сравнении с mql4 язык небо и земля). А чего ее нет в MQL x... его знает!

 

P/S Ма функции ну да Бог с ней. Главное маневры!!!(

:icon_frown:Хотя немножечко жаль:icon_frown:)

 



:beer2::beer2::beer2:


Умное лицо - это еще не признак ума господа.

........................Все глупости на земле делаются именно с этим выражением лица.

.............................................................................................................Улыбайтесь, господа, улыбайтесь!!!

...............................................................................................................................................................(Тот самый Мюнхгаузен.)

Link to post
Share on other sites
-Алексей-
В данном случае да, нормально. На сервер нагрузки никакой нет. Данные с сервера идут с каждым тиком в любом случае. RefreshRates(); исползует данные которые уже поступили с сервера. То есть она выполняется на терминале.

 

Но не стоит ставить её на каждом углу. Например если в начале start() идёт рассчёт тяжолого индюка или кучи индюков, особенно пользовательских, то пока они считаются могли пройти тики. Стоит обновить предопределённые переменные прежде чем их использовать.

Да вопрос возник с появлением ошибки 129, неправильные цены.

Стандартный вариант решения - если ошибка ...

А я подумал, может не сильно загрузит сервак лишняя ф-ция RefreshRates()

Спасибо всё понятно.

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