Автор | Сообщение |
|
| |
Пост N: 50
Зарегистрирован: 19.11.10
Откуда: Россия, Новочеркасск
|
|
Отправлено: 16.12.12 14:02. Заголовок: Поиск объектов ....
Привет ! вопрос в следующем как программно найти объект на графике или скопированный с другого объекта ... То есть есть линия или фигура , через контр + мышь сделал параллельную копию ... Как найти этот объект или узнать его имя ???
|
|
|
Ответов - 27
, стр:
1
2
3
All
[только новые]
|
|
|
| постоянный участник
|
Пост N: 561
Зарегистрирован: 03.09.09
|
|
Отправлено: 19.12.12 11:34. Заголовок: voldemar227 пишет: ..
voldemar227 пишет: цитата: | Я хотел запустить цикл для сравнения старого массива и нового |
| Понятно. Тогда нужно сделать так: цитата: | for (int ii = 0; ii < ArrayRange(Mas_tek, 1); ii++) { if (Mas_tek[ii][1] == Mas_old[ii][1]) Print("profit totge"); else Mas_tek[ii][1] = "нет линии"; if (Mas_tek[ii][2] == Mas_old[ii][2]) Print("stop totge"); else Mas_tek[ii][2] = "нет линии"; } |
|
|
|
|
|
| |
Пост N: 65
Зарегистрирован: 19.11.10
Откуда: Россия, Новочеркасск
|
|
Отправлено: 19.12.12 12:00. Заголовок: for (int i=0; i..
for (int i=0; i<OrdersTotal(); i++) { if((OrderSelect(i, SELECT_BY_POS)==true) && (OrderSymbol()==Symbol())) {ordertiket=DoubleToStr(OrderTicket(),0); Kol++; //----------------------------------------------------------------------------------------------// if (ObjectFind(ordertiket)==-1) { ObjectCreate (ordertiket,OBJ_HLINE,0,0,OrderOpenPrice()); ObjectSetText(ordertiket,ordertiket); } if (OrderType()==OP_BUY) { for (int x=0;x<=ObjectsTotal()-1;x++) { name=ObjectName(x); if (ObjectType(name)== OBJ_HLINE) { if (ObjectFind(name)==0&&name==ordertiket) { Mas_tek[Kol][0] = ordertiket; } if (ObjectDescription(name)==ordertiket&&OrderOpenPrice()<ObjectGet(name,OBJPROP_PRICE1)) { Mas_tek[Kol][1] =name; } if (ObjectDescription(name)==ordertiket&&OrderOpenPrice()>ObjectGet(name,OBJPROP_PRICE1)) { Mas_tek[Kol][2] =name; } } } } //----------------------------------------------------------------------------------------------// } } Не могу понять почему не заполняется массив именами что не так ???? Условия для записи есть ...
|
|
|
|
Отправлено: 19.12.12 13:15. Заголовок: voldemar227 пишет: ..
voldemar227 пишет: цитата: | Мое мнение ( может оно ничего и не стоит ) не стоит делать одну такую сложную программу .... Лучше сделать несколько которые делают разные вещи и чем проще тем лучше ..... может можно все включить в одну программу но отключать блоки ...... Например мне не нужно установка своих торговых тактик, меня полностью устраивал аг 1 , мне не нужны все эти модификации с обьектами .... только открытие и модификация ордеров так как я торгую в основном руками. |
|
Спасибо за лестный отзыв и Ваше мнение. В целом понятно. Коротко скажу, что в новый AG4M мы заложим тот же функционал, что и в AG 4, и ещё кое-что добавим. Основным отличием будет новый виндовый интерфейс, - с кнопками, полями для ввода значений, панелями настроек и пр. В частности, кнопки управления инструментами будут собраны на отдельной панели, которую при желании можно просто отключить, а потом при необходимости включить. Таким образом, новый AG4M в минимальной конфигурации видимости панелей будет представлен только небольшим тулбаром, из меню которого можно открыть любые панели и настройки. Разбивать программу на части мы не будем, т.к., во-первых, все составляющие взаимно дополняют друг друга; во-вторых, затруднительно запустить одновременно несколько программ на одном терминале, если пользователю требуется полный функционал. Ещё раз спасибо.
|
|
|
|
| |
Пост N: 66
Зарегистрирован: 19.11.10
Откуда: Россия, Новочеркасск
|
|
Отправлено: 19.12.12 16:30. Заголовок: может подскажите ста..
может подскажите статью где можно детально разобраться с массивами ????
|
|
|
|
Отправлено: 20.12.12 02:35. Заголовок: voldemar227 пишет: ..
voldemar227 пишет: цитата: | может подскажите статью где можно детально разобраться с массивами ???? |
|
Попробуйте посмотреть в учебнике по MQL 4. Если этого не достаточно, задайте вопрос на форуме в соотв. теме.
|
|
|
|
Отправлено: 20.12.12 02:56. Заголовок: voldemar227 пишет: ..
voldemar227 пишет: цитата: | Не могу понять почему не заполняется массив именами что не так ???? Условия для записи есть ... |
|
Так иногда бывает.. Чтобы найти ошибку, необходимо последовательно исключать некоторую часть кода, пока источник ошибки не станет явным. Например, в последнем фрагменте анализируется тип ордера : if (ObjectType(name)== OBJ_HLINE) Если эту строку и скобки удалить, будет малость полегче. Для явного контроля массивов распечатывайте оба массива в Alert или Print и сравнивайте. При отладке программ подобное приходится делать постоянно, иначе сколько-нибудь сложную программу просто не написать..
|
|
|
|
| |
Пост N: 1
Зарегистрирован: 24.09.16
|
|
Отправлено: 24.09.16 18:36. Заголовок: Спасибо за советы!..
Спасибо за советы!
|
|
|
Ответов - 27
, стр:
1
2
3
All
[только новые]
|
|