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

 

возможно ли,  чтобы при пропадании/появлении связи с сервером, советник заново инициализировался?

а то получается каша - советник прервал работу на середине, котировки зависли, потом опять побежали. в результате имеем- epic fail.

IsConnected  не успевает. может есть ф-ии для работы с ping? 

 
Omm:

возможно ли,  чтобы при пропадании/появлении связи с сервером, советник заново инициализировался?

а то получается каша - советник прервал работу на середине, котировки зависли, потом опять побежали. в результате имеем- epic fail.

IsConnected  не успевает. может есть ф-ии для работы с ping? 

Зациклить старт надо. Внутри цикла работать. Там всё можно.
 

Здравствуйте! Подскажите пожалуйста, почему позиция открывается, а стоп и профит нет. Заранее спасибо!

 int start()
{
double Sl =Low[1];
double Tpb =((High[1]-Open[1])/Tp)+Open;
double bar2b;
if (Open[2]<Close[2])bar2b=(High[2]-Open[2]);
double bar1b;
if (Open[1]<Close[1])bar1b=(High[1]-Open[1]);
if(bar2b<bar1b)OrderSend(Symbol(),OP_BUY,Lots,Ask,3,Sl,Tpb,"",16384,0,Green);

Print("OrderSend failed with error #",GetLastError());
И еще, где ошибка? Спасибо!!!

';' - series array has no left square bracket. zero shift assumed C:\Program Files\Alpari NZ MT4\experts\scripts\big program 1.mq4 (17, 40)
'-' - series array has no left square bracket. zero shift assumed C:\Program Files\Alpari NZ MT4\experts\scripts\big program 1.mq4 (18, 17)


 

Хочу спросить по поводу ф-ции https://docs.mql4.com/ru/array/ArrayBsearch

Там сказано:

 "Если элемент с указанным значением в массиве отсутствует, функция вернет индекс ближайшего меньшего по значению из элементов, между которыми расположено искомое значение."

Как это правильно понять? Т.е. мы ищем требуемое нам значение, а нам если его нет возвращают то, что мы не ищем? Абсудр какой-то.. Разумнее, если не нашло элемент, то возвратить -1.  Почему не так?

 
hoz:

Хочу спросить по поводу ф-ции https://docs.mql4.com/ru/array/ArrayBsearch

Там сказано:

 "Если элемент с указанным значением в массиве отсутствует, функция вернет индекс ближайшего меньшего по значению из элементов, между которыми расположено искомое значение."

Как это правильно понять? Т.е. мы ищем требуемое нам значение, а нам если его нет возвращают то, что мы не ищем? Абсудр какой-то.. Разумнее, если не нашло элемент, то возвратить -1.  Почему не так?


она вернет, вы это значение потом проверьте. если это не оно что надо, то для вас это -1
 
hoz:

Хочу спросить по поводу ф-ции https://docs.mql4.com/ru/array/ArrayBsearch

Там сказано:

 "Если элемент с указанным значением в массиве отсутствует, функция вернет индекс ближайшего меньшего по значению из элементов, между которыми расположено искомое значение."

Как это правильно понять? Т.е. мы ищем требуемое нам значение, а нам если его нет возвращают то, что мы не ищем? Абсудр какой-то.. Разумнее, если не нашло элемент, то возвратить -1.  Почему не так?


как сделали так сделали..

просто сравниваете значение по полученному индексу с искомым и делов-то..

если не подходит эта, то напишите свою функцию.. пару минут на все дела..

 
sergeev:

она вернет, вы это значение потом проверьте. если это не оно что надо, то для вас это -1


 Ну так..

hoz:

 

 "Если элемент с указанным значением в массиве отсутствует, функция вернет индекс ближайшего меньшего по значению из элементов, между которыми расположено искомое значение." 

 Не логично вообще.. Не замечаете? Вот смотрите:

  "Если элемент с указанным значением в массиве отсутствует, функция вернет индекс ближайшего меньшего по значению из элементов, между которыми расположено искомое значение."  Элемент отсуствует, а значение искомое расположено.

 

Доброго дня! Вечера!  Я вот функцию пітаюсь использовать, а что-то ни клеится. Круто! ошибки подчеркивает. Я с украинской раскладки зашол..

Короче, вот

//записать

void SaveArray(string File, double &a[])
{
    int h = FileOpen(File, FILE_BIN|FILE_WRITE);
    if(h>0)
    {
      int sz = ArraySize(a); 
      FileWriteArray(h,a,0,sz);
      FileClose(h);
    }
}

//прочитать

void OpenArray(string File, double &a[], int sz)
{
    int h = FileOpen(File, FILE_BIN|FILE_READ);
    if(h>0)
    {
      ArrayResize(a,sz);
      FileReadArray(h,a,0,sz);
      FileClose(h);
    }
}

 Вот 

if (!Pishem&&PozyProstavleny){SaveArray(FileBuy, Buy); SaveArray(FileSell, Sell); Pishem=1;}

 Вот

 'Buy' - incompatible types D:\TeleTRADE\experts\÷èñòîâàðèàíò.mq4 (102, 53)

'Sell' - incompatible types D:\TeleTRADE\experts\÷èñòîâàðèàíò.mq4 (102, 79)      ........ Подскажите, два часа голову ломал! Уж и квадратные скобки за названием массива ставил, и чего только.. 

 
А у нас дождина льет, причем с дождем писочек сыплется!   Хотя что уж льет, громко сказано. Так, несильно мерно плещет.
 
А, вот же ещё.  Может, тут собака порылась! Обозвал так 
string FileBuy="FileBuy.csv",FileSell="FileSell.csv";