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

 

VladimirR:

Но когда происходит выход из цикла "лишний день" остается. И в итоге будет распечатан не верный ответ.


в for надо точно знать по какой причине произошел выход - по day или по TwoFarm. Тогда разрулите корректно.
 
rustein:

Помогите исправить, если ордера открываются с SL, и если есть два противоположенных ордера, для второго удаляет SL....но этого не надо

а что ж надо?
 

Надо чтоб тралил все открытые ордера, но почему-то если 2 открытых ордера, на последнем удаляет СЛ сразу после открытия...

А тралить он должен после того как значение индикатора выше OrderOpenPrice() для Buy и ниже для Sell .

 
rustein:

Надо чтоб тралил все открытые ордера, но почему-то если 2 открытых ордера, на последнем удаляет СЛ сразу после открытия...

А тралить он должен после того как значение индикатора выше OrderOpenPrice() для Buy и ниже для Sell .


вы забыли добавить проверки для Up и Dn (по аналогии)
Up>0 && Up!=EMPTY_VALUE
 
sergeev:
вы забыли добавить проверки для Up и Dn (по аналогии)
...Спасибо )
 
granit77:
Перебираете все объекты на чарте, находите объект с именем lbl, вынимаете из него строку FXRanger: Risk:Reward=х.ххх, парсите ее и преобразовываете х.ххх в double.
Поясните, пожалуйста, что такое "парсить" и если не трудно как организовать перебор объектов. Ордера могу,а вот с объектами еще не имел дела.
 
DhP:

А где исходник?
а что я прицепил? Больше ничего нет,этот файл вставил в индикаторы и работает
 
demlin:
а что я прицепил? Больше ничего нет,этот файл вставил в индикаторы и работает

Вы прицепили не исходник с расширением mq4, а скомпилированный исполняемый файл с расширением ex4.

 
demlin:
Поясните, пожалуйста, что такое "парсить" и если не трудно как организовать перебор объектов. Ордера могу,а вот с объектами еще не имел дела.
Полагаю, что надо, перебирая объекты, найти нужный типа Label и поместить его текст с помощью функции ObjectDescription() в строковую переменную.
Далее мы "парсим" полученную строку, то есть разбираем и извлекаем из нее нужную нам информацию. С помощью строковых функций StringFind(), StringLen(), StringSubstr()
находим в строке "FXRanger: Risk:Reward=х.ххх" позицию символа "=", и часть строки за ним (х.ххх) помещаем в другую строковую переменную. Потом функцией StrToDouble() преобразуем строку в искомое Вами число.

   int obj_total=ObjectsTotal();
   string name;   
   string myname="lbl";
   string mytext;
   
   for(int i=obj_total+1;i>-1;i--){
     name=ObjectName(i);   
     if(StringFind( name,myname,0)>-1){
       mytext=ObjectDescription(name);  
     }
   }
//далее парсим строку mytext
P.S.
Все эти танцы с бубном нужны потому, что индикатор выводит данные в объекты, а не в буфера, и iCustom применить невозможно. А не имея кода индикатора переделать внутри ничего нельзя.
 

https://www.mql5.com/ru/code/10272

Добрый день. Помогите пожалуйста разобраться с буферами приложенного индикатора. Как написать в коде эксперта условия на открытие,при смене цвета..Спасибо.

Причина обращения: