Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 1430

 
Valeriy Yastremskiy:

Без стеба, они сами разворачиваются и лепятся к верху, сбоков, к низу, сворачиваются и их может быть не видно под чартами и ктрл N не помогает, окно не видно просто, а открывается оно в свернутом виде. Профиль не всегда помогает, он только чарты нужные выводит. В общем все зная понимая мышкой сдернул и нужное окно к верху прилепилось и нащупав (случайно) сверху место (еще та задачка), где оно прилепляется к мышке еще раз крайне неудачно сдернул и оно исчезло. Оно было открыто, но не видно под окнами. Закрыл все чарты и увидел краешек свернутого окна, развернул, оно прилепилось к верху... ))) Ну через неск. часов научился отлеплять от верха и боков. Уже тоже хотел тему помощи создавать))))

Теперь стараюсь не баловаться окнами, панелями)))

Иногда ничего не помогает. Если terminal.ini удалить, в config, будут изначальные настройки.
 
Александр:
Иногда ничего не помогает. Если terminal.ini удалить, в config, будут изначальные настройки.

Да, как кардинальный выход из ситуации)

 
Alexey Viktorov:

Нажми ctrl+n

Александр:
Иногда ничего не помогает. Если terminal.ini удалить, в config, будут изначальные настройки.
Valeriy Yastremskiy:

Да, как кардинальный выход из ситуации)

:-) Спс. Если что на будущее - возьму на вооружение.
 
Уважаемы форумчане.Спасите.Готов уже себе голову об компьютер расквасить.Уже более недели возвращаюсь к этому вопросу и не найдя ответа бросаю и снова ищу без толку.Не доходит до меня никак,как можно сделать следующее:
как сделать что бы массив  типа "double amountArray[]={5,10,20,40.1,80,100.5,10000,20000,27.6};" был виден и его можно было изменять во входных параметрах программы,то есть советника или индикатора. 
Со строковым массивом вопросов нет,но если использовать его то для меня всплывает следующий не решаемый вопрос,как преобразовать строковой массив в числовой(((.
Помогите пожалуйста,я в тупике.
 
Александр:
Уважаемы форумчане.Спасите.Готов уже себе голову об компьютер расквасить.Уже более недели возвращаюсь к этому вопросу и не найдя ответа бросаю и снова ищу без толку.Не доходит до меня никак,как можно сделать следующее:
как сделать что бы массив  типа "double amountArray[]={5,10,20,40.1,80,100.5,10000,20000,27.6};" был виден и его можно было изменять во входных параметрах программы,то есть советника или индикатора. 
Со строковым массивом вопросов нет,но если использовать его то для меня всплывает следующий не решаемый вопрос,как преобразовать строковой массив в числовой(((.
Помогите пожалуйста,я в тупике.

Во входные параметры вводить строку разделённую запятыми

input string str = 5,10,20,40.1,80,100.5,10000,20000,27.6;

и потом в OnInit() делишь на подстроки

int  StringSplit( 
   const string   string_value,       // строка для поиска подстрок 
   const ushort   separator,          // разделитель, по которому в строке будут искаться подстроки 
   string         & result[]          // массив, переданный по ссылке, для получения найденных подстрок 
   );

и поэлементно переводишь в другой массив типа double.

Другого варианта нет. Ни копировать string в double нельзя, ни union не работает с типом string

 
Александр:
Уважаемы форумчане.Спасите.Готов уже себе голову об компьютер расквасить.Уже более недели возвращаюсь к этому вопросу и не найдя ответа бросаю и снова ищу без толку.Не доходит до меня никак,как можно сделать следующее:
как сделать что бы массив  типа "double amountArray[]={5,10,20,40.1,80,100.5,10000,20000,27.6};" был виден и его можно было изменять во входных параметрах программы,то есть советника или индикатора. 
Со строковым массивом вопросов нет,но если использовать его то для меня всплывает следующий не решаемый вопрос,как преобразовать строковой массив в числовой(((.
Помогите пожалуйста,я в тупике.
input string numeric="1,0.3,1.5,3,4.2,5.7,2";

//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void OnStart()
{
   string FillSymb[];
   double SymbTrade[];
   int CountSymbol=StringSplit(numeric,StringGetCharacter(",",0),FillSymb);
   ArrayResize(SymbTrade,CountSymbol);
   for(int i=0; i<CountSymbol; i++) {
      SymbTrade[i]=FillSymb[i]; // Создадим массив double
   }

   for(int i=0; i<ArraySize(SymbTrade); i++) {
      Print(SymbTrade[i]); // Распечатаем массив double
   }
}

---

Но собирать в массив со строки нужно в OnInit()

 
Vitaly Muzichenko:

А разве запятую нельзя вставить в одиночных кавычках?

int CountSymbol=StringSplit(NameSymb,',',FillSymb);

зачем обращаться к функции???

 
Alexey Viktorov:

А разве запятую нельзя вставить в одиночных кавычках?

зачем обращаться к функции???

тут так принято...хорошего кода должно быть много.

 
Alexey Viktorov:

А разве запятую нельзя вставить в одиночных кавычках?

зачем обращаться к функции???

Да, оказывается можно, приму к сведению. Пример брал со справки, там было так

input string numeric="1,0.3,1.5,3,4.2,5.7,2";

string FillSymb[];
double MassNum[];

//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void OnInit()
{
   int Count=StringSplit(numeric,',',FillSymb);
   ArrayResize(MassNum,Count);
   for(int i=0; i<Count; i++) {
      MassNum[i]=(double)FillSymb[i]; // Создадим массив double
   }
}
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void OnStart()
{
   for(int i=0; i<ArraySize(MassNum); i++) {
      Print(MassNum[i]); // Распечатаем массив double
   }
}
 
Alexey Viktorov:

Во входные параметры вводить строку разделённую запятыми

и потом в OnInit() делишь на подстроки

и поэлементно переводишь в другой массив типа double.

Другого варианта нет. Ни копировать string в double нельзя, ни union не работает с типом string

Спасибо !!!!
Причина обращения: