Скачать MetaTrader 5

Функция подсчета общего лота на бай и селл ордерах. - страница 2

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Проблемы с кодом? Загляни в документацию!
Bicus
2396
Bicus 2013.12.11 12:27  
Выигрышь чертовски важен в тестере. Чтобы не ждать неделями, когда советник отработает на 10-летнем интервале, например.
Yuriy Zaytsev
13821
Yuriy Zaytsev 2013.12.11 12:29  
Bicus:
Выигрышь чертовски важен в тестере. Чтобы не ждать неделями, когда советник отработает на 10-летнем интервале, например.
+
Victor Nikolaev
Модератор
14498
Victor Nikolaev 2013.12.11 17:22  
Bicus:
Выигрышь чертовски важен в тестере. Чтобы не ждать неделями, когда советник отработает на 10-летнем интервале, например.

Просто думать надо что и как делаешь
Vladimir Perervenko
2320
Vladimir Perervenko 2013.12.18 15:45  
YuraZ:

так думает большинство и потому программы работают дико медлено - потому что в индустрию пришло много пофигистов, это шаблон ... мышления! большинста -

выходит новое железо в 5 10 100 10000000 раз быстрее предыдущего а софт работает все медленней и медленней

в одном месте тормозит на 1.5мк а кое где минут по 15 вместо 10 секунд, постоянно борюсь с придурочными SQL кодами дебилов, которым доверили писать коды.

При этом времени на код который будет работать быстрее уйдет не намного больше, конечно если мозг заточен удачно.

---

Момнится Стив Джоб дрючил своих программистов требуя ускорить работу загрузчика и кстати добился своего!

Он очень образно приводил пример почему нужно ускорить !

Говорил : Просто представь миллионы компьютеров которые загружаются на 5 секунд медленней - если все сложить получится человечкская жизнь а это не так мало.

---

Тех кто считает - да лишь бы работало, Стив и увольнял из компании Apple. и судя по результатам работы Apple он был прав.

Перфоционизм в его варианте - хорошая и полезная субстанция.

--

Не Надо быть обыденной серостью


После этого высокопарного выступления великого программиста хочу для себя понять "великое" преимущество continue.

В обоих вариантах функции одинаковое количество позиций/ордеров:

1. В обоих вариантах выбирается позиция в рынке. То что Вы в первом варианте безграмотно записали выбор позиции еще не говорит о преимуществе второго варианта. Запишите в первом варианте как ниже и проведите проверку.

if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)){

и далее по тексту

}

2.В первом варианте если не наш магик не заходим в блок и продолжаем перебор списка( причем с учетом последних изменений второе условие даже проверяться не будет)

Во втором варианте если не наш магик продолжаем (??)перебор списка позиций.

Аналогично по символу.

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

Может я чего не вижу? Обоснуйте пожалуйста Ваше пренебрежение к вопросу заданному вполне резонно.

Иначе это будет выглядеть как желание выглядеть блестящей серостью.

Удачи

Vladimir Perervenko
2320
Vladimir Perervenko 2013.12.18 16:04  

Как пример привожу функцию Кима которой пользуюсь сто лет.

//+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. aka KimIV,  http://www.kimiv.ru                   |
//+----------------------------------------------------------------------------+
//|  Версия   : 19.02.2008                                                     |
//|  Описание : Возвращает сумму лотов открытых позиций                        |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    sy - наименование инструмента   (""   - любой символ,                   |
//|                                     NULL - текущий символ)                 |
//|    op - операция                   (-1   - любая позиция)                  |
//|    mn - MagicNumber                (-1   - любой магик)                    |
//+----------------------------------------------------------------------------+
double КолЛотовОткрПозиций( int op=-1, int mn=-1,string sy="") {//..
        double l=0;
        int    i, k=OrdersTotal();

        if (sy=="") sy=Symbol();
        for (i=0; i<k; i++) {
                if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
                        if (OrderSymbol()==sy || sy=="") {
                                if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
                                        if (op<0 || OrderType()==op) {
                                                if (mn<0 || OrderMagicNumber()==mn) {
                                                        l+=OrderLots();
                                                }
                                        }
                                }
                        }
                }
        }
  return(l);
}//.
Yuriy Zaytsev
13821
Yuriy Zaytsev 2013.12.18 23:58  
vlad1949:


Внимательно посмотрите тему


---

>>1. В обоих вариантах выбирается позиция в рынке. То что Вы в первом варианте безграмотно записали выбор позиции еще не говорит о преимуществе второго варианта. З


я не автор кода - поэтому мне странно читать п1 и п2

Допускаю вы по невнимательности приписали мне авторство, и поэтому возможно не поняли то о чем говорю, не в количестве операторов или разности телодвижений вопрос

мной обсуждался совсем другой вопрос, проблема быстродействия... хотя и экономия объема кода мне нравится

---

>> великого программиста

хочу заметить - не я это сказал ... если бы это было от души - может мне было бы даже приятно - хотя так не считаю

да и "почестей игла" на меня не действует...

---

Стив Джобс требовал - от своих программистов максимальный подход к разработкам ...

и он точно не был обыденной серостью и мне нравится его подход..

---

Вы знаете эту историю ? когда Свтив подошел к программисту писавшему загрузчик операционной системы и попросил написать такой код который бы грузил

операционку быстрее ... Программист сказал что постарается и сделал загрузку быстрей


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

при этом он еще показывал содержимое дискеты по команде dir и мог грузить как bin так и sav формат хотя с меня никто не требовал показывать содержимое дискеты

но потом все пользовались с удовольствием.

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

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

вот и научился писать с максимальной экономией и скоростью

Vladimir Perervenko
2320
Vladimir Perervenko 2013.12.19 09:16  

Понятно. Не думаю, что кто то против увеличения быстродействия, я точно не в их числе.

Очевидно для обоснования этого тезиса был выбран не самый удачный пример. Я не программист профессионально и я прислушиваюсь к советам и опыту профессионалов. И естественно эти примеры меня насторожили и удивили, поскольку я не усмотрел где тут увеличение быстродействия. Очень часто программисты приводят примеры кодов которые сразу нужно применять. Только этим был продиктован мой пост.

И резануло слух "Не Надо быть обыденной серостью". Принял на свой счет.

Удачи

Yuriy Zaytsev
13821
Yuriy Zaytsev 2013.12.19 11:55  
vlad1949:

Понятно. Не думаю, что кто то против увеличения быстродействия, я точно не в их числе.

Очевидно для обоснования этого тезиса был выбран не самый удачный пример. Я не программист профессионально и я прислушиваюсь к советам и опыту профессионалов. И естественно эти примеры меня насторожили и удивили, поскольку я не усмотрел где тут увеличение быстродействия. Очень часто программисты приводят примеры кодов которые сразу нужно применять. Только этим был продиктован мой пост.

И резануло слух "Не Надо быть обыденной серостью". Принял на свой счет.

Удачи


Нет, я обращался не к Вам, фраза резкая и могла обидеть. Но Эта фраза образная не направленная на конкретную личность...

Интернет не передает интонацию, голос, жесты по которым наверняка Вы бы "прочитали" информацию по другому и восприняли ее иначе..

Пример выбран реальный из реальной жизни - Стива Джобса..., мне он кажется очень удачным...

Что касается конкретно кодов, их привел коллега с раскладкой ... и трассировкой пожалуй этого достаточно.

12
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий