Jump to content
Rosh

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

Recommended Posts

Roger

ИМХО можно проще. Проверяешь OrdersTotal(). Если равно нулю - обнуляй переменную принудительно.

Share this post


Link to post
Share on other sites
uaix

Мучал индикаторы (в частности Ишимоку) - перестали рисоваться иконки :lol:. Куда написать?

Share this post


Link to post
Share on other sites
Rosh
Мучал индикаторы (в частности Ишимоку) - перестали рисоваться иконки :lol:. Куда написать?

 

Какие иконки? Если не можешь писать на форуме разработчиков - опиши здесь, я выложу твой вопрос там.

Share this post


Link to post
Share on other sites
uaix

Ну в системе часть иконок рисоваться перестала. Бывает когда DC не освобождается. После перезапуска МТ всё ок стало. Повторить пока не смог.

Share this post


Link to post
Share on other sites
uaix

А цвет некоторых свечей можно менять? Например которые меньше ЕМА.

И можно ли какойнить текст выводить в окне индикатора (не по нижнему краю, а где нибудь на кривой индюка)?

Share this post


Link to post
Share on other sites
Steve

Возник такой вот вопрос.

В логе выдается сообщение

 

TradeDispatcher: trade context is busy

 

Это идет на демосерверах

 

что это значит и с чем его едят.

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

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

На трех демосчетах этим советником несколько десятков сделок успешно открыто и завершено. Сообщение иногда выскакивало, но одиночно, а сейчас идет подряд.

 

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

Устанавливать какие-то флаги при каждой операции конечно можно, но как-то громоздко. У меня и так в принципе все проверки на вероятные повторные модификации введены. Если параметры ордера не изменились, то никаких запросов на модификацию не посылается.

 

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

Share this post


Link to post
Share on other sites
Rosh

Я ставлю 30-секундную паузу (Sleep(30000)) после каждой операции открытия/закрытия/модификации и никаких проблем с торговым диспетчером не возникает.

Share this post


Link to post
Share on other sites
Steve
Я ставлю 30-секундную паузу (Sleep(30000)) после каждой операции открытия/закрытия/модификации и никаких проблем с торговым диспетчером не возникает.

 

Многовато.

В принципе вроде уже заработало. Может какой еще другой глюк был.

Но для надежности тоже буду ставить секунд по 10.

Share this post


Link to post
Share on other sites
Steve

Замечен глюкодром.

Пока тока на йене.

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

Есть подозрение, что что-то тут с разрядностью.

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

 

Наблюдая пока :shock:

Share this post


Link to post
Share on other sites
Rubiko

Уважаемые специ! Не пойму то ли это моя ошибка в настройках Винды ХР или это проблемма самого МТ4. Выдаёт закоряки( ошибка кодировки) в панели инструментов и терминале. При наведении мышки в плавующем окне показывает правильный текст. Может кто сталкивался с такой проблемкой, подскажите что надо сделать.

Share this post


Link to post
Share on other sites
Steve
Уважаемые специ! Не пойму то ли это моя ошибка в настройках Винды ХР или это проблемма самого МТ4. Выдаёт закоряки( ошибка кодировки) в панели инструментов и терминале. При наведении мышки в плавующем окне показывает правильный текст. Может кто сталкивался с такой проблемкой, подскажите что надо сделать.

 

Энто шрифта какого-то не хватает. Вероятно стандартного виндовского. Или он заменен не той локализацией.

Во всплывающих шрифт другой. Потому и нормально.

 

Там от системы определенная зависимость наблюдается.

У мена к примеру в редакторе советников меню русифицированное.

Но этот терминал и редактор на флэшке записаны.

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

Так что сюрпрайзов от разработчиков хватает. Еще может и не то всплывет.

Share this post


Link to post
Share on other sites
Steve

Подскажите кто знает.

Раньше мт3 можно было запускать одновременно несколько копий с одного исполняемого файла.

мт4 вроде одно время тоже также действовал.

Сейчас смотрю - упорно не хочет запускать вторую копию. Типа одна есть и пользуйся. Ну а вот мне нужно больше. И чего?

Может где фишку какаю переключить?

Неохота плодить несколько папок на диске только для этого. Да и трафик при одновременной работе больше будет.

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

Share this post


Link to post
Share on other sites
Rosh

В МТ4 нельзя. Для каждой копии нужно устанавливать свой каталог.

Сколько копий будешь запускать -столько каталогов и устанавливай.

Share this post


Link to post
Share on other sites
Steve
В МТ4 нельзя. Для каждой копии нужно устанавливать свой каталог.

Сколько копий будешь запускать -столько каталогов и устанавливай.

 

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

Все одно извращение :cry:

Share this post


Link to post
Share on other sites
Litle

to Rosh.

Подскажи плз...вот есть пользовательский индикатор....отрисовывается правильно и без проблем.

Пытаюсь написать эксерта, на основе сигнала от этого индикатора....при запуске тестировщика в логе "пишет деление на 0".....В чем может быть проблема?

Пробывал выводить значения в файл, поначалу нормально....потом бред считает.

А так же есть ли какие-нибудь инструменты отладки в МТ4?

Share this post


Link to post
Share on other sites
Rosh

иструмент отладки один - запись значений в лог. Возможно, логика индикатора небезупречна, на истории все красиво, а как начинает работать в тестере - все меняется. И еще, раньше была такая вещь: имеем индикатор (назовем его папа), на основе его строим второй (назовем его сын), а на основе сына строим третий (назовем его внук). Так вот, когда бросаешь эти индикаторы на чарт, хоть по одному, хоть все разом - рисуются нормально. Но если подсовываешь советнику в бэк-тесте внука, получаешь нули. Как сейчас -не знаю.

Share this post


Link to post
Share on other sites
Litle
иструмент отладки один - запись значений в лог. Возможно, логика индикатора небезупречна, на истории все красиво, а как начинает работать в тестере - все меняется. И еще, раньше была такая вещь: имеем индикатор (назовем его папа), на основе его строим второй (назовем его сын), а на основе сына строим третий (назовем его внук). Так вот, когда бросаешь эти индикаторы на чарт, хоть по одному, хоть все разом - рисуются нормально. Но если подсовываешь советнику в бэк-тесте внука, получаешь нули. Как сейчас -не знаю.

Спасибо за ответ.

Да, индикатор строится на основе другого....это так называемый ренко.

 {
  int    handle,i,counted_bars=IndicatorCounted();
  double Brick=0,DN=0,UP=0,BricksUp=0,BricksDn=0,Value1=0;

//---- 
  if (Bars<=Smooth) return(0);
  i=Bars-Smooth-1; 
  if(counted_bars>=Smooth) i=Bars-counted_bars-1;
//---- 
  while(i>=0)
  {
     if(i==Bars-Smooth-1)  // Первый бар
        {
           UP=High[i];
           DN=Low[i];
           Brick=Stap*(High[i]-Low[i]);
        }
     else
        {
          Value1=iATR(NULL,0,Smooth,i); // значение ATR 
          if (Close[i]>UP+Brick)
            {
              BricksUp=MathFloor((Close[i]-UP)/Brick)*Brick;
              UP=UP+BricksUp;
              Brick=Stap*Value1;
              DN=UP-Brick;
              BricksDn=0;
            }  
          if (Close[i]<DN-Brick)
            {   
              BricksDn=MathFloor((DN-Close[i])/Brick)*Brick;  
              DN=DN-BricksDn;
              Brick=Stap*Value1;       
              UP=DN+Brick;
              BricksUp=0;
            }
        } 
     ExtMapBuffer1[i]=UP;
     ExtMapBuffer2[i]=DN;
     i--; 
}
return(0);

Может ты увидешь какие-нибудь огрехи.....

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

Share this post


Link to post
Share on other sites
Rosh

Какую модель тестирования используешь? Опен прайс, наверно?

Share this post


Link to post
Share on other sites
Litle
Какую модель тестирования используешь? Опен прайс, наверно?

кроме тиков...остальные две модели.

Share this post


Link to post
Share on other sites
Dmitry-A

Куда пропали новости (весь раздел) из МТ4? Тем более, так не вовремя :lol:


Все не случайно!.. Совсем не случайно!

Share this post


Link to post
Share on other sites
eztop

Привет Всем! Подскажите пожалуйста какие изменения нужно внести в индикатор чтобы он считывал закрытие дня не по москве, а например по токио? Заранее благодарен.


Идём куда и все(иногда).

Share this post


Link to post
Share on other sites
Mix

Подскажите, плз, как в МТ-4 на графике изобразить линию? Т.е. что-то типа LINE(номер бара, цена)-(номер бара,цена)?


Приверженец волновой теории Р.Н.Эллиота.

Я не признаю альтернативных вариантов в волновой разметке.

Share this post


Link to post
Share on other sites
Roger
Привет Всем! Подскажите пожалуйста какие изменения нужно внести в индикатор чтобы он считывал закрытие дня не по москве, а например по токио? Заранее благодарен.

Возьми индикатор Лексуса

http://forum.alpari-idc.ru/viewtopic.php?t=45778

м переделай время на дни в нужные тебе часы. Только почитай внимательно эту ветку. Он там пишет как правильно все делать.

Share this post


Link to post
Share on other sites
Roger
Подскажите, плз, как в МТ-4 на графике изобразить линию? Т.е. что-то типа LINE(номер бара, цена)-(номер бара,цена)?

Чем изобразить - индикатором, советником? Если просто на графике - выбирай Вставка-Линии-Горизонтальные лини и рисуй.

Share this post


Link to post
Share on other sites
eztop

Дело в том,что я пересчитываю линии поддержки и сопротивления

вручную после каждой сессии,а хотелось бы автоматом.

Спасибо за ответ.


Идём куда и все(иногда).

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.

×