Скачать MetaTrader 5

Работа советника на нескольких валютных парах - страница 4

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Vitalie Postolache
12397
Vitalie Postolache  
Tomich7L:
Всё таки не понятно. Что я могу ожидать считать? Вообще, какого типа инфа туда идёт и что с ней потом можно делать? Не могли бы хотя б какой-нибудь наипростейший пример привести?

Комментарий это строка текста и значит тип данных string. Допустим, советник запрограммирован отличать ордера, открытые вручную по присутствию в комментарии ордера текста "ruk" (в принципе тут что угодно может быть, любое слово или сочетание символов, какое в голову придёт, главное чтобы пользователь точно знал содержание этого отрывка и использоват его для пометки нужных ордеров). В советник это сочетание символов можно вывести для удобства в пользовательские параметры. Далее, советник ищет в комментарии ордера это сочетание символов и если оно найдено, значит это тот самый ордер, открытый вручную и подлежащий обработке в данном советнике. Естественно, это самое сочетание символов должно вставляться пользователем в комментарии только ручных ордеров, ни один советник не должен использовать его в качестве комментария к своим ордерам, даже в виде составной части комментария.

Итак, пользователь открыл вручную ордер с комментарием "ruk" (или начальные буквы в комментарии такие, дальше может быть ещё что-то, но это никому не интересно, в нашем случае важно начало комментария) и советник в качестве вводной получил, что комментарий ручного ордера, который надо обработать как свой, должен содержать в начале комментария слово "ruk". Если советник в комментарии какого-либо ордера найдёт данное сочетание символов, он с этим ордером совершит те же действия, что и со своими собственными.

в коде как-то так:

вводные 
input string rukcomm="ruk" //определяемый пользователем комментарий ручных ордеров
другие переменные
string ocom=""; //переменная, в которую считываем часть комментария из ордера, инициализируем её пустой строкой 

далее в коде цикл перебора ордеров:

 for(int h=OrdersTotal()-1; h>=0; h--)
 {
  if(OrderSelect(h,SELECT_BY_POS,MODE_TRADES))
  {
    ocom=StringSubstr(OrderComment(),0,StringLen(rukcomm)); //извлекаем часть комментария ордера, от самого начала, кол-во извлекаемых символов равно длине слова из пользовательской переменной rukcomm
    if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic || ocom==rukcomm) //если символ ордера равен символу графика и магик или часть комментария соответствуют заданным, работаем
    {
        //много кода, всякого и разного
    }
  }
 }
Tohayak
149
Tohayak  
evillive:

Комментарий это строка текста и значит тип данных string. Допустим, советник запрограммирован отличать ордера, открытые вручную по присутствию в комментарии ордера текста "ruk" (в принципе тут что угодно может быть, любое слово или сочетание символов, какое в голову придёт, главное чтобы пользователь точно знал содержание этого отрывка и использоват его для пометки нужных ордеров). В советник это сочетание символов можно вывести для удобства в пользовательские параметры. Далее, советник ищет в комментарии ордера это сочетание символов и если оно найдено, значит это тот самый ордер, открытый вручную и подлежащий обработке в данном советнике. Естественно, это самое сочетание символов должно вставляться пользователем в комментарии только ручных ордеров, ни один советник не должен использовать его в качестве комментария к своим ордерам, даже в виде составной части комментария.

Итак, пользователь открыл вручную ордер с комментарием "ruk" (или начальные буквы в комментарии такие, дальше может быть ещё что-то, но это никому не интересно, в нашем случае важно начало комментария) и советник в качестве вводной получил, что комментарий ручного ордера, который надо обработать как свой, должен содержать в начале комментария слово "ruk". Если советник в комментарии какого-либо ордера найдёт данное сочетание символов, он с этим ордером совершит те же действия, что и со своими собственными.

в коде как-то так:

Кажется начинаю прозревать. Очень много всякой информации и ответов. Сейчас на время затухну - буду внедрять. Если останутся проблемы - всплыву. Очень много полезного. Огромное СПАСИБО. Кажется я стал чуток умнее ;-)
1234
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий