[ВНИМАНИЕ, ТЕМА ЗАКРЫТА!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда. - страница 965

 
Vinin:


ДЦ - Дилинговый центр

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

Сделки по другим инструментам не открываются.

Если нужно корректно проводить мультивалютный анализ, то лучше пользоваться МТ5. Там есть мультивалютный тестер.


Через МТ5 можно торговать на реальных счетах? Или она пока только для демо?
 
ViktorF:

Через МТ5 можно торговать на реальных счетах? Или она пока только для демо?

В некоторых ДЦ предлагают эту услугу.
 
Подскажите пожалуйста. Составил кодик небольшой,ошибку со скобками выдаёт... что не так?
//+------------------------------------------------------------------+
void line()
{
 ObjectCreate("MILINE", 1, 0, Time[0], Bid-5*Point);
 
 if (Bid<ObjectGet("MILINE", 1) 
 {
 ObjectSet("MILINE", 1, (ObjectGet("MILINE", 1)-1*Point));
 return;
   }
 
 
 if (Bid>ObjectGet("MILINE", 1)
 
 {
  ObjectSet("MILINE", 1, (ObjectGet("MILINE", 1)+1*Point));
 return;
   }
   //+------------------------------------------------------------------+
  }
 
143alex:
Подскажите пожалуйста. Составил кодик небольшой,ошибку со скобками выдаёт... что не так?


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

//+------------------------------------------------------------------+
void line(){
 ObjectCreate("MILINE", 1, 0, Time[0], Bid-5*Point);
 if (Bid<ObjectGet("MILINE", 1)) { ObjectSet("MILINE", 1, ObjectGet("MILINE", 1)-1*Point); return; }
 if (Bid>ObjectGet("MILINE", 1)) { ObjectSet("MILINE", 1, ObjectGet("MILINE", 1)+1*Point); return; }
   //+------------------------------------------------------------------+
  }

 ЗЫ: все равно работать не будет - нет проверок создался ли объект, нет перерисовки окна, что бы проверить создание объекта

 
IgorM:


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

ЗЫ: все равно работать не будет - нет проверок создался ли объект, нет перерисовки окна, что бы проверить создание объекта

Спасибо! Я только учусь... дойду и до проверок когда ни буть
 
143alex:
Спасибо! Я только учусь... дойду и до проверок когда ни буть
В тестере на м-1 работает... очень даже интересно для экспериментов на резких движениях. Ещё раз спасибо!
 
 void Send_BUYLIMIT(double Lot,double cena)
{
if ( OrdersTotal()==0  ) OrderSend(Symbol(),OP_BUY,0.01,Ask,10,0,Bid+10*Point);
if (OrderType()==OP_BUY && OrdersTotal()<=4)OrderSend(Symbol(),OP_BUYLIMIT,Lot,cena,10,0,cena+tp*Point,0,123,0,Blue);
 
}
   return(0);


Как сделать чтобы, открылся бай и установилось 4 отложенных ордера байлимит? Итого 5 ордеров, 1 рыночный, а 4 отложники. В чем тут ошибка?

 

Всем привет.

Подскажите пожалуйста: можно ли после проведения тестирования на истории каким-либо способом выудить коментарий или magic номер каждой совершенной сделки, или любым другим способом идентифицировать сделки? Попробую объяснить смысл. Допустим запрограмировал несколько  паттернов, прогнал советника на истории, результат, как это часто бывает - слив. Было бы интересно посмотреть, какая из фигур и в каких рыночных условиях  сливает больше и чаще, а какая (если такая есть) приносит хоть какой-то профит. 

Зарание спасибо за ответы. 

 
artmedia70:


Artemida70, спасибо за подсказку по поиску ошибок при отладке программы.

У меня еще пара вопросов, пожалуйста ответьте по мере возможности.

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

Вопрос второй. На одном из закрытых форумов видел разговор о существовании более полной книги по языку MQL4, а также о небольшом по объему пособии или инструкции по терминалу МТ4, в котором приводятся операторы клавиш, позволяющие программным способом снять советник с торговли, поcтавить его на тестирование и т.д.

ВОПРОС: не поможете ли в получении этой информации?

СПАСИБО

 

Создал пользовательский индикатор со следующими внешними данными:

//------- Параметры индикатора --------------------------------------+
extern datetime  Zero_Point      = D'2010.10.10 00:00';
extern int       cnt_Bars        = 0;
extern string    Lots            = "0.1";                            // Размеры лотов
extern string    BUY_Pairs       = "AUDJPY;AUDCAD;EURJPY;GBPJPY;GBPUSD;NZDUSD;CADJPY";
extern string    SELL_Pairs      = "AUDUSD;CHFJPY;EURCHF;EURUSD;GBPCHF;NZDJPY;USDJPY";
extern bool      CalculateInPips = False;

Произвожу его вызов из советника:

string List = DSDig (MathMax (Lot, gd_Lot[gi_cur_Basket]));
        Print ("Zero_Point = ", Zero_Point, "; Lot = ", List, "; Basket Long = ", cur_Basket_Long, "; Basket Short = ", cur_Basket_Short);
        iCustom (Symbol(), TF_ind, "i-PSI@EquityBasket", Zero_Point, 0, List, cur_Basket_Long, cur_Basket_Short, False, 0, 0);

Лог советника:

20:13:54 e-PSI@BasketBull_v2.4 EURUSD,H4: Zero_Point = 1288915200; Lot = 0.10; Basket Long = USDJPY;USDCHF;CADJPY;CADCHF; Basket Short = NZDUSD;AUDCAD;EURJPY;EURGBP;AUDUSD;EURCAD;EURCHF;EURUSD

Здесь я имею то, что данные передаются правильно. 

Смотрим лог индикатора:

Basket LONG[8]: 0 - NZDUSD; 1 - AUDCAD; 2 - EURJPY; 3 - EURGBP; 4 - AUDUSD; 5 - EURCAD; 6 - EURCHF; 7 - EURUSD; 
Basket SHORT[7]: 0 - AUDUSD; 1 - CHFJPY; 2 - EURCHF; 3 - EURUSD; 4 - GBPCHF; 5 - NZDJPY; 6 - USDJPY; 
20:13:34 i-PSI@EquityBasket EURUSD,M30: List Lot = USDJPY;USDCHF;CADJPY;CADCHF
20:13:34 i-PSI@EquityBasket EURUSD,M30: Zero_Point = 0; Lot = 0.00

Значение Zero_Point в советнике:

extern datetime Zero_Point          = D'2010.10.10 00:00';
Передаём значение равное (по логу советника)  
Zero_Point = 1288915200

 а получаем в индикаторе 0. Кто-нибудь подскажет в чём засада???

Причина обращения: