Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 6. - страница 570

 
dmitriyriy666:

Спасибо. Про ТаймКуррент это точно, у меня время не совпадает с серверным. Исправил, но всё равно не работает... В журнал никаких ошибок не пишет.


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

Уточни, исправил всё что я написал или только TimeLocal() на TimeCurrent()
 
AlexeyVik:
Уточни, исправил всё что я написал или только TimeLocal() на TimeCurrent()


Исправил и стринги на инты, и кавычки убрал, и пробовал сейчас там без сдвига - просто при пересечении, и пробовал через iTime везде и там и там чтобы было. Не понимаю вообще... Сейчас переписал чтобы он сразу цикл там открывал после нахождения времени, вот что получилось:

extern int Magic = 66622210;
extern double Lot = 400.0;
color Colorrr;
datetime Vremyaaa;
//datetime shi = 120;
color col = Black; 
int operacia;
//-
void OnTick()
{
   int AllObject = ObjectsTotal(); 
   for ( int i = 0; i < AllObject; i++)
   {
    int kolpos = 0;
    string NameObj = ObjectName(i); 
    Colorrr = ObjectGet(NameObj, OBJPROP_COLOR);
    Vremyaaa = ObjectGet(NameObj, OBJPROP_TIME);
    if((Colorrr == Green)||(Colorrr == Aqua)){operacia = OP_BUY;}
    if((Colorrr == Red)||(Colorrr == Purple)){operacia = OP_SELL;}
    if(Vremyaaa == TimeCurrent())
      {
       for (int pos = 0; pos < OrdersTotal(); pos++)
          {
           if(OrderSelect(pos, SELECT_BY_POS, MODE_TRADES) == true)
             {
              if(OrderSymbol() == Symbol() && OrderMagicNumber() == Magic)
                {
                 kolpos++;
                }
             }   
          }
          
       if(kolpos == 0)
         {
           printf("otkrivaem order");
           int ticket = OrderSend(Symbol(), operacia, Lot, Bid, 10, 0, 0, "5", Magic, 0, col);
         }  
              
            
      }
    }
 
}

Может дело в том что ТаймКуррент выдает время до секунд и проскальзывает ровное время?

 

Есть ли функция или переменная, возвращающая статус принудительной остановки эксперта (это когда нажимается "Stop") в режиме тестирования?

 
dmitriyriy666:

Исправил и стринги на инты, и кавычки убрал, и пробовал сейчас там без сдвига - просто при пересечении, и пробовал через iTime везде и там и там чтобы было. Не понимаю вообще... Сейчас переписал чтобы он сразу цикл там открывал после нахождения времени, вот что получилось:

Может дело в том что ТаймКуррент выдает время до секунд и проскальзывает ровное время?

Да, вероятней всего, я на это не обратил внимания. Поставь лучше Time[0] или можно через ... несколько конвертаций TimeCurrent() в строку до минут и обратно из строки в datetime
 
qomment:

Есть ли функция или переменная, возвращающая статус принудительной остановки эксперта (это когда нажимается "Stop") в режиме тестирования?

IsStopped()
 
AlexeyVik:
Да, вероятней всего, я на это не обратил внимания. Поставь лучше Time[0] или можно через ... несколько конвертаций TimeCurrent() в строку до минут и обратно из строки в datetime


Time[0] тоже не сработало. Нужно значит время без секунд - как этого добиться? Попробовал if(Vremyaaa == TimeToString(TimeCurrent(), TIME_DATE|TIME_MINUTES)) не получается...
 
существует ли тиковый индикатор который отображает время каждого тика а не просто показывает тики как обычный мт4
 

Добрый день,

При компиляции выдаётся предупреждение

possible loss of data due to type conversion

в строке:

int Stop_Loss = MarketInfo(Symbol(),MODE_STOPLEVEL);

В описании MarketInfo говорится, что она возвращает тип double.

Но уровень стопов - это же целое число и хочется его использовать

как целое..

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

 

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

МТ4 теряет сеть - часики сервера не тикают, но "состояние соединения" показывает, что всё ок. Интернет гарантированно есть, ничем не загружен.

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

Буду благодарен за любые посказки.

 

Добрый день.

Подскажите у какого брокера задержка(пинг) минимальный на МТ4?

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