AlexeyVik: Уточни, исправил всё что я написал или только TimeLocal() на TimeCurrent()
Исправил и стринги на инты, и кавычки убрал, и пробовал сейчас там без сдвига - просто при пересечении, и пробовал через iTime везде и там и там чтобы было. Не понимаю вообще... Сейчас переписал чтобы он сразу цикл там открывал после нахождения времени, вот что получилось:
externint Magic = 66622210;
externdouble Lot = 400.0;
color Colorrr;
datetime Vremyaaa;
//datetime shi = 120;color col = Black;
int operacia;
//-voidOnTick()
{
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);
}
}
}
}
Может дело в том что ТаймКуррент выдает время до секунд и проскальзывает ровное время?
Исправил и стринги на инты, и кавычки убрал, и пробовал сейчас там без сдвига - просто при пересечении, и пробовал через iTime везде и там и там чтобы было. Не понимаю вообще... Сейчас переписал чтобы он сразу цикл там открывал после нахождения времени, вот что получилось:
Может дело в том что ТаймКуррент выдает время до секунд и проскальзывает ровное время?
Да, вероятней всего, я на это не обратил внимания. Поставь лучше Time[0] или можно через ... несколько конвертаций TimeCurrent() в строку до минут и обратно из строки в datetime
AlexeyVik: Да, вероятней всего, я на это не обратил внимания. Поставь лучше Time[0] или можно через ... несколько конвертаций TimeCurrent() в строку до минут и обратно из строки в datetime
Time[0] тоже не сработало. Нужно значит время без секунд - как этого добиться? Попробовал if(Vremyaaa == TimeToString(TimeCurrent(), TIME_DATE|TIME_MINUTES)) не получается...
Доброго времени, господа, решил начать публикацию в этой глухой теме, мож кто подскажет.
МТ4 теряет сеть - часики сервера не тикают, но "состояние соединения" показывает, что всё ок. Интернет гарантированно есть, ничем не загружен.
Такое происходит по многу раз в день, смена брокера на ситуацию не влияет. Терминал просто залипает в некотором положении и, такое чувство, может находиться в нем вечно.
Спасибо. Про ТаймКуррент это точно, у меня время не совпадает с серверным. Исправил, но всё равно не работает... В журнал никаких ошибок не пишет.
П.С. в предыдущем моём посте почему то код без пробелов вставился. Но я вроде все фигурные скобки правильно расставил.
Уточни, исправил всё что я написал или только TimeLocal() на TimeCurrent()
Исправил и стринги на инты, и кавычки убрал, и пробовал сейчас там без сдвига - просто при пересечении, и пробовал через iTime везде и там и там чтобы было. Не понимаю вообще... Сейчас переписал чтобы он сразу цикл там открывал после нахождения времени, вот что получилось:
Может дело в том что ТаймКуррент выдает время до секунд и проскальзывает ровное время?
Есть ли функция или переменная, возвращающая статус принудительной остановки эксперта (это когда нажимается "Stop") в режиме тестирования?
Исправил и стринги на инты, и кавычки убрал, и пробовал сейчас там без сдвига - просто при пересечении, и пробовал через iTime везде и там и там чтобы было. Не понимаю вообще... Сейчас переписал чтобы он сразу цикл там открывал после нахождения времени, вот что получилось:
Может дело в том что ТаймКуррент выдает время до секунд и проскальзывает ровное время?
Есть ли функция или переменная, возвращающая статус принудительной остановки эксперта (это когда нажимается "Stop") в режиме тестирования?
Да, вероятней всего, я на это не обратил внимания. Поставь лучше Time[0] или можно через ... несколько конвертаций TimeCurrent() в строку до минут и обратно из строки в datetime
Time[0] тоже не сработало. Нужно значит время без секунд - как этого добиться? Попробовал if(Vremyaaa == TimeToString(TimeCurrent(), TIME_DATE|TIME_MINUTES)) не получается...
Добрый день,
При компиляции выдаётся предупреждение
possible loss of data due to type conversion
в строке:
int Stop_Loss = MarketInfo(Symbol(),MODE_STOPLEVEL);
В описании MarketInfo говорится, что она возвращает тип double.
Но уровень стопов - это же целое число и хочется его использовать
как целое..
..это косяк разработчиков, или всё же предупреждение правильное и я его не понимаю?
Доброго времени, господа, решил начать публикацию в этой глухой теме, мож кто подскажет.
МТ4 теряет сеть - часики сервера не тикают, но "состояние соединения" показывает, что всё ок. Интернет гарантированно есть, ничем не загружен.
Такое происходит по многу раз в день, смена брокера на ситуацию не влияет. Терминал просто залипает в некотором положении и, такое чувство, может находиться в нем вечно.
Буду благодарен за любые посказки.
Добрый день.
Подскажите у какого брокера задержка(пинг) минимальный на МТ4?