как-то цикл хотел придумать,чтобы не писать
( (StrToInteger(str_sound)<=-55) || (StrToInteger(str_sound)==-50) || (StrToInteger(str_sound)==-45) || (StrToInteger(str_sound)==-40) || (StrToInteger(str_sound)==-35) || (StrToInteger(str_sound)==-30) || (StrToInteger(str_sound)==-25) || (StrToInteger(str_sound)==-20) || (StrToInteger(str_sound)==-15) || (StrToInteger(str_sound)==-10) || (StrToInteger(str_sound)==-5) || (StrToInteger(str_sound)==0) || (StrToInteger(str_sound)==5) || (StrToInteger(str_sound)==10) || (StrToInteger(str_sound)==15)|| (StrToInteger(str_sound)==20)|| (StrToInteger(str_sound)==25)|| (StrToInteger(str_sound)==30)|| (StrToInteger(str_sound)==35)|| (StrToInteger(str_sound)==40)|| (StrToInteger(str_sound)==45)|| (StrToInteger(str_sound)==50)|| (StrToInteger(str_sound)>=55) )
А что собственно надо было сделать. Как то у вас слишком все "мудро" написано.
Всё сделано,в принципе,...вот только в настройку совы хочется добавить интервал озвучки....(в коде эта цифра 5)-но путём цикла ,если пойти,можно заменить её на переменную,допустим ,inter_DD_sound
На данный момент я сделал файлы озвучки от -50 до +50 просадки с шагом 5 % ,но чтобы сделать интервал в 1%(для многих консервативных торгашей это будет полезно)-просто необходим грамотный цикл с данной переменной шага просадки...Сейчас файлы озвучки имеют вид ,например,
e-15.wav
А что собственно надо было сделать. Как то у вас слишком все "мудро" написано. Зачем числовые значения преобразовывать в строковые затем потом их опять преобразовываете в числовые?
для преобразование числового значения просадки в название файла озвучки....
А понял у вас в названии файла содержится сумма просадки.
Сделайте временную переменную где будете хранить преобразованную строку.
Попробуйте в цикле с -55 до +55 с шагом цикла 5. То есть у вас будет примерно так первое что пришло на ум. Может кто еще лучше придумает.
int Просадка = StrToInteger(str_sound);
for (i=-55;i<=55;i=i+5)
{
if (Просадка == i)
{
PlaySound();
break ;
}
}
А понял у вас в названии файла содержится сумма просадки.
Сделайте временную переменную где будете хранить преобразованную строку.
Попробуйте в цикле с -55 до +55 с шагом цикла 5. То есть у вас будет примерно так первое что пришло на ум. Может кто еще лучше придумает.
int Просадка = StrToInteger(str_sound);
for (i=-55;i<=55;i=i+5)
{
if (Просадка == i)
{
PlaySound();
break ;
}
}
Спасибо огромное!-Вот,что значит одна голова,а тысяча лучше!-ещё не проверял,но,думаю, понял вас правильно!
Спасибо огромное!-Вот,что значит одна голова,а тысяча лучше!-ещё не проверял,но думаю понял вас правильно!
void Sound_DD() { str_sound=IntegerToString(int((100*(AccountEquity()-AccountBalance()))/AccountBalance())); if( str_sound!=str_sound_mem && ((StrToInteger(str_sound)<=StrToInteger(str_sound_mem)-inter_DD_sound) || (StrToInteger(str_sound)>=StrToInteger(str_sound_mem)+inter_DD_sound)) ) { for(int i=-55;i<=55;i=i+inter_DD_sound) { if(StrToInteger(str_sound)==i) { if(StrToInteger(str_sound)>=55) {str_m="m";str_sound="50";}else{str_m="";} if(StrToInteger(str_sound)<=-55){str_m="m";str_sound="-50";}else{str_m="";} str_sound_mem=str_sound; PlaySound("e"+str_sound+str_m+".wav"); Print("***TAASA*** Equity "+str_sound+"%"); break; } } } }
а цикл-то зачем? %)
делите процент баланса на 5 (или на 1), оставляете только целую часть и её уже добавляете к имени файла...
пс. хотя и делить не надо, пронумеровать файлы процентами и всё (если шаг 1%)
а цикл-то зачем? %)
делите процент баланса на 5 (или на 1), оставляете только целую часть и её уже добавляете к имени файла...
пс. хотя и делить не надо, пронумеровать файлы процентами и всё (если шаг 1%)

- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Помогите упростить часть кода...-не хватает соображалки)))