[ВНИМАНИЕ, ТЕМА ЗАКРЫТА!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда. - страница 885

 
Max747:
Мне так и никто не смог ответить... Мб есть догадки у кого?

  Возможно вам нужно проверить типы PARASTEP и PARAMAX, а так же их значения.
 
valenok2003:

Это единственный вариант?

1) записывать в файл

2) искать нужный ордер и считывать тикет

 

Неожиданно столкнулся со следующей проблемой:

Написал советник, одна из функций которого открывать отложенные ордера. Но прежде чем открыть очередной отложенный ордер, программа опрашивает уже выставленные ордера (цену) и открывает новый только если нет уже выставленного с такой ценой. Работаю по паре EURUSD.

for (Price=Max_Price-Step*Point; Price>Ask+10*Point; Price=Price-Step*Point) // идем от максимума к текущей цене
{
int N=0; //счетчик ордеров
for (int i=1; i<=OrdersTotal(); i++) // цикл перебора ордеров
{
if(OrderSelect(i-1,SELECT_BY_POS)==true) //выбор ордера
{ //анализ открытого ордера
if (Price==OrderOpenPrice()) //если цена совпадает
{
N=N+1;
}
} //выбираем следующий открытый ордер
}
if(N==0) //если ордеров с такой ценой не нашлось
{ //открываем ордер
Alert("Новый BUYSTOP ", Price);
int Ticket=OrderSend(Symb, OP_BUYSTOP, Lot, Price, 0, 0, Price+TP*Point);
if (GetLastError()>0)
Alert("Ошибка ", GetLastError());
}
} //Пришли к рынку

пока максимум находится до 1,3980 все идет нормально, но стоит поставить 1,4000 - программа перестает видеть ордера с одинаковой ценой (счетчик N остается нулевым) и штампует одинаковые ордера.

интересно, что если максимум поставить 1,5000, то до 1,4000 все нормально, а начиная с 1,3980 начинается дублирование ордеров с одинакой ценой

ЧТО БЫ ЭТО МОГЛО БЫТЬ????????

причем ситуация повторяется и на платформе другого диллингового центра

Файлы:
 


Прогоняю в тестере,не могу понять откуда может появиться такая ошибка : OrderModify error 1  (Нет ошибки, но результат неизвестен). 

Использую функцию трала, более ничго и нет, проверяю и мин уровень стопа и размер пункта и все что требуеться, появляется ошибка не всегда.  

Грубая ли это ощибка, или терпимая для запуска на реале? 

 
Infinity:


Прогоняю в тестере,не могу понять откуда может появиться такая ошибка : OrderModify error 1 (Нет ошибки, но результат неизвестен).

Использую функцию трала, более ничго и нет, проверяю и мин уровень стопа и размер пункта и все что требуеться, появляется ошибка не всегда.

Грубая ли это ощибка, или терпимая для запуска на реале?


https://docs.mql4.com/ru/trading/OrderModify здесь сказано про эту ошибку
 

Вот функция :

double ObFindObjectsByPrefix(string Prefix)
{

string OBJECT_PREFIX="LEVELS";
double price_max;
int L = StringLen(Prefix);
int i = 0;
int time_min=TimeCurrent();
while(i < ObjectsTotal()-1)
{
string ObjName = ObjectName(i);
if(StringSubstr(ObjName, 0, L) != Prefix)
{
i++;
continue;
}
double price=ObjectGet(ObjName,OBJPROP_PRICE1);
if (MathAbs(price-Bid)/Point<m)
{
int time1=ObjectGet(ObjName,OBJPROP_TIME1);
if (time1<time_min)
{
time_min=time1; price_max=price;
}
}
}
return(price);
}

что в ней не правильно, почему не работает ?

ищем самый длинный отрезок с префиксом и возвращаем значение цены.

 
https://www.mql5.com/ru/code/8976 у вас случайно нет нормального, рабочего .dll файла для этого индикатора? самому не получается скомпилировать(
 

Люди, куда написать, чтоб в МТ5 сделали приличный перевод на нем. язык? А то даже стыдно как-то... Ломает "экономить" (сохранять) файлы в формате CSV, выбирать звуки для разных "мероприятий" (событий) и заканчивать программы нажатием на "Выход" (из здания, а не из программы)

 
valenok2003:

Возможно вам нужно проверить типы PARASTEP и PARAMAX, а так же их значения.
Они не изменяются т.к. стоят в extern. Значения подбирал на самом графике с индикатором вместе!
 
YDzh:

Люди, куда написать, чтоб в МТ5 сделали приличный перевод на нем. язык? А то даже стыдно как-то... Ломает "экономить" (сохранять) файлы в формате CSV, выбирать звуки для разных "мероприятий" (событий) и заканчивать программы нажатием на "Выход" (из здания, а не из программы)


Если не получается написать на форуме mql5.com, то выход один - писать в ООН.

PS. Мы уже правим немецкий интерфейс по сообщениям на форуме mql5.com. Спасибо за сообщение.

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