[Архив!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 2. - страница 439
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Так понимаю, что выставленный(отложенный) ордер и открытый ордер - это разные ордера. А если отложенный ордер, открывается то задача сводиться к исходной, к открытому ордеру. Если я правильно понимаю, то сложно получается.
А что за задачи? Может быть всё проще можно сделать?
Так понимаю, что выставленный(отложенный) ордер и открытый ордер - это разные ордера. -------------- да(возможно) Можетбыть и нет . Главное что бы скрипт срабатывал при открытии этого отложеного ордера, тойсть не тогда когда он выставлен, а когда именно открылся .
Уважаемые Профессионалы, эксперты, и просто хорошие люди, помогите дописать скрипт.Или подскажите что нужно изменить чтобы все работало .
вот почти готовый вариант, но он не срабатывает если открылся отложеный ордер(Был отложеный ордер, цена до него дошла, он открылся и робот должен отреагировать тоже ) . А нужно что-бы и на такие ордера срабатывал .
Сртано, тестирую его сейчас, все работает. Почемуже при 1-м тесте не сработало хм... Может из-за того что был рестарт компьютера ...Но после планового рестарта, робот улыбался (работал).
Подскажите еще одну деталь . Этот скрипт на исторических графиках не будет работать, и почему?
//+------------------------------------------------------------------+
//| Order_act.mq4 |
//| |
//| |
//+------------------------------------------------------------------+
#property copyright ""
#property link ""
int Order_array[200];
int Total=0;
int j,pos,count,order_tick,type;
bool found;
//+------------------------------------------------------------------+
//| script program start function |
//+------------------------------------------------------------------+
int start()
{
//----
// создаем список ордеров (туда входят и открытые, и отложенные)
Total=OrdersTotal();
for(pos=0;pos<Total;pos++)
{
if(OrderSelect(pos,SELECT_BY_POS,MODE_TRADES)==true)
{ Order_array[pos]=OrderTicket();}
}
// проверочная часть скрипта
int i=0;
while ( !IsStopped() )
{
count=OrdersTotal();
for(pos=0;pos<count;pos++)
{
if(OrderSelect(pos,SELECT_BY_POS,MODE_TRADES)==true)
{
found=false;
order_tick=OrderTicket();
for (j=0;j<Total;j++)
{
if (order_tick==Order_array[j]) {found=true;}
}
if (!found)
{
type=OrderType();
if ((type==OP_BUY) || (type==OP_SELL))
{
Total++; // в случае,если есть новый открытый
Order_array[Total-1]=order_tick; //ордер - добавляем в список
Alert("Новый открытый ордер"); // и делаем с ним что хотим
}
}
}
// если планируется, что скрипт будет работать долго или открываемся часто
// удаляем из списка все закрытые ордера чтобы не было переполнения.
// А чтобы работало быстрее, количество записей можно уменьшить (лишь бы не превысило
// максимально возможного числа открытых и отложенных поз.
if (Total>190)
{
for (j=0;j<Total;j++)
{
if(OrderSelect(Order_array[j],SELECT_BY_TICKET)==true)
{
if (OrderCloseTime()!=0)
{
Alert("нашли закрытый в списке и удалили");
for (i=j+1;i<Total;i++) {Order_array[j]=Order_array[i];}
Total--;
}
}
}
}
Sleep(100);
}
}
//----
return(0);
}
//+------------------------------------------------------------------+
Его написал RAVen_ Спасибо этому профессионалу .
Уважаемые профессионалы,
как научить советника считывать информацию с другого окна, где работает другой советник по той же валютой паре?
Уважаемые профессионалы,
как научить советника считывать информацию с другого окна, где работает другой советник по той же валютой паре?
Попробуйте пойти другим путем, а именно для обмена значениями между экспертами служат глобальные переменные... Сам их не юзал, подробностей не знаю, поиском, дополнительно посмотрите порядок их использования...
Уважаемые профессионалы,
как научить советника считывать информацию с другого окна, где работает другой советник по той же валютой паре?
Так понимаю, что выставленный(отложенный) ордер и открытый ордер - это разные ордера. -------------- да(возможно) Можетбыть и нет . Главное что бы скрипт срабатывал при открытии этого отложеного ордера, тойсть не тогда когда он выставлен, а когда именно открылся .
Это вскапывание пары деревьев при помощи эксковатора! Какой смысл разделять ордера? Цена -- одна единая для всех. Всегда ордера обрабатываются вместе,оптом, по единому наилучшему варианту.
Т.е. неважно кто ставит ордера, важно какие параметры у каждого отдельного ордера. Пустого ищешь.
Раз нужно выполнить задачу1 и задачу2, значит надо проверить каждый ордер, выполнена ли к нему нужная задача или нет. А проверять открылся это ордер прямо сейчас, или чуть раньше, или вот-вот откроется, в этом нет нужды.
Это вскапывание пары деревьев при помощи эксковатора! Какой смысл разделять ордера? Цена -- одна единая для всех. Всегда ордера обрабатываются вместе,оптом, по единому наилучшему варианту.
Т.е. неважно кто ставит ордера, важно какие параметры у каждого отдельного ордера. Пустого ищешь.
Раз нужно выполнить задачу1 и задачу2, значит надо проверить каждый ордер, выполнена ли к нему нужная задача или нет. А проверять открылся это ордер прямо сейчас, или чуть раньше, или вот-вот откроется, в этом нет нужды.
Это вскапывание пары деревьев при помощи эксковатора! ----------- Что есть проще вариант?
Какой смысл разделять ордера? -------------- мне нужно разделять ордера на буй и селл .Или вы имели введу насчет обработки ореров?Тогда может и нету смысла . Намекните хотябы, как cделать скрипт попроще ?
Сртано, тестирую его сейчас, все работает. Почемуже при 1-м тесте не сработало хм... Может из-за того что был рестарт компьютера ...Но после планового рестарта, робот улыбался (работал). Какие есть варианты, почему он тогда не сработал ? Просто возможно подобный збой произойдет и в будущим.
Доброго времени суток всем.
Возник вот такой вопрос. Допустим имеется индикатор XXXXXXX (название не имеет значения)
Исходного кода индикатора к сожалению нет. Соответсвенно на чём основана его работа не очень понятно)
Можно ли написать эксперт на основе сигналов индикатора XXXXXXXX для открытия ордеров на продажу и покупку?
Вот вам пример на скрине
Доброго времени суток всем.
Возник вот такой вопрос. Допустим имеется индикатор XXXXXXX (название не имеет значения)
Исходного кода индикатора к сожалению нет. Соответсвенно на чём основана его работа не очень понятно)
Можно ли написать эксперт на основе сигналов индикатора XXXXXXXX для открытия ордеров на продажу и покупку?
Вот вам пример на скрине
Да, возможно. Даже догадываюсь, что за индюк... :-)))
Подскажите . Как можно сделать что бы этот робот покупал четко через 20 секунд?
А не так, когда уже прошло 20 секунд, потом цена стоит еще 20, и в итоге получаеться что он срабатывает через 40 секунд .
int start()
{
OrderSend(Symbol(),OP_BUY,0.1,Ask,3,Bid-15*Point,Bid+15*Point, "Ордер №", 0); // открытие ордера на покупку
Sleep(20000); // Таймер на 20 секунд
return(0);
}