Ошибки, баги, вопросы - страница 283

 

Можно ли изменить MAGIC открытой позиции (=magic1) при перевороте

(на magic2) т.е. я указываю при открытии magic1 а при перевороте ставлю

magic2, вынес в Print (после переворота), а мне выносит magic2=0.

ставил: magic1=97 magic2=198

но для работы 2 советников - надо чтоб magic2=198, а не 0.

Как это реализовать?

Спасибо.

 

может с этим кто поможет, вот код

   HistorySelect(0,TimeCurrent());
   uint total=HistoryDealsTotal();
   for(uint i=HistoryDealsTotal()-1;i<total;i++)
          {
                  ulong ticket=HistoryDealGetTicket(i);
                  long type  =HistoryDealGetInteger(ticket,DEAL_TYPE);
                  double profit=HistoryDealGetDouble(ticket,DEAL_PROFIT);
                  Print ("profit=",profit,"type",type,"ticket",ticket);
          }        

рrofit - выводит 0

type - выводит 0

ticket - правильно считает

Логика вроде нигде не нарушена?

 

Толи это глюк, то ли фича, то ли что то не так делаю...

Пытаюсь написать мультивалютный индикатор. Для в ходе анализа вырезал все что только можно. Он просто должен выводить High Low и MA по указанному инструменту. И он отлично работает если инструмент тот же что и график, на котором он размещен. Но если инструмент другой, он отказывается работать.

 CopyBuffer и CopyClose возвращают -1. График инструмента по которому строится индикатор открыт рядом в том же таймфрейме. Т.е. история должна быть подгружена. Но индикатор не работает и историю не пытается подгрузить (как например это происходит при запуске советника). Не видно что программа что то скачивает.

вот вкратце то что я делаю:

   if (CopyHigh(Symbol1,0,0,to_copy,HighBuffer)<to_copy){f_comment("Ждите..."+Symbol1+" High");return(0);}
   if (CopyLow(Symbol1,0,0,to_copy,LowBuffer)<to_copy){f_comment("Ждите..."+Symbol1+" Low");return(0);}
   if (CopyBuffer(maHandle,0,0,to_copy,maBuffer)<to_copy){f_comment("Ждите..."+Symbol1+" MA");return(0);}

   for(j=to_copy-1;j>=0;j--){
      ExtBuffer1[j]=HighBuffer[j];
      ExtBuffer2[j]=LowBuffer[j];
      ExtBuffer3[j]=maBuffer[j];
   } 


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

Глюк ли это или кривые руки? Помогите разобраться. 

Построение мультивалютного индикатора с применением множества промежуточных индикаторных буферов
Построение мультивалютного индикатора с применением множества промежуточных индикаторных буферов
  • 2010.05.17
  • Alexey Klenov
  • www.mql5.com
В последнее время возрос интерес к кластерному анализу рынка FOREX. MQL5 открывает новые возможности исследования закономерностей движения валютных пар. Важным преимуществом MQL5, по сравнению с MQL4, является возможность использования неограниченного количества индикаторных буферов. В данной статье описан пример построения мультивалютного индикатора.
Файлы:
ind.mq5  5 kb
 

alexluek:

type - выводит 0

ticket - правильно считает

Логика вроде нигде не нарушена?

Не знаю как по поводу профита а тип вроде правильно выдает, просто тут есть фишка одна...

Нужно примерно так

ENUM_DEAL_TYPE type  = (ENUM_DEAL_TYPE)HistoryDealGetInteger(ticket,DEAL_TYPE);

Что касается Вашего варианта - Как думаете какое значение будет у DEAL_TYPE_BUY если его представить как число?

Правильно, DEAL_TYPE_BUY - 0, а DEAL_TYPE_SELL -1.

Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства сделок
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства сделок
  • www.mql5.com
Стандартные константы, перечисления и структуры / Торговые константы / Свойства сделок - Документация по MQL5
 
ALozovoy:
Укажите номер билда, ОС и приложите скриншот.

Build: 384

OC: WinXP SP3

... периодически пропадает пункт меню "Сохранить как рисунок"...

Файлы:
 
gisip:

Build: 384

OC: WinXP SP3

... периодически пропадает пункт меню "Сохранить как рисунок"...

Все верно - у Вас нет открытых чартов, поэтому команда "Файл - Сохранить как рисунок" отсутствует.

Для сохранения графика оптимизации торговой стратегии нужно использовать команду из контекстного меню "Экспортировать в PNG (рисунок)".

 
Serj_Che:

Периодически появляется ошибка при старте тестера:

2011.01.27 18:35:55 Core 1 connect closed

2011.01.27 18:35:54 Tester tester agent got failed

2011.01.27 18:35:49 Core 1 connecting to 127.0.0.1:3000

2011.01.27 18:35:49 Core 1 agent process started


При повторном запуске не появляется.

Это так и должно быть? И что делать, чтобы не возникало ошибки? 

Такое бывает. Какая-нибудь случайная сетевая проблема - и пожалуйста. Вообще-то у нас предусмотрена ситуация, когда работает единственный локальный агент. Он не должен быть убиваем. Он должен быть тут же переинициализирован. Посмотрим. Возможно, что-то поломали.
 
Interesting:

Не знаю как по поводу профита а тип вроде правильно выдает, просто тут есть фишка одна...

Нужно примерно так

Что касается Вашего варианта - Как думаете какое значение будет у DEAL_TYPE_BUY если его представить как число?

Правильно, DEAL_TYPE_BUY - 0, а DEAL_TYPE_SELL -1.

спасибо - поэксперементируем
 

билд 384. похоже еще один баг нашел... при просмотре истории, ордера - не выводятся установленные уровни Stop Loss и Take Profit что называется сАвсЭм...

No S/L & T/P levels in history...

 
Voodoo_King:

билд 384. похоже еще один баг нашел... при просмотре истории, ордера - не выводятся установленные уровни Stop Loss и Take Profit что называется сАвсЭм...



А как выставляются стопы и тейки?

Вы сначала открываете позицию и только потом модифицируете ее или сразу указываете надлежащий СЛ и ТП?