[АРХИВ]Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 5. - страница 127

 
borilunad:
 ... Я Вам вставил. Тоже самое можете сделать в своём посте.
Круто.
 
borilunad:
Извините, это не будет работать! Не первый, ни последний!

 Почему? Ведь последний ордер это и есть OrdersTotal() - 1, а первый ордер имеет индекс 0. Почему тогда не будет?
 
borilunad:

У меня функция служит для всех модификаций как установка СЛ и ТП, перевод в Б/У, трал позиций и ордеров с попытками и проверками на ошибки.

А в старте только нужно прописывать выбор позиции, условия и предупредительные меры. Вот функция:

Маленькая да удаленькая!

 


 Кстати, у Вас функция только модифицирует ордера. А условия уже все в старте. А у меня все условия в функции. Тут получается что в старт будет помещено очень много условий и его загромождать разве резонно? Ведь суть то функции и есть в основном в условиях, а не только в в практически голой функции модификации, есс-но с выводом ошибок. Но как-то странный у Вас подход. Я такого ещё не встречал. Смотрю, и удивляюсь.
 
hoz:

 Кстати, у вас функция только модифицирует ордера. А условия уже все в старте. А у меня все условия в функции. Тут получается что в старт будет помещено очень много условий и его загромождать разве резонно? Ведь суть то функции и есть в основном в условиях, а не только в в практически голой функции модификации, есс-но с выводом ошибок. Но как-то странный у вас подход. Я такого ещ не встречал. Смотрю, и удивляюсь.
Каждый выбирает, как ему удобно! У меня преимущества, что одна функция чётко выполняет все возможные модификации поставленной отложки и открытой позиции. А в старте да, прописываю все необходимые условия, которые могут часто меняться в зависимости от капризов рынка. Это даёт мне удобную гибкость в работе. А Вам надо иметь множество функций и всё равно прописывать все условия и в старте, и в функциях. Постепенно придёте к своей удобной для Вас манере. Но главное, добиться чёткой логики и безошибочной работы программы. Желаю успеха!
 
hoz:

 Почему? Ведь последний ордер это и есть OrdersTotal() - 1, а первый ордер имеет индекс 0. Почему тогда не будет?

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

Вы думаете сразу обо всём, а комп думает по очереди, скажем, 0 или 1, потом снова, 0 или 1, и снова по 0 или 1 и т.д.

Потому необходимо делать по логике машины, а не нашей. И наградой будет безошибочность программы! Удачи!

 
borilunad:
Пользуйтесь сверху кнопкой SRC для вставки кода! Никто не будет копаться в таком виде. Я Вам вставил. Тоже самое можете сделать в своём посте.
Спасибо за помощь.Свой пост я исправил и,надеюсь,что правильно.
 
borilunad:

У меня функция служит для всех модификаций как установка СЛ и ТП, перевод в Б/У, трал позиций и ордеров с попытками и проверками на ошибки.

А в старте только нужно прописывать выбор позиции, условия и предупредительные меры. Вот функция:

 

void ModifyOrder(int ticket,double price,double stoploss,double takeprofit,datetime e,color arrow_color)
{
  int ModifyCnt = 0, err;
  while(ModifyCnt < 3)
  {
    if(OrderModify(ticket,NormalizeDouble(price,Digits),NormalizeDouble(stoploss,Digits),
    NormalizeDouble(takeprofit,Digits),0,arrow_color))
    ModifyCnt = 3;
    else err = GetLastError();
    if(err > 0)
    { 
      Print(ModifyCnt," #",ticket," Error modifing order: (", err , ") " , ErrorDescription(err));
      Sleep(5000); RefreshRates(); ModifyCnt++;
} } }

 

Маленькая да удаленькая!

 


 Борис. Зачем у Вас здесь переменная e ?
 
hoz:

 Борис. Зачем у Вас здесь переменная e ?
Переменная е это expiration (для отложек, см. Доку OrderModify()), которую я обязан указать, если я хочу использовать функционирование последующих параметров, как arrow_color, для бая один, а для селла другой, и для отложек могу разнообразить цвет). Ведь программа не вникает сразу в такие подробности, как мы, а по очереди, определяя параметры по их месту представления в стандартной функции OrderModify().
 
borilunad:
Переменная е это expiration (для отложек, см. Доку OrderModify()), которую я обязан указать, если я хочу использовать функционирование последующих параметров, как arrow_color, для бая один, а для селла другой, и для отложек могу разнообразить цвет). Ведь программа не вникает сразу в такие подробности, как мы, а по очереди, определяя параметры по их месту представления в стандартной функции OrderModify().

 Можно 0 (нуль ) ставить, т.к. обычно экспирация не требуется. Но у Вас видать на свякий случай стоит, чтоб если что не возвращаться к этому моменту.
 
Подскажите: есть ли уже написанная пользовательская функция в свободном доступе, которая принимает на вход массив и экспортирует его в эксель?