Ответ
 
Опции темы
Старый 11.03.2014, 21:57   #2681 (permalink)
Прохожий
 
Аватар для tzvetanov1
 
Регистрация: 12.05.2011
Сообщений: 2
Репутация: 1
tzvetanov1
Сказал(а) спасибо: 3
Поблагодарили 0 раз(а) в 0 сообщениях
Поинты: 0
Здравствуйте,
Почему я не могу установить MT4
дает мне эти сообщения. Нажмите на изображение для увеличения
Название: Snap1.JPG
Просмотров: 24
Размер:	21.7 Кб
ID:	156322Может кто поможет мне
tzvetanov1 вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 11.03.2014, 21:59   #2682 (permalink)
Прохожий
 
Аватар для tzvetanov1
 
Регистрация: 12.05.2011
Сообщений: 2
Репутация: 1
tzvetanov1
Сказал(а) спасибо: 3
Поблагодарили 0 раз(а) в 0 сообщениях
Поинты: 0
Нажмите на изображение для увеличения
Название: Snap2.JPG
Просмотров: 22
Размер:	47.9 Кб
ID:	156323
tzvetanov1 вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 12.03.2014, 17:09   #2683 (permalink)
Почётный гражданин
 
Аватар для qqmber
 
Регистрация: 20.01.2013
Сообщений: 530
Репутация: 386
qqmber - qqmber - qqmber - qqmber -
Сказал(а) спасибо: 57
Поблагодарили 386 раз(а) в 254 сообщениях
Поинты: 439
Первое предположение, это вообще не МТ4, а невесть что. Где вы взяли файл с таким замысловатым названием?
qqmber вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 12.03.2014, 17:16   #2684 (permalink)
 
Аватар для mobidik
 
Регистрация: 09.08.2012
Адрес: Ua_Khm
Сообщений: 1,655
Репутация: 8580
mobidik mobidik mobidik mobidik mobidik mobidik mobidik mobidik mobidik mobidik mobidik
Сказал(а) спасибо: 634
Поблагодарили 8,576 раз(а) в 1,569 сообщениях
Поинты: 804
tzvetanov1
было подобное, когда на старый слабенький ноут пробовал установить 610 билд - не встал, так и остался на 509, по каким-то параметрам не проходит установка.
mobidik на форуме   Ответить с цитированиемОтветить с цитированием  
Старый 14.03.2014, 03:58   #2685 (permalink)
Местный житель
 
Аватар для Snaike
 
Регистрация: 18.03.2012
Адрес: Уссурийск
Сообщений: 115
Репутация: 212
Snaike - Snaike - Snaike -
Сказал(а) спасибо: 9
Поблагодарили 210 раз(а) в 47 сообщениях
Поинты: 111
Вообщем имею в советнике вот такой код

Скрытый текст

Код:
extern string T5_1 = "Безубыток для Пирамиды"; 
extern bool   WL            = true;    // Включение, отключение безубытка ордеров. 
extern int    WLstart       = 30;      // Откуда переводим (пункты профита) 
extern int    WLlevel       = 1;       // Куда переводим (пункты профита) 
//--------------------------------------- 
extern string T5_2 = "Trailing для Пирамиды"; 
extern bool   Trailing      = true;    // Вкл. треилинга      
extern int    TrailingStop  = 30;      // Размер трала в пунктах      
extern int    TrailingStep  = 30;      // Шаг трала в пунктах 

//========================================================== 

//+------------------------------------------------------------------+ 
//| global variables                                                 | 
//+------------------------------------------------------------------+ 

double dPiramidTP = 0.0; 
double dWLstart = 0.0; 
double dWLlevel = 0.0; 
double dTrailingStop = 0.0; 
double dTrailingStep = 0.0; 

//+------------------------------------------------------------------+ 
//| expert initialization function                                   | 
//+------------------------------------------------------------------+ 

//---- проверка введенных пользователем данных 
if(WLlevel < 0) WLlevel = 0.0; 
   if(WLstart < 0) WLstart = 0.0; 
   if(TrailingStop < 0) TrailingStop = 0.0; 
   if(TrailingStep < 0) TrailingStep = 0.0; 

//---конвертация данных 

   dWLstart = WLstart; 
   InfoChangeToDigit(_Symbol, dWLstart); 
   dWLlevel = WLlevel; 
   InfoChangeToDigit(_Symbol, dWLlevel); 
   dTrailingStop = TrailingStop; 
   InfoChangeToDigit(_Symbol, dTrailingStop); 
   dTrailingStep = TrailingStep; 
   InfoChangeToDigit(_Symbol, dTrailingStep); 

//+------------------------------------------------------------------+ 
//| expert start function                                            | 
//+------------------------------------------------------------------+ 

//+------------------------------------------------------------------+  
// Трейлинг Стоп ордеров пирамиды 
void PiramidTrailing(){ 
   if(Trailing && TrailingStop > 0.0){ 
      for(int i=OrdersTotal()-1;i>=0;i--){ 
         if(OrderSelect(i,SELECT_BY_POS)){ 
            if(OrderSymbol()==Symbol() && OrderMagicNumber()==MagicPiramid){ 
               switch(OrderType()){ 
                  case OP_BUY: 
                     double _price = OrderStopLoss();                      
                     if(_price == 0.0 || _price < OrderOpenPrice()) _price = OrderOpenPrice(); 
                     // 
                     if(Bid >= NormalizeDouble(_price+dTrailingStop,Digits)){ 
                        double _new_sl = NormalizeDouble(Bid-dTrailingStep,Digits); 
                        if(NormalizeDouble(OrderStopLoss()-_new_sl,Digits)!=0.0 && _new_sl > _price){ 
                           OrderModify(OrderTicket(),OrderOpenPrice(),_new_sl,OrderTakeProfit(),OrderExpiration()); 
                        } 
                     }                      
                     break; 
                  case OP_SELL: 
                     _price = OrderStopLoss(); 
                     if(_price == 0.0 || _price > OrderOpenPrice()) _price = OrderOpenPrice(); 
                     // 
                     if(Ask <= NormalizeDouble(_price-dTrailingStop,Digits)){ 
                        _new_sl = NormalizeDouble(Ask+dTrailingStep,Digits); 
                        if(NormalizeDouble(OrderStopLoss()-_new_sl,Digits)!=0.0 && _new_sl < _price){ 
                           OrderModify(OrderTicket(),OrderOpenPrice(),_new_sl,OrderTakeProfit(),OrderExpiration()); 
                        } 
                     } 
                     break; 
               } 
            } 
         } 
      } 
   } 
}  
//+------------------------------------------------------------------+  
// Установка безубытка для ордеров пирамиды 
void PiramidBE(){ 
   if(WL && WLstart > 0){ 
      for(int i=OrdersTotal()-1;i>=0;i--){ 
         if(OrderSelect(i,SELECT_BY_POS)){ 
            if(OrderSymbol()==Symbol() && OrderMagicNumber()==MagicPiramid){ 
               switch(OrderType()){ 
                  case OP_BUY: 
                     if(OrderStopLoss()==0.0 || OrderStopLoss() < NormalizeDouble(OrderOpenPrice()+dWLlevel,Digits)){ 
                        if(Bid >= NormalizeDouble(OrderOpenPrice()+dWLstart,Digits)){ 
                           double _new_sl = NormalizeDouble(OrderOpenPrice()+dWLlevel,Digits); 
                           if(NormalizeDouble(OrderStopLoss()-_new_sl,Digits)!=0.0){    
                              OrderModify(OrderTicket(),OrderOpenPrice(),_new_sl,OrderTakeProfit(),OrderExpiration()); 
                           } 
                        } 
                     } 
                     break; 
                  case OP_SELL: 
                     if(OrderStopLoss()==0.0 || OrderStopLoss() > NormalizeDouble(OrderOpenPrice()-dWLlevel,Digits)){ 
                        if(Ask <= NormalizeDouble(OrderOpenPrice()-dWLstart,Digits)){ 
                           _new_sl = NormalizeDouble(OrderOpenPrice()-dWLlevel,Digits); 
                           if(NormalizeDouble(OrderStopLoss()-_new_sl,Digits)!=0.0){    
                              OrderModify(OrderTicket(),OrderOpenPrice(),_new_sl,OrderTakeProfit(),OrderExpiration()); 
                           } 
                        } 
                     } 
                     break; 
               } 
            } 
         } 
      } 
   } 
}
[свернуть]


Мне нужно добавить в блок без убытка еще один параметр
Код:
extern int    BU_Start      = 2;       // С какова ордера ничинать выставлять без убыток
А так же в блок трейлинга этого без убытка
Код:
extern int    Trailing_Start= 2;       // С какова ордера ничинать тралить стоп лос без убытка.
Пробовал изменять строку
Код:
for(int i=OrdersTotal()-1;i>=0;i--){
вот таким образом
Код:
for(int i=OrdersTotal()-1;i>=BU_Start;i--){

так же и в трале, но данная работа проходит не коректно и срабатывает по чему то через раз
если сделать i>=2; то без убыток начинает отрабатывать со второго ордера, но если вместо 2 вставлен BU_Start в тестере работает нормально с визуалом, а в онлан режиме переодически и очнь часто глюки появляются, в основном в упор не хочет видеть что ему там выставляешь и шпарит как обычно с первого ордера.

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

Спасибо.
Snaike вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 14.03.2014, 06:11   #2686 (permalink)
Программист mql4 mql5
 
Аватар для AlexeyVik
 
Регистрация: 19.11.2009
Сообщений: 2,529
Репутация: 3649
AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik
Сказал(а) спасибо: 1,118
Поблагодарили 3,653 раз(а) в 1,472 сообщениях
Поинты: 2007
Сообщение от Snaike Посмотреть сообщение
Вообщем имею в советнике вот такой код

Скрытый текст

Код:
extern string T5_1 = "Безубыток для Пирамиды"; 
extern bool   WL            = true;    // Включение, отключение безубытка ордеров. 
extern int    WLstart       = 30;      // Откуда переводим (пункты профита) 
extern int    WLlevel       = 1;       // Куда переводим (пункты профита) 
//--------------------------------------- 
extern string T5_2 = "Trailing для Пирамиды"; 
extern bool   Trailing      = true;    // Вкл. треилинга      
extern int    TrailingStop  = 30;      // Размер трала в пунктах      
extern int    TrailingStep  = 30;      // Шаг трала в пунктах 

//========================================================== 

//+------------------------------------------------------------------+ 
//| global variables                                                 | 
//+------------------------------------------------------------------+ 

double dPiramidTP = 0.0; 
double dWLstart = 0.0; 
double dWLlevel = 0.0; 
double dTrailingStop = 0.0; 
double dTrailingStep = 0.0; 

//+------------------------------------------------------------------+ 
//| expert initialization function                                   | 
//+------------------------------------------------------------------+ 

//---- проверка введенных пользователем данных 
if(WLlevel < 0) WLlevel = 0.0; 
   if(WLstart < 0) WLstart = 0.0; 
   if(TrailingStop < 0) TrailingStop = 0.0; 
   if(TrailingStep < 0) TrailingStep = 0.0; 

//---конвертация данных 

   dWLstart = WLstart; 
   InfoChangeToDigit(_Symbol, dWLstart); 
   dWLlevel = WLlevel; 
   InfoChangeToDigit(_Symbol, dWLlevel); 
   dTrailingStop = TrailingStop; 
   InfoChangeToDigit(_Symbol, dTrailingStop); 
   dTrailingStep = TrailingStep; 
   InfoChangeToDigit(_Symbol, dTrailingStep); 

//+------------------------------------------------------------------+ 
//| expert start function                                            | 
//+------------------------------------------------------------------+ 

//+------------------------------------------------------------------+  
// Трейлинг Стоп ордеров пирамиды 
void PiramidTrailing(){ 
   if(Trailing && TrailingStop > 0.0){ 
      for(int i=OrdersTotal()-1;i>=0;i--){ 
         if(OrderSelect(i,SELECT_BY_POS)){ 
            if(OrderSymbol()==Symbol() && OrderMagicNumber()==MagicPiramid){ 
               switch(OrderType()){ 
                  case OP_BUY: 
                     double _price = OrderStopLoss();                      
                     if(_price == 0.0 || _price < OrderOpenPrice()) _price = OrderOpenPrice(); 
                     // 
                     if(Bid >= NormalizeDouble(_price+dTrailingStop,Digits)){ 
                        double _new_sl = NormalizeDouble(Bid-dTrailingStep,Digits); 
                        if(NormalizeDouble(OrderStopLoss()-_new_sl,Digits)!=0.0 && _new_sl > _price){ 
                           OrderModify(OrderTicket(),OrderOpenPrice(),_new_sl,OrderTakeProfit(),OrderExpiration()); 
                        } 
                     }                      
                     break; 
                  case OP_SELL: 
                     _price = OrderStopLoss(); 
                     if(_price == 0.0 || _price > OrderOpenPrice()) _price = OrderOpenPrice(); 
                     // 
                     if(Ask <= NormalizeDouble(_price-dTrailingStop,Digits)){ 
                        _new_sl = NormalizeDouble(Ask+dTrailingStep,Digits); 
                        if(NormalizeDouble(OrderStopLoss()-_new_sl,Digits)!=0.0 && _new_sl < _price){ 
                           OrderModify(OrderTicket(),OrderOpenPrice(),_new_sl,OrderTakeProfit(),OrderExpiration()); 
                        } 
                     } 
                     break; 
               } 
            } 
         } 
      } 
   } 
}  
//+------------------------------------------------------------------+  
// Установка безубытка для ордеров пирамиды 
void PiramidBE(){ 
   if(WL && WLstart > 0){ 
      for(int i=OrdersTotal()-1;i>=0;i--){ 
         if(OrderSelect(i,SELECT_BY_POS)){ 
            if(OrderSymbol()==Symbol() && OrderMagicNumber()==MagicPiramid){ 
               switch(OrderType()){ 
                  case OP_BUY: 
                     if(OrderStopLoss()==0.0 || OrderStopLoss() < NormalizeDouble(OrderOpenPrice()+dWLlevel,Digits)){ 
                        if(Bid >= NormalizeDouble(OrderOpenPrice()+dWLstart,Digits)){ 
                           double _new_sl = NormalizeDouble(OrderOpenPrice()+dWLlevel,Digits); 
                           if(NormalizeDouble(OrderStopLoss()-_new_sl,Digits)!=0.0){    
                              OrderModify(OrderTicket(),OrderOpenPrice(),_new_sl,OrderTakeProfit(),OrderExpiration()); 
                           } 
                        } 
                     } 
                     break; 
                  case OP_SELL: 
                     if(OrderStopLoss()==0.0 || OrderStopLoss() > NormalizeDouble(OrderOpenPrice()-dWLlevel,Digits)){ 
                        if(Ask <= NormalizeDouble(OrderOpenPrice()-dWLstart,Digits)){ 
                           _new_sl = NormalizeDouble(OrderOpenPrice()-dWLlevel,Digits); 
                           if(NormalizeDouble(OrderStopLoss()-_new_sl,Digits)!=0.0){    
                              OrderModify(OrderTicket(),OrderOpenPrice(),_new_sl,OrderTakeProfit(),OrderExpiration()); 
                           } 
                        } 
                     } 
                     break; 
               } 
            } 
         } 
      } 
   } 
}
[свернуть]


Мне нужно добавить в блок без убытка еще один параметр
Код:
extern int    BU_Start      = 2;       // С какова ордера ничинать выставлять без убыток
А так же в блок трейлинга этого без убытка
Код:
extern int    Trailing_Start= 2;       // С какова ордера ничинать тралить стоп лос без убытка.
Пробовал изменять строку
Код:
for(int i=OrdersTotal()-1;i>=0;i--){
вот таким образом
Код:
for(int i=OrdersTotal()-1;i>=BU_Start;i--){
так же и в трале, но данная работа проходит не коректно и срабатывает по чему то через раз
если сделать i>=2; то без убыток начинает отрабатывать со второго ордера, но если вместо 2 вставлен BU_Start в тестере работает нормально с визуалом, а в онлан режиме переодически и очнь часто глюки появляются, в основном в упор не хочет видеть что ему там выставляешь и шпарит как обычно с первого ордера.

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

Спасибо.
Сначала надо разобраться какой ордер первый, а какой второй.
В списке OrdersTotal() ордера как-то отсортированы, но как никто толком не знает. Поэтому каждый по своему определяет первый и последний ордер как в рынке так и в истории.
На днях была дискуссия по сортировке ордеров истории на форуме mql4 и Ренат сказал, что не помнит как сделано и надо смотреть код, а потом так и не ответил. Видимо забыл.
Так-что вот определи первый ордер и при переборе в цикле встретив его тикет команда continue;
AlexeyVik на форуме   Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
Snaike (14.03.2014)
Старый 15.03.2014, 20:18   #2687 (permalink)
Новичок форума
 
Аватар для sig72
 
Регистрация: 14.02.2014
Сообщений: 4
Репутация: 5
sig72
Сказал(а) спасибо: 0
Поблагодарили 4 раз(а) в 2 сообщениях
Поинты: 2
Подскажите функцию торговли по времени чтобы в настройках начала и конца торговли были день недели и время в часах.
sig72 вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 16.03.2014, 04:50   #2688 (permalink)
Активный участник
 
Аватар для _SERG_
 
Регистрация: 21.07.2009
Сообщений: 242
Репутация: 75
_SERG_
Сказал(а) спасибо: 7
Поблагодарили 75 раз(а) в 61 сообщениях
Поинты: 284
Сообщение от AlexeyVik Посмотреть сообщение
Сначала надо разобраться какой ордер первый, а какой второй.
В списке OrdersTotal() ордера как-то отсортированы, но как никто толком не знает. Поэтому каждый по своему определяет первый и последний ордер как в рынке так и в истории.
На днях была дискуссия по сортировке ордеров истории на форуме mql4 и Ренат сказал, что не помнит как сделано и надо смотреть код, а потом так и не ответил. Видимо забыл.
Так-что вот определи первый ордер и при переборе в цикле встретив его тикет команда continue;

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

Последний раз редактировалось _SERG_; 16.03.2014 в 04:55.
_SERG_ вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 16.03.2014, 08:02   #2689 (permalink)
Элитный участник
 
Аватар для Ugar
 
Регистрация: 13.03.2009
Сообщений: 2,255
Репутация: 1966
Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar
Сказал(а) спасибо: 349
Поблагодарили 1,895 раз(а) в 1,071 сообщениях
Поинты: 1276
Отправить сообщение для Ugar с помощью ICQ
Сообщение от _SERG_ Посмотреть сообщение
В МТ4 по умолчанию, без сортировок, рыночные ордера упорядочены по времени открытия, а история, кажется, по времени закрытия ордера.
Я то же так думал сначала, пока не проверил с перезапуском терминала.
Сообщение от _SERG_ Посмотреть сообщение
Но на этом можно не заморачиваться, если отписать процедуру(ы) сортировки по нужному параметру ордера.
Всегда надо сортировать в ситуациях когда имеет значение порядок. Тогда гарантировано будет известно в каком порядке ордера.

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

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Глубокое понимание процессов помогает в работе, но сильно мешает в отдыхе.
http://forexsystems.ru/signaturepics/sigpic3798_1.gif
Чужие программы не переделываю!

Последний раз редактировалось Ugar; 16.03.2014 в 08:07.
Ugar на форуме   Ответить с цитированиемОтветить с цитированием  
Старый 16.03.2014, 08:45   #2690 (permalink)
Программист mql4 mql5
 
Аватар для AlexeyVik
 
Регистрация: 19.11.2009
Сообщений: 2,529
Репутация: 3649
AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik
Сказал(а) спасибо: 1,118
Поблагодарили 3,653 раз(а) в 1,472 сообщениях
Поинты: 2007
Сообщение от _SERG_ Посмотреть сообщение
В МТ4 по умолчанию, без сортировок, рыночные ордера упорядочены по времени открытия, а история, кажется, по времени закрытия ордера.
Но на этом можно не заморачиваться, если отписать процедуру(ы) сортировки по нужному параметру ордера.
Вот с этого поста начался диалог о котором я говорил. _http://forum.mql4.com/ru/60554/page98#925738
Можешь напомнить Ренату о его обещании.
AlexeyVik на форуме   Ответить с цитированиемОтветить с цитированием  
Старый 16.03.2014, 09:54   #2691 (permalink)
Активный участник
 
Аватар для _SERG_
 
Регистрация: 21.07.2009
Сообщений: 242
Репутация: 75
_SERG_
Сказал(а) спасибо: 7
Поблагодарили 75 раз(а) в 61 сообщениях
Поинты: 284
Сообщение от Ugar Посмотреть сообщение
Я то же так думал сначала, пока не проверил с перезапуском терминала.

Всегда надо сортировать в ситуациях когда имеет значение порядок. Тогда гарантировано будет известно в каком порядке ордера.

Кстати, нигде не прописано в справочнике в каком порядке сортированы ордера, значит вполне могут, с выходом очередного билда изменить порядок.
Если использовать сортировку по нужному параметру, программа останется рабочей.
Яж не в интерфейсе терминала смотрю, я выводы по OrderSelect(i,...); делаю, по индексу.
_SERG_ вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 16.03.2014, 09:56   #2692 (permalink)
Активный участник
 
Аватар для _SERG_
 
Регистрация: 21.07.2009
Сообщений: 242
Репутация: 75
_SERG_
Сказал(а) спасибо: 7
Поблагодарили 75 раз(а) в 61 сообщениях
Поинты: 284
Сообщение от AlexeyVik Посмотреть сообщение
Вот с этого поста начался диалог о котором я говорил. _http://forum.mql4.com/ru/60554/page98#925738
Можешь напомнить Ренату о его обещании.
Только после 20-го, когда бан кончиться.
_SERG_ вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 16.03.2014, 10:37   #2693 (permalink)
Местный знаток
 
Аватар для gince
 
Регистрация: 09.09.2008
Адрес: Литва
Сообщений: 396
Репутация: 733
gince - gince - gince - gince - gince - gince - gince -
Сказал(а) спасибо: 180
Поблагодарили 733 раз(а) в 189 сообщениях
Поинты: 192
Отправить сообщение для gince с помощью Skype™
Здрасте
Кто может написатть пример кода или дать сылку на выставление виртуальных лимиток и стоповых, когда выставляется по кокому то индикатору iCustom(NULL,0,"xxx",...,0,1).
Максимальное число одноврененно выставленых отложек count=5. При приходе сигнала на выставление шестой отложки - первая удаляется. Первая покупочная отложка удаляет все выставленые отложки на продажу и на оборот.

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Гинтарас
gince на форуме   Ответить с цитированиемОтветить с цитированием  
Старый 16.03.2014, 10:55   #2694 (permalink)
Элитный участник
 
Аватар для Ugar
 
Регистрация: 13.03.2009
Сообщений: 2,255
Репутация: 1966
Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar
Сказал(а) спасибо: 349
Поблагодарили 1,895 раз(а) в 1,071 сообщениях
Поинты: 1276
Отправить сообщение для Ugar с помощью ICQ
Сообщение от _SERG_ Посмотреть сообщение
Яж не в интерфейсе терминала смотрю, я выводы по OrderSelect(i,...); делаю, по индексу.
Я именно про программный доступ к ордерам.
Так вот, проверено на старом билде.
Ордера из списка MODE_TRADES располагаются по мере открытия в порядке по времени открытия, после перезапуска терминала в порядке тикетов.
Ордера из списка MODE_HISTORY располагаются по мере закрытия в порядке по времени закрытия, после перезапуска терминала в порядке тикетов.
Как в новом билде не знаю, не проверял. Возможно этот дурдом остался, а могли и поменять.

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Глубокое понимание процессов помогает в работе, но сильно мешает в отдыхе.
http://forexsystems.ru/signaturepics/sigpic3798_1.gif
Чужие программы не переделываю!
Ugar на форуме   Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
qqmber (17.03.2014)
Старый 16.03.2014, 18:03   #2695 (permalink)
Местный знаток
 
Аватар для abuuuuuu
 
Регистрация: 08.08.2013
Сообщений: 287
Репутация: 717
abuuuuuu - abuuuuuu - abuuuuuu - abuuuuuu - abuuuuuu - abuuuuuu - abuuuuuu -
Сказал(а) спасибо: 3,099
Поблагодарили 716 раз(а) в 162 сообщениях
Поинты: 16
правильно ли я сделал ? советник должен открывать селл если в 1:00 свеча бычья
, в 2:00 свеча бычья или медвежья , в 3:00 свеча бычья и на бай наоборот

Код:
void OnTick()
  {
    {
     if (Hour() == 1 && Open[1] >  Close[1])
     if (Hour() == 2 && (Open[1] <= Close[1] || Open[1] >= Close[1]))
     if (Hour() == 3  && Open[1] >  Close[1])
     OrderSend(Symbol(), OP_SELL, lots, Bid, Slippage, slforsell, 0, "Надеюсь прыбль", MagicNumber, 0, clrNONE);
    }
    {
     if (Hour() == 1 && Open[1] <  Close[1])
     if (Hour() == 2 && (Open[1] <= Close[1] || Open[1] >= Close[1]))
     if (Hour() == 3  && Open[1] <  Close[1])
     OrderSend(Symbol(), OP_BUY, lots, Ask, Slippage, slforbuy, 0, "Надеюсь прыбль", MagicNumber, 0, clrNONE);
    }   
  }
//+------------------------------------------------------------------+
abuuuuuu вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 16.03.2014, 21:48   #2696 (permalink)
 
Аватар для mobidik
 
Регистрация: 09.08.2012
Адрес: Ua_Khm
Сообщений: 1,655
Репутация: 8580
mobidik mobidik mobidik mobidik mobidik mobidik mobidik mobidik mobidik mobidik mobidik
Сказал(а) спасибо: 634
Поблагодарили 8,576 раз(а) в 1,569 сообщениях
Поинты: 804
Может я и не прав, пока учусь, но, результат должен быть на "первой секунде", тике четвертого часа, тогда для третьего часа будет первый бар, для второго часа - второй бар (не понятно зачем его определять, когда её значение не имеет разницы, что свеча бычья или медвежья), для первого часа - третий бар.
mobidik на форуме   Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
abuuuuuu (17.03.2014)
Старый 17.03.2014, 02:55   #2697 (permalink)
Активный участник
 
Аватар для _SERG_
 
Регистрация: 21.07.2009
Сообщений: 242
Репутация: 75
_SERG_
Сказал(а) спасибо: 7
Поблагодарили 75 раз(а) в 61 сообщениях
Поинты: 284
Сообщение от Ugar Посмотреть сообщение
Я именно про программный доступ к ордерам.
Так вот, проверено на старом билде.
Ордера из списка MODE_TRADES располагаются по мере открытия в порядке по времени открытия, после перезапуска терминала в порядке тикетов.
Ордера из списка MODE_HISTORY располагаются по мере закрытия в порядке по времени закрытия, после перезапуска терминала в порядке тикетов.
Как в новом билде не знаю, не проверял. Возможно этот дурдом остался, а могли и поменять.
Если сам сортируешь ордера перед их использованием, то не критично, как оставили разработчики.
_SERG_ вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 17.03.2014, 12:18   #2698 (permalink)
Местный знаток
 
Аватар для abuuuuuu
 
Регистрация: 08.08.2013
Сообщений: 287
Репутация: 717
abuuuuuu - abuuuuuu - abuuuuuu - abuuuuuu - abuuuuuu - abuuuuuu - abuuuuuu -
Сказал(а) спасибо: 3,099
Поблагодарили 716 раз(а) в 162 сообщениях
Поинты: 16
Сообщение от mobidik Посмотреть сообщение
Может я и не прав, пока учусь, но, результат должен быть на "первой секунде", тике четвертого часа, тогда для третьего часа будет первый бар, для второго часа - второй бар (не понятно зачем его определять, когда её значение не имеет разницы, что свеча бычья или медвежья), для первого часа - третий бар.
а что я делю неправильно ? в тестере такую ошибку выдает что делать ?
Миниатюры:
Нажмите на изображение для увеличения
Название: Безымянный.png
Просмотров: 18
Размер:	14.1 Кб
ID:	156970  
abuuuuuu вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 17.03.2014, 14:57   #2699 (permalink)
Элитный участник
 
Аватар для Ugar
 
Регистрация: 13.03.2009
Сообщений: 2,255
Репутация: 1966
Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar
Сказал(а) спасибо: 349
Поблагодарили 1,895 раз(а) в 1,071 сообщениях
Поинты: 1276
Отправить сообщение для Ugar с помощью ICQ
Судя по картинке, пытаешься открывать ордера сразу по нескольким парам?
Если так, то не получится. Тестер умеет выполнять приказы только по той паре которая в нём задана.

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Глубокое понимание процессов помогает в работе, но сильно мешает в отдыхе.
http://forexsystems.ru/signaturepics/sigpic3798_1.gif
Чужие программы не переделываю!
Ugar на форуме   Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
abuuuuuu (17.03.2014)
Старый 17.03.2014, 15:05   #2700 (permalink)
◅ ♛ ♠ ♣ ♥ ♦ ♛ ▻
 
Аватар для tommy27
 
Регистрация: 16.10.2011
Адрес: Новосибирск
Сообщений: 1,054
Репутация: 3189
tommy27 tommy27 tommy27 tommy27 tommy27 tommy27 tommy27 tommy27 tommy27 tommy27 tommy27
Сказал(а) спасибо: 2,326
Поблагодарили 3,184 раз(а) в 875 сообщениях
Поинты: 570
Отправить сообщение для tommy27 с помощью Skype™
Сообщение от abuuuuuu Посмотреть сообщение
а что я делю неправильно ? в тестере такую ошибку выдает что делать ?
Названия инструментов перевёрнутые.. или это ваш ДЦ такие инструменты поставляет?

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
puretrade.ru
tommy27 вне форума   Ответить с цитированиемОтветить с цитированием  
2 пользователя(ей) сказали cпасибо:
abuuuuuu (17.03.2014), Юла (27.03.2014)
Ответ

Метки
mql4, mql4 помощь, вопросы mql4


Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Выкл.
Pingbacks are Выкл.
Refbacks are Выкл.



Текущее время: 16:37. Часовой пояс GMT.


Перевод: zCarot
Copyright ©2000 - 2016, Jelsoft Enterprises Ltd.
SEO by vBSEO