Jump to content
Rosh

Вопросы по платформе MetaTrader

Recommended Posts

Nevsquick

Вопросик по новостям в МТ на демо счете. Проходят только заголовки на анхлицком- при попытке развернуть поподробнее - пишет в новом окне- empty.

Это нормально для демки?

Share this post


Link to post
Share on other sites
hell2005
Вопросик по новостям в МТ на демо счете. Проходят только заголовки на анхлицком- при попытке развернуть поподробнее - пишет в новом окне- empty.

Это нормально для демки?

Это не только в демке - у меня на реале то же самое. Они мне ибъяснили - что заголовок- это и есть вся новость. Мне очень странно это, так как не может быть, что все новости на английском состоят только из заголовка. И еще у меня вопрос - на сайте компании новостей больше, чем приходит на терминал. Почему?

Share this post


Link to post
Share on other sites
rr

Можно как-нибудь на графиках в МТ установить сетку по круглым часам и уровням, пусть даже редким?!

Share this post


Link to post
Share on other sites
KimIV
Все заработало. Спасибо. Еще бы аналог

if CurTime - LastTradeTime < 300 then Exit

для MQL4!? Надо чтобы между установкой ордеров был промужуток минут на пять.

 

for(cnt=0;cnt<OrdersTotal();cnt++) {

if(OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES)==false) break;

if(CurTime()-OrderOpenTime()<300) return(0);

...

}

Недавно переводил советника на МТ4 и тоже задумался над аналогом LastTradeTime. Решил сделать так:

 

1. Объявляю глобальную переменную

datetime LastTradeTime;

2. Во всех местах где есть установка, удаление, модификация ордеров и закрытие позиций вставляю:

LastTradeTime = CurTime();

3. И спокойно использую

if (CurTime()-LastTradeTime<300) return;


Ещё вчера я себе казался умным и пытался изменить мир, а сегодня я стал мудрым и пытаюсь изменить себя...

Share this post


Link to post
Share on other sites
Квант
Все заработало. Спасибо. Еще бы аналог

if CurTime - LastTradeTime < 300 then Exit

для MQL4!? Надо чтобы между установкой ордеров был промужуток минут на пять.

 

for(cnt=0;cnt<OrdersTotal();cnt++) {

if(OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES)==false) break;

if(CurTime()-OrderOpenTime()<300) return(0);

...

}

 

Большое спасибо!


Оставь надежду, всяк сюда входящий!

Forex

Share this post


Link to post
Share on other sites
Квант
Все заработало. Спасибо. Еще бы аналог

if CurTime - LastTradeTime < 300 then Exit

для MQL4!? Надо чтобы между установкой ордеров был промужуток минут на пять.

 

for(cnt=0;cnt<OrdersTotal();cnt++) {

if(OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES)==false) break;

if(CurTime()-OrderOpenTime()<300) return(0);

...

}

Недавно переводил советника на МТ4 и тоже задумался над аналогом LastTradeTime. Решил сделать так:

 

1. Объявляю глобальную переменную

datetime LastTradeTime;

2. Во всех местах где есть установка, удаление, модификация ордеров и закрытие позиций вставляю:

LastTradeTime = CurTime();

3. И спокойно использую

if (CurTime()-LastTradeTime<300) return;

 

Спасибо за внимание. Попробую и так...


Оставь надежду, всяк сюда входящий!

Forex

Share this post


Link to post
Share on other sites
Roger
1. Объявляю глобальную переменную

datetime LastTradeTime;

2. Во всех местах где есть установка, удаление, модификация ордеров и закрытие позиций вставляю:

LastTradeTime = CurTime();

3. И спокойно использую

if (CurTime()-LastTradeTime<300) return;

 

Тут есть подводный камень. Когда ордер закроется по ТС или СЛ, это не сработает.

Share this post


Link to post
Share on other sites
Gentor

Почему не открывается несколько терминалов МТ4

Система Вин ХР

может где в настройках что поменять нужно

кто знает?

 

приходиться в одном скакать между счетами

Share this post


Link to post
Share on other sites
KimIV
Тут есть подводный камень. Когда ордер закроется по ТС или СЛ, это не сработает.

Да, действительно, не сработает. Значит видится такой вариант:

 

1. Организуем цикл по всем ордерам и позам (открытым и закрытым)

2. Запоминаем значения OrderOpenTime() и OrderCloseTime()

3. Выбираем максимальное значение, последовательно подбираясь к LastTradeTime

4. Цикл нигде не прерываем, т.к. нужное нам значение может оказаться последним. Поэтому прийдётся перебирать все ордера и позы.

 

Наверно, это тормозное решение. Есть другие варианты?


Ещё вчера я себе казался умным и пытался изменить мир, а сегодня я стал мудрым и пытаюсь изменить себя...

Share this post


Link to post
Share on other sites
Roger
Тут есть подводный камень. Когда ордер закроется по ТС или СЛ, это не сработает.

Да, действительно, не сработает. Значит видится такой вариант:

 

1. Организуем цикл по всем ордерам и позам (открытым и закрытым)

2. Запоминаем значения OrderOpenTime() и OrderCloseTime()

3. Выбираем максимальное значение, последовательно подбираясь к LastTradeTime

4. Цикл нигде не прерываем, т.к. нужное нам значение может оказаться последним. Поэтому прийдётся перебирать все ордера и позы.

 

Наверно, это тормозное решение. Есть другие варианты?

 

Если советник работает с одной валютой, можно еще проще:

int k,total;

total=OrdersTotal();

if(k<total) k=total;

if(k>total) {k=total;LastCloseTime=CurTime();}

if(CurTime()-LastCloseTime<Pause) return();

 

Кау торги начнутся, проверю оператор HistoryTotal( ), а если честно, я не смог найти оператор, который реагирует на действия самого МТ4, т.е. в журнале МТ4 вроде все отображается, а как это можно использовать, я не понимаю. Может кто из спецов разъяснит?

Share this post


Link to post
Share on other sites
Странник

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

 

Попробовал выставить отложенный ордер со временем истечения через 3 минуты. По часам МТ( т.е. МСК-2 ) он выставить не даёт.

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

 

Извините, если тема поднималась. Коли так, то ссылочку, если не трудно.

Share this post


Link to post
Share on other sites
Rosh

Попробуй так, в тестере работает, он-лайн сейчас проверяю

 

ticket=OrderSend(Symbol(),OP_SELLSTOP,Lots,...,CurTime()+H*Period()*60,Red);

Share this post


Link to post
Share on other sites
lodey

1. Скажите, есть ли какие-нибудь особенности настройки почты (Меню "Настройки-->Почта")?

 

Когда стоял МТ4 билд 179, почта отправлялась.

 

После переустановки на 180 ввёл те же настройки, но почта по нажатию кнопки "ТЕСТ" уходить не хочет.

 

В журнале пишет: "SMTP: 517 Syntax Error."

 

2. Где можно узнать все коды ошибок?

 

Спасибо!


ИМХО. :smt024

Share this post


Link to post
Share on other sites
l@nchik

Всем добрый день. Дико извиняюсь что влез.

Помогите с проблемой пожалуйста.

Насколько я понимаю, когда происходит тестирование советника на каком ни будь чарте, происходит восстановление каждой свечки (бара) на графике слева-направо на оснавании тикового графика (или только цен откр. и пр). Как написать код что бы в одномерный массив A[n] записать все Хаи (Лоу) с последних “n”свечек (включая последнюю). С «последних», имеется ввиду для советника, находящегося где-то, позади на истории.

У меня фрагмент кода такой:

 

for(i=1;i<=Kol_Svechey;i++) // сбор данных с последних ...-ти свечей
      {
       max_array[i]=High[Bars-i+1]; 
       min_array[i]=Low[Bars-i+1];
      }

Фух, надеюсь, правильно изложил свой вопрос.

Пожалуйста помогите, после ночи и пол дня за компом башака уже не соображает.

Share this post


Link to post
Share on other sites
Rosh

Ты, надеюсь, в курсе, что при тестирование значение Bars будет меняться от 100 до текущего значения Bars (максимального количества баров, доступной тебе на данный момент времени)?

Share this post


Link to post
Share on other sites
l@nchik

Если чесно, то не очень. А почему именно со 100?

Share this post


Link to post
Share on other sites
Rosh
Если чесно, то не очень. А почему именно со 100?

Чтобы значения инерционных индикаторов (и имеющих в параметрах период расчета , например, скользящие средние) успели принять достоверные значения. Поэтому, первые 100 баров тестером просто пропускаются. Я считаю это правильным. Но видел некоторые разновидности цифровых фильтров, имеющих период порядка 600. В таком случае нужно пропускать как минимум 600 первых баров.

Share this post


Link to post
Share on other sites
l@nchik

В случае с индикаторами понял почему первые 100 баров пропускаются. Но ведь советнику, не использующего в своей работе индикаторы нет необходимости отрубать кусок графика. Что это недоработка программеров? Но суть не в этом.

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

Замечено два ГЛЮКА! Первое - это советник даже при выборе самого точного воспроизведения баров читает график через совершенно незакономерные дыры. Выходные дни я учитывал. Второе, это после остановки линии тестера (закладка "Настройки") в журнал продолжают выводиться данные. Т.е. при визуально завершении работы внутренняя работа продолжается. Это все что я пока заметил. Т.к. я новичок в написании советников мож чего и не знаю. Может это так и должно быть?

 

И еще вопросик: предопределенные переменные High, Low, Open и др.

являются массивами исторических данных. Если я напишу

High [5] при тестировании! будет читаться High 5-й свечи влево от моделируемой тестером? Если кто знает, помогите разобраться.

----------

Спасибо.

Share this post


Link to post
Share on other sites
Roger

Кто встречался с такой неприятностью? У меня в Метаэдиторе в основном окне и в Навигаторе русские буквы нормально отображаются, а в Инструментарии в другой кодировке.

Где можно подправить?

Спасибо.

Share this post


Link to post
Share on other sites
k005

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

Спасибо заранее


Коррекция обусловлена открытием твоей позиции

Share this post


Link to post
Share on other sites
uaix

А как пароль для инвестора поставить?

Ставлю галочку в поле "заменить пароль инвестора", в старый пароль ввожу свой пароль, в нижние два поля пароль инвестора. Жму "ок" и ничего не происходит.

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

Share this post


Link to post
Share on other sites
Rosh
А как пароль для инвестора поставить?

Ставлю галочку в поле "заменить пароль инвестора", в старый пароль ввожу свой пароль, в нижние два поля пароль инвестора. Жму "ок" и ничего не происходит.

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

А что должно происходить? Я вчера на реал счете поставил инвест-пароль таким же образом, все получилось.

Share this post


Link to post
Share on other sites
Support
А как пароль для инвестора поставить?

Ставлю галочку в поле "заменить пароль инвестора", в старый пароль ввожу свой пароль, в нижние два поля пароль инвестора. Жму "ок" и ничего не происходит.

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

 

Скорее всего Ваш новый пароль не удовлетворяет требованиям для паролей - минимум должна быть 1 большая буква и 1 цифра.


С уважением,
Тех. поддержка компании "Альпари".

Share this post


Link to post
Share on other sites
uaix

Не удовлетворяет, да.

Спасибо :D

Share this post


Link to post
Share on other sites
YMak

На форуме метаквотов обсуждают глобальные переменные и семафоры для экспертов.

http://www.metaquotes.ru/forum/5747/

 

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

 

komposter 24.08.05 18:09

 

Столкнулся с проблемой: у меня для торговли используется глоб. переменная - семафор.

Т.е. пока идёт торговая оперция, эксперт устанавливает её значение в 1, а когда заканчивает, в 0.

Ну, и, естественно, пока она равна 1, ни один другой эксперт торговать не может.

Так вот если закрыть терминал во время торговли, она остаётся равна 1, и при следюющем запуске никто не может торговать.

Как вариант решения можно задавать не просто семафор (0/1),

а задавать время его жизни как LocalTime + K секунд.

 

Тогда семафор будет принимать значения времени в недалеком будущем или ноль.

 

Если значение семафора меньше LocalTime, то считаем что он свободен.

 

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

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.

×