//+--------------------This is the new Function----------------------------+
int Get_Delay()
{
long prev_chart = ChartFirst(); // here we get ID of 1st chart
int count = 0;
while (prev_chart != -1) // we check if charts has finished
{
if (prev_chart == ChartID()) break; // we check if the current chart is = ID of selected chart, break the loop
prev_chart = ChartNext(prev_chart); // update selected Chart ID
count++; // increase count
}
return (count * 1000); // return Time in Milliseconds
}
это ок?
а что будет когда пройдёт 2 000 секунд или 4 000 ?
когда интегер 4 миллирада закочатся?
ошибка overflow будет и краш?
как 64бит загнать в Sleep?
ulong micro=GetMicrosecondCount();
ulong rnd = MathAbs(micro+MagicNumber);
MathSrand( rnd );
int slp = (MathRand()%120);
Verbose ("sqMMRiskFixedBalancePct, sleep="+IntegerToString(slp)+" seconds; rnd=" + IntegerToString(rnd)+"; GetMicrosecondCount()="+IntegerToString(micro) + ";GetTickCount()="+IntegerToString(GetTickCount())+"; magic="+IntegerToString(MagicNumber));
Sleep (1000*slp);
а что будет когда пройдёт 2 000 секунд или 4 000 ?
когда интегер 4 миллирада закочатся?
ошибка overflow будет и краш?
как 64бит загнать в Sleep?
ulong micro=GetMicrosecondCount();
ulong rnd = MathAbs(micro+MagicNumber);
MathSrand( rnd );
int slp = (MathRand()%120);
Verbose ("sqMMRiskFixedBalancePct, sleep="+IntegerToString(slp)+" seconds; rnd=" + IntegerToString(rnd)+"; GetMicrosecondCount()="+IntegerToString(micro) + ";GetTickCount()="+IntegerToString(GetTickCount())+"; magic="+IntegerToString(MagicNumber));
Sleep (1000*slp);
у вас недопонимание про результат операции "взятие по модулю" %
вот в данном случае будут получатся величины от 0 до 119
при этом вероятность того что многие совпадут и будут "плотные группы" весьма велика. Несмотря на случайность MathRand
будут одновременные отправки приказов (sleep вы ведь для разрядки пытаетесь сделать) или не-уникальные идентификаторы

- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
MathSrand( GetTickCount() );Sleep (1000 * (MathRand()%120));
это не работает
одновремнно создаются ордера стартегий разных
как сделать настоящий рандом сид?