АвторСообщение





Пост N: 50
Зарегистрирован: 19.11.10
Откуда: Россия, Новочеркасск
ссылка на сообщение  Отправлено: 16.12.12 14:02. Заголовок: Поиск объектов ....


Привет ! вопрос в следующем как программно найти объект на графике или скопированный с другого объекта ...

То есть есть линия или фигура , через контр + мышь сделал параллельную копию ... Как найти этот объект или узнать его имя ???

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 27 , стр: 1 2 3 All [только новые]


постоянный участник


Пост N: 552
Зарегистрирован: 03.09.09
ссылка на сообщение  Отправлено: 16.12.12 15:57. Заголовок: voldemar227 пишет: ..


voldemar227 пишет:

 цитата:
Как найти этот объект или узнать его имя ???


По описанию. У дочернего объекта сохраняется описание родителя.

Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 51
Зарегистрирован: 19.11.10
Откуда: Россия, Новочеркасск
ссылка на сообщение  Отправлено: 17.12.12 12:40. Заголовок: я хочу сделать следу..


я хочу сделать следующее :
при появлении ордера отрисовать линиию на цене открытия и при расдвоении ее либо добавлять профит либо добавлять стоп как в аг4
но что то моя голова не может сообразить ...
Допустим мы открыли ордер появилась линия с именем "Op"+Ordertiket() и описанием ""+Ordertiket()
я мышкой раздваиваю линию в верх , появляется вторая линия с именем Н12376846 и описанием ""+Ordertiket()
как по описанию можно найти имя обьекта или его цену позиционирования ????

Спасибо: 0 
ПрофильЦитата Ответить
Автор




Пост N: 1052
Зарегистрирован: 21.05.06
Откуда: Украина, Днепропетровск
ссылка на сообщение  Отправлено: 17.12.12 13:17. Заголовок: voldemar227 пишет: ..


voldemar227 пишет:

 цитата:
как по описанию можно найти имя обьекта или его цену позиционирования ????


Нужно запомнить описание исходного объекта. Потом перебрать в цикле все объекты. У каждого объекта спрашивать описание. И если это описание совпадает с описанием исходного объекта, но имеет другое имя, то это имя и есть именем нового объекта. Дальше у найденного объекта нужно спросить координату цены и дальше уже принять эту цену для управления торговлей.

Обратите внимание: если на каком-то этапе на чарте будет более одного объекта с исходным описанием, то второй и все последующие объекты тоже нужно учитывать в переборе в цикле. Например, если есть линия ордера и уже есть StopLoss, то при установке TakeProfit нужно помнить два объекта, чтобы отбросить их при поиске нового (третьего) объекта.

В качестве описания лучше всего использовать строку, содержащую тип и тикет ордера. Например, BB_12345 соответствует ордеру Buy с тикетом 12345, BL_54321 соотв. BuyLimit с тикетом 54321 и т.д.

Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 53
Зарегистрирован: 19.11.10
Откуда: Россия, Новочеркасск
ссылка на сообщение  Отправлено: 17.12.12 13:48. Заголовок: Да я это уже заметил..


Да я это уже заметил ! ))) Спасибо

Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 54
Зарегистрирован: 19.11.10
Откуда: Россия, Новочеркасск
ссылка на сообщение  Отправлено: 17.12.12 13:51. Заголовок: да и наверно это все..


да и наверно это все лучше делать в зацикленном цикле , дабы все делалось очень быстро !

Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 55
Зарегистрирован: 19.11.10
Откуда: Россия, Новочеркасск
ссылка на сообщение  Отправлено: 17.12.12 14:24. Заголовок: Я победил ! все рабо..


Я победил ! все работает как часы ! Вопрос в следующем , теперь еще более сложно если у ордера есть стоп лосс и тейк профит с линиями и я удалил линию как удалить тейк из под линии ? Мы же не имеем не имени не описания вообще ничего ....

Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 56
Зарегистрирован: 19.11.10
Откуда: Россия, Новочеркасск
ссылка на сообщение  Отправлено: 17.12.12 15:54. Заголовок: Вопрос в следующем ..


Вопрос в следующем , теперь еще более сложно если у ордера есть стоп лосс и тейк профит с линиями и я удалил линию как удалить тейк из под линии ? Мы же не имеем не имени не описания вообще ничего ....

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 554
Зарегистрирован: 03.09.09
ссылка на сообщение  Отправлено: 17.12.12 16:58. Заголовок: voldemar227 пишет: ..


voldemar227 пишет:

 цитата:
Мы же не имеем не имени не описания вообще ничего


Есть предыдущее состояние. С ним и нужно производить сравнение.

Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 57
Зарегистрирован: 19.11.10
Откуда: Россия, Новочеркасск
ссылка на сообщение  Отправлено: 17.12.12 18:41. Заголовок: я не понял как произ..


я не понял как произвести сравнение с тем чего уже нет ....

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 555
Зарегистрирован: 03.09.09
ссылка на сообщение  Отправлено: 17.12.12 21:40. Заголовок: voldemar227 пишет: ..


voldemar227 пишет:

 цитата:
я не понял как произвести сравнение с тем чего уже нет


Для этого нужно организовать сохранение предыдущего состояния отслеживаемых объектов в массиве. На каждой итерации нужно проверять наличие отслеживаемых объектов на графике. Как только какой-то объект не найден, это означает, что объект был удален. После этого совершаются нужные действия (которые соответствуют этому объекту), а удаленный объект вычеркивается из массива отслеживаемых объектов.


Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 58
Зарегистрирован: 19.11.10
Откуда: Россия, Новочеркасск
ссылка на сообщение  Отправлено: 17.12.12 21:46. Заголовок: Ок спасибо за операт..


Ок спасибо за оперативность !

Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 59
Зарегистрирован: 19.11.10
Откуда: Россия, Новочеркасск
ссылка на сообщение  Отправлено: 18.12.12 16:59. Заголовок: for(int oo=1;oo &..


for(int oo=1;oo <= Mas_old[0][0]; oo++)

{
for (int ii=1;i <= Mas_tek[0][0];ii++)

{
if (Mas_tek[ii][1] == Mas_old[oo][1])
{
Print("profit totge");
}
if (Mas_tek[ii][2] == Mas_old[oo][2])
{
Print("stop totge");
}
}
}
массивы типа string но почему то компилятор пишет что не верны сравниваемые типы

Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 60
Зарегистрирован: 19.11.10
Откуда: Россия, Новочеркасск
ссылка на сообщение  Отправлено: 18.12.12 18:30. Заголовок: Scriptong пишет: а..


Scriptong пишет:

 цитата:
а удаленный объект вычеркивается из массива отслеживаемых объектов.


Вот тут тоже проблема ... Линия удалена но функция comment(); пишет что в ячейке имя осталось .... Я пробовал делать что если обьектфинд не находит линию то перезаписывать ячейку пустотой "" , но тоже результата не дало ...

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 559
Зарегистрирован: 03.09.09
ссылка на сообщение  Отправлено: 18.12.12 18:58. Заголовок: voldemar227 пишет: ..


voldemar227 пишет:

 цитата:
массивы типа string но почему то компилятор пишет что не верны сравниваемые типы


Массивы Mas_tek и Mas_old объявлены как string? Тогда ничего удивительного нет: компилятор правильно указывает на тот факт, что значение переменной типа int (переменная цикла) не может сравниваться со значением строковой переменной.

voldemar227 пишет:

 цитата:
Вот тут тоже проблема ... Линия удалена но функция comment(); пишет что в ячейке имя осталось .... Я пробовал делать что если обьектфинд не находит линию то перезаписывать ячейку пустотой "" , но тоже результата не дало ...


Нужно смотреть весь код, как составлен алгоритм, как происходит запись данных и их сравнение между собой.

Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 61
Зарегистрирован: 19.11.10
Откуда: Россия, Новочеркасск
ссылка на сообщение  Отправлено: 18.12.12 20:09. Заголовок: string ordertiket=&#..


string ordertiket="";
//---------------------------------------------------------------------------//
string Mas_tek[31][3],Mas_old [31][3];
//---------------------------------------------------------------------------//
int start()
{
while(!IsStopped())
{
string name;
//---------------------------------------------------------------------------//
ArrayCopy(Mas_tek, Mas_old);//сохраняем историю
int Kol=0; //колличество ордеров

ArrayInitialize(Mas_tek,0); //обнуляем массив
//---------------------------------------------------------------------------//
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][1] = ordertiket; //по открытию
}
if (ObjectDescription(name)==ordertiket&&OrderOpenPrice()<ObjectGet(name,OBJPROP_PRICE1)&&ObjectGet(name,OBJPROP_PRICE1)>0)
{
Mas_tek[Kol][2] =name; //по профиту
}
if (ObjectDescription(name)==ordertiket&&OrderOpenPrice()>ObjectGet(name,OBJPROP_PRICE1)&&ObjectGet(name,OBJPROP_PRICE1)>0)
{
Mas_tek[Kol][3] =name; //по стопу
}
}
}
}
//----------------------------------------------------------------------------------------------//
}
}

/*
for(int oo=1;oo <= StrToInteger(Mas_old[0][0]); oo++)

{
for (int ii=1;i <= StrToInteger(Mas_tek[0][0]);ii++)

{
if (Mas_tek[ii][1] == Mas_old[oo][1])
{
Print("profit totge");
}
else
{
Mas_tek[ii][1] = "нет линии";}

if (Mas_tek[ii][2] == Mas_old[oo][2])
{
Print("stop totge");
}
else{Mas_tek[ii][2] = "нет линии";}
}
}
*/

Comment( " Цена открытия = ",Mas_tek[1][1],
"\n"," Цена профита = ",Mas_tek[1][2],
"\n"," Цена стопа = ",Mas_tek[1][3],
"\n"," Тикет = ",ordertiket,
"\n"," Обьекты = ",x);
Sleep(50);
}
}
//+------------------------------------------------------------------+
Это весь код

Спасибо: 0 
ПрофильЦитата Ответить
Автор




Пост N: 1053
Зарегистрирован: 21.05.06
Откуда: Украина, Днепропетровск
ссылка на сообщение  Отправлено: 18.12.12 20:40. Заголовок: На этой стадии (у на..


На этой стадии (у нас) возникает естественный вопрос: правильно ли мы понимаем, что Вас чем-то не устраивает AG 4? Если это так, то опишите, пожалуйста, причины. Что Вы хотели бы улучшить? Возможно, что-то мешает (лишний функционал). Чего не хватает? Возможно, дело в условиях лицензирования или просто в желании иметь собственную программу?

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 560
Зарегистрирован: 03.09.09
ссылка на сообщение  Отправлено: 18.12.12 20:43. Заголовок: voldemar227 пишет: ..


voldemar227 пишет:

 цитата:
Это весь код


Слишком вольное программирование:

1. Какой смысл копировать один массив в другой, если массив, в который производилось копирование, очищается практически в следующей строке кода после копирования?
2. Функция ArrayInitialize не может применена к строковому массиву. Уточните этот момент в справке. Там явно указано, что массив должен быть числовой.
3. Массив Mas_tek во втором измерении содержит три элемента, но в коде используется четвертый элемент, что недопустимо (индекс последнего элемента в таких массивах - 2):

 цитата:
Mas_tek[Kol][3] =name; //по стопу


4. Что подразумевалось получить в конструкции такого типа, если в этом элементе массива ничего не записано?

 цитата:
StrToInteger(Mas_old[0][0])



Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 62
Зарегистрирован: 19.11.10
Откуда: Россия, Новочеркасск
ссылка на сообщение  Отправлено: 18.12.12 21:25. Заголовок: Scriptong пишет: 4...


Scriptong пишет:

 цитата:
4. Что подразумевалось получить в конструкции такого типа, если в этом элементе массива ничего не записано?

 цитата:
StrToInteger(Mas_old[0][0])


Я хотел запустить цикл для сравнения старого массива и нового

У меня цель сделать модернизацию ордеров как в аг 4
установление линий тейк профита и модернизация и удаление по линиям

с массивами раньше не работал по этому представление имею слабое

Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 63
Зарегистрирован: 19.11.10
Откуда: Россия, Новочеркасск
ссылка на сообщение  Отправлено: 18.12.12 21:43. Заголовок: SK пишет: На этой ..


SK пишет:

 цитата:

На этой стадии (у нас) возникает естественный вопрос: правильно ли мы понимаем, что Вас чем-то не устраивает AG 4? Если это так, то опишите, пожалуйста, причины. Что Вы хотели бы улучшить? Возможно, что-то мешает (лишний функционал). Чего не хватает? Возможно, дело в условиях лицензирования или просто в желании иметь собственную программу?


У меня есть сайт (с вашим он не сравница так как мой сайт слабоват ) на котором я выкладываю советников по партнерской программе ... Дополнительный пассивный доход... По мимо торгов на форексе , нет такой психологической нагрузки когда понимаешь что яйца лежат по разным карманам ... И есть программка тестер trading-go называется посмотреть можно тут http://trading-go.ru/index.php
которая как и афтограф 4 выставляет ордера с графика .... Но модернизация ордеров в ней очень плохо построена ... Я не хочу нагружать программу разными фишками и возможностями ....
программа останется такой какая она сейчас есть . Я хочу переработать модернизацию ордеров .... и ни чего больше ... Вы оказали большую помощь мне не только по поводу данной проблемы но и по поводу других моих вопросов .... В знак благодарности я сделаю ссылку на ваш сайт с выражением оной . И также создам пост посвященный аг4 или чему вы пожелаете...
По поводу вашего вопроса

 цитата:

На этой стадии (у нас) возникает естественный вопрос: правильно ли мы понимаем, что Вас чем-то не устраивает AG 4? Если это так, то опишите, пожалуйста, причины. Что Вы хотели бы улучшить? Возможно, что-то мешает (лишний функционал). Чего не хватает? Возможно, дело в условиях лицензирования или просто в желании иметь собственную программу?


я буду с вами честен :
За 7 лет работы на форексе я не встречал людей использующих аг4 , на вопрос какой тестер я мог бы посоветовать для тестирования тактик я всегда говорил аг4 так как лучше я ничего не видел ... и через короткое время слышал отзыв : да программа крутая , неужели это все на мкл4 написано, но сложная, в ней пока разберешься пока сделаешь то что хочешь можно депо слить ...
Мое мнение ( может оно ничего и не стоит ) не стоит делать одну такую сложную программу .... Лучше сделать несколько которые делают разные вещи и чем проще тем лучше .....
может можно все включить в одну программу но отключать блоки ...... Например мне не нужно установка своих торговых тактик, меня полностью устраивал аг 1 , мне не нужны все эти модификации с обьектами .... только открытие и модификация ордеров так как я торгую в основном руками ....
Вобщем основной негативный отзыв сложно, запутанно , 95 % фишек только мешают, и не всегда работает .......
Может есть смысл сделать лайт нормал и про версии......

Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 64
Зарегистрирован: 19.11.10
Откуда: Россия, Новочеркасск
ссылка на сообщение  Отправлено: 19.12.12 09:39. Заголовок: Моя логика такова ..


Моя логика такова

voldemar227 пишет:

 цитата:

string ordertiket=""; // текстовая переменная на глоб уровне
//---------------------------------------------------------------------------//
string Mas_tek[31][3],Mas_old [31][3]; // обьявление стрингового массива для 31 ордера по три ячейки для каждого
//---------------------------------------------------------------------------//
int start()
{
while(!IsStopped()) //цикл для быстроты работы
{
string name; // переменная для имен линий
//---------------------------------------------------------------------------//
ArrayCopy(Mas_tek, Mas_old);//сохраняем историю
int Kol=0; //колличество ордеров

//---------------------------------------------------------------------------//
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][1] = ordertiket; //запомнить имя в ячейку 1 первого ордера
}
if (ObjectDescription(name)==ordertiket&&OrderOpenPrice()<ObjectGet(name,OBJPROP_PRICE1)&&ObjectGet(name,OBJPROP_PRICE1)>0)
// если есть обьект с описанием тикета и обьект выше цены открытия значит это новая линия для тейк профита
{
Mas_tek[Kol][2] =name; //запомним ее имя во вторую ячейку первого ордера
}
if (ObjectDescription(name)==ordertiket&&OrderOpenPrice()>ObjectGet(name,OBJPROP_PRICE1)&&ObjectGet(name,OBJPROP_PRICE1)>0)
// если есть обьект с описанием тикета и обьект нгиже цены открытия значит это новая линия для стоп лосса
{
Mas_tek[Kol][3] =name; //запомним ее имя в третью ячейку первого ордера
}
}
}
}
//----------------------------------------------------------------------------------------------//
}
}
// с циклом сравнения вообще ничего не получилось так как пишет что не верны типеы сравниваемых данных
// в документации я так и не нашол как сравнить массивы типа стринг
/*
for(int oo=1;oo <= StrToInteger(Mas_old[0][0]); oo++)

{
for (int ii=1;i <= StrToInteger(Mas_tek[0][0]);ii++)

{
if (Mas_tek[ii][1] == Mas_old[oo][1])
{
Print("profit totge");
}
else
{
Mas_tek[ii][1] = "нет линии";}

if (Mas_tek[ii][2] == Mas_old[oo][2])
{
Print("stop totge");
}
else{Mas_tek[ii][2] = "нет линии";}
}
}
*/

Comment( " Цена открытия = ",Mas_tek[1][1],
"\n"," Цена профита = ",Mas_tek[1][2],
"\n"," Цена стопа = ",Mas_tek[1][3],
"\n"," Тикет = ",ordertiket,
"\n"," Обьекты = ",x);
Sleep(50);
}
}



Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост 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] = "нет линии";
}



Спасибо: 0 
ПрофильЦитата Ответить





Пост 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;
}
}
}
}
//----------------------------------------------------------------------------------------------//
}
}

Не могу понять почему не заполняется массив именами что не так ????
Условия для записи есть ...

Спасибо: 0 
ПрофильЦитата Ответить
Автор




Пост N: 1054
Зарегистрирован: 21.05.06
Откуда: Украина, Днепропетровск
ссылка на сообщение  Отправлено: 19.12.12 13:15. Заголовок: voldemar227 пишет: ..


voldemar227 пишет:

 цитата:
Мое мнение ( может оно ничего и не стоит ) не стоит делать одну такую сложную программу .... Лучше сделать несколько которые делают разные вещи и чем проще тем лучше .....
может можно все включить в одну программу но отключать блоки ...... Например мне не нужно установка своих торговых тактик, меня полностью устраивал аг 1 , мне не нужны все эти модификации с обьектами .... только открытие и модификация ордеров так как я торгую в основном руками.

Спасибо за лестный отзыв и Ваше мнение. В целом понятно.

Коротко скажу, что в новый AG4M мы заложим тот же функционал, что и в AG 4, и ещё кое-что добавим. Основным отличием будет новый виндовый интерфейс, - с кнопками, полями для ввода значений, панелями настроек и пр. В частности, кнопки управления инструментами будут собраны на отдельной панели, которую при желании можно просто отключить, а потом при необходимости включить. Таким образом, новый AG4M в минимальной конфигурации видимости панелей будет представлен только небольшим тулбаром, из меню которого можно открыть любые панели и настройки. Разбивать программу на части мы не будем, т.к., во-первых, все составляющие взаимно дополняют друг друга; во-вторых, затруднительно запустить одновременно несколько программ на одном терминале, если пользователю требуется полный функционал.

Ещё раз спасибо.

Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 66
Зарегистрирован: 19.11.10
Откуда: Россия, Новочеркасск
ссылка на сообщение  Отправлено: 19.12.12 16:30. Заголовок: может подскажите ста..


может подскажите статью где можно детально разобраться с массивами ????

Спасибо: 0 
ПрофильЦитата Ответить
Автор




Пост N: 1055
Зарегистрирован: 21.05.06
Откуда: Украина, Днепропетровск
ссылка на сообщение  Отправлено: 20.12.12 02:35. Заголовок: voldemar227 пишет: ..


voldemar227 пишет:

 цитата:
может подскажите статью где можно детально разобраться с массивами ????

Попробуйте посмотреть в учебнике по MQL 4. Если этого не достаточно, задайте вопрос на форуме в соотв. теме.

Спасибо: 0 
ПрофильЦитата Ответить
Автор




Пост N: 1056
Зарегистрирован: 21.05.06
Откуда: Украина, Днепропетровск
ссылка на сообщение  Отправлено: 20.12.12 02:56. Заголовок: voldemar227 пишет: ..


voldemar227 пишет:

 цитата:
Не могу понять почему не заполняется массив именами что не так ????
Условия для записи есть ...

Так иногда бывает..
Чтобы найти ошибку, необходимо последовательно исключать некоторую часть кода, пока источник ошибки не станет явным. Например, в последнем фрагменте анализируется тип ордера :
if (ObjectType(name)== OBJ_HLINE)
Если эту строку и скобки удалить, будет малость полегче.

Для явного контроля массивов распечатывайте оба массива в Alert или Print и сравнивайте.
При отладке программ подобное приходится делать постоянно, иначе сколько-нибудь сложную программу просто не написать..

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 1
Зарегистрирован: 24.09.16
ссылка на сообщение  Отправлено: 24.09.16 18:36. Заголовок: Спасибо за советы!..


Спасибо за советы!

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 27 , стр: 1 2 3 All [только новые]
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 11
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет