[АРХИВ!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 4. - страница 597

 

Помогите решить проблему:

Надо объединить несколько одномерных массивов с разными типами данных в один двухмерный. Если делать это напрямую, то при заполнении массива данные будут приводиться к типу, заполняемого массива.  В дальнейшем, чтобы использовать данные, хранящиеся в массиве, необходимо делать обратное преобразование? Если создавать таким образом массив типа int, при обратном преобразовании часть данных будет потеряна. можно ли как то обойти эти проблемы?   

 
rigonich:

Помогите решить проблему:

Надо объединить несколько одномерных массивов с разными типами данных в один двухмерный. Если делать это напрямую, то при заполнении массива данные будут приводиться к типу, заполняемого массива.  В дальнейшем, чтобы использовать данные, хранящиеся в массиве, необходимо делать обратное преобразование? Если создавать таким образом массив типа int, при обратном преобразовании часть данных будет потеряна. можно ли как то обойти эти проблемы?   

В массив типа double Вы без потерь можете вписать данные следующих типов: double, int, datetime, bool, color. Вам такой вариант не подходит?! В общем случае правила такие.
 
granit77:
Так можно проверить нахождение цены в диапазоне от (tsena-Delta) до (tsena+Delta)


Спасибо!!
 
TarasBY:
В массив типа double Вы без потерь можете вписать данные следующих типов: double, int, datetime, bool, color. Вам такой вариант не подходит?!


Вообще то подходит, вопрос про массив типа инт был задан, чтобы убедится, что я правильно понимаю теорию. дело в том, что я хочу сделать это для того, чтобы код был раз в пять компактнее, но если для использования данных потом надо будет делать каждый раз обратное прреобразование, пользоваться таким массивом будет гораздо менее удобно. А хотелось бы как говорится и рыбку съесть...
 
rigonich:

Вообще то подходит, вопрос про массив типа инт был задан, чтобы убедится, что я правильно понимаю теорию. дело в том, что я хочу сделать это для того, чтобы код был раз в пять компактнее, но если для использования данных потом надо будет делать каждый раз обратное прреобразование, пользоваться таким массивом будет гораздо менее удобно. А хотелось бы как говорится и рыбку съесть...
Теорию понимаете правильно. Решение: использовать массив типа double - и вся рыба Ваша, и... (второе по запросу)!!! ;)
 
TarasBY:
Теорию понимаете правильно. Решение: использовать массив типа double - и вся рыба Ваша!!! ;)

Спасибо.
 
devic063:
Добрый день!
Не подскажите есть ли такой скрипт который может загрузить котировки в метатрейдер 4 с какого либо информационного ресурса или с сайта брокера за большой период ( например с 2001 года по 2010 ) ? 


Такие скрипты в    Code Base есть и не один. Было бы что скачивать.

А для того, чтобы использовать архив котировок MQ не надо никаких скриптов. все делается встроенными в терминал средствами. 

 
Представляете, я этим местом выставляю два ордера. 
 {
//----



       if(!srabotka){
           if (profit!=0) TP = NormalizeDouble(Ask + profit*Point,Digits); else TP=0;
           if (stop!=0) SL = NormalizeDouble(Ask - stop*Point,Digits); else SL=0; 
           OrderSend (Symbol( ), OP_BUY, lot ,Ask, 5, SL,   TP, NULL, 450, 0, CLR_NONE);
           int Error=GetLastError();if (Error==0){  
           Sleep(2000); RefreshRates();
           if (profit!=0) TP = NormalizeDouble(Bid - profit*Point,Digits); else TP=0;
           if (stop!=0) SL = NormalizeDouble(Bid + stop*Point,Digits); else SL=0;  
           OrderSend (Symbol( ), OP_SELL,  lot ,NormalizeDouble(Bid, Digits), 5, 0, 0, NULL, 450, 0, CLR_NONE); 
           Error=GetLastError();
           if (Error==0){  profit = NormalizeDouble( Ask+( 45*Point),Digits);  
           srabotka= true; if(!wtoraya__stupen)tsena=Ask;}}}//Цену запоминаем только лиш в самом начале. 
           
           if (Error!=0){ string errorcomment = "Ошибка открытия  ордера OP_BUY"  + " " + Symbol() +  " " + ErrorDescript(Error); 
            Print (errorcomment);}
 //----  

Ордера ставятся, супер!   Но вот цена проходит 100пп и я ставлю этим же местом также ордера, и тут ВДРУГ ошибка 130!!  Собственно, стопов- профитов нету.

Что это может быть?  Вагон записей  AUDUSD,M30: Ошибка открытия ордера OP_BUY AUDUSD Неправильные стопы
 

 
Dimka-novitsek:
Представляете, я этим местом выставляю два ордера. 

Ордера ставятся, супер!   Но вот цена проходит 100пп и я ставлю этим же местом также ордера, и тут ВДРУГ ошибка 130!!  Собственно, стопов- профитов нету.

Что это может быть?  Вагон записей  AUDUSD,M30: Ошибка открытия ордера OP_BUY AUDUSD Неправильные стопы
 


После открытия ордеров "это место" меняет флаг srabotka на true и пока он не будет сброшен открыть им же другие ордера не получится.
 
nonfarm2012:

Добрый день коллеги. Хочу посоветоваться с опытными и прибыльными братьями. Я вот недавно совсем начал хорошо зарабатывать по стратегии http://amulet-maya.ru "Три амулета" и еще не разобрался как лучше дома деньги складывать. Стодолларавые купюры столбиками у стены складывать, или рядами по полу ложить? А то из за этих денег уже дома не пройти, ни проехать. Вы как делаете?

Камин поставте.
Причина обращения: