1. Си / Говнокод #17719

    +133

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    int start()
      {
     string filename = "GBPJPY.hst";
     int i_unused[30];
       
     int FILE = FileOpenHistory(filename, FILE_READ|FILE_BIN);
     FileSeek(FILE, 0, SEEK_SET);
     
     int version    = FileReadInteger (FILE, LONG_VALUE);
     string c_copyright  = FileReadString (FILE, 64);
     string name    = FileReadString (FILE, 12);
     int period     = FileReadInteger (FILE, LONG_VALUE);
     int i_digits   = FileReadInteger (FILE, LONG_VALUE);
     int timesign    = FileReadInteger (FILE, LONG_VALUE);       //timesign
     datetime last_sync   = FileReadInteger (FILE, LONG_VALUE);       //last_sync
     FileReadArray (FILE, i_unused, 0, 13);
     
     Print("Version = ", version);
     Print("c_copyright = ", c_copyright);
     Print("Equity = ", name);
     Print("period = ", period);
     Print("i_digits = ", i_digits);
     Print("timesign = ", TimeToStr(timesign, TIME_DATE|TIME_SECONDS));
     Print("last_sync = ", last_sync);
     Print("i_unused = ", i_unused[0]);
     Print("i_unused = ", i_unused[1]);
     Print("i_unused = ", i_unused[2]);
     Print("i_unused = ", i_unused[3]);
     Print("i_unused = ", i_unused[4]);
     Print("i_unused = ", i_unused[5]);
     Print("i_unused = ", i_unused[6]);
     Print("i_unused = ", i_unused[7]);
     Print("i_unused = ", i_unused[8]);
     Print("i_unused = ", i_unused[9]);
     Print("i_unused = ", i_unused[0]);
     Print("i_unused = ", i_unused[11]);
     Print("i_unused = ", i_unused[12]);
     Print("Time    = ", FileReadInteger (FILE, LONG_VALUE));
     Print("Price    = ", FileReadDouble (FILE, DOUBLE_VALUE));
     Print("Price    = ", FileReadDouble (FILE, DOUBLE_VALUE));
     Print("Price    = ", FileReadDouble (FILE, DOUBLE_VALUE));
     Print("Price    = ", FileReadDouble (FILE, DOUBLE_VALUE));
     Print("Volume   = ", FileReadDouble (FILE, DOUBLE_VALUE));
     Print("Time    = ", FileReadInteger (FILE, LONG_VALUE));
     Print("Price    = ", FileReadDouble (FILE, DOUBLE_VALUE));
     Print("Price    = ", FileReadDouble (FILE, DOUBLE_VALUE));
     Print("Price    = ", FileReadDouble (FILE, DOUBLE_VALUE));
     Print("Price    = ", FileReadDouble (FILE, DOUBLE_VALUE));
     Print("Volume   = ", FileReadDouble (FILE, DOUBLE_VALUE));
     Print("Time    = ", FileReadInteger (FILE, LONG_VALUE));
     Print("Price    = ", FileReadDouble (FILE, DOUBLE_VALUE));
     Print("Price    = ", FileReadDouble (FILE, DOUBLE_VALUE));
     Print("Price    = ", FileReadDouble (FILE, DOUBLE_VALUE));
     Print("Price    = ", FileReadDouble (FILE, DOUBLE_VALUE));
     Print("Volume   = ", FileReadDouble (FILE, DOUBLE_VALUE));
     Print("Time    = ", FileReadInteger (FILE, LONG_VALUE));
     Print("Price    = ", FileReadDouble (FILE, DOUBLE_VALUE));
     Print("Price    = ", FileReadDouble (FILE, DOUBLE_VALUE));
     Print("Price    = ", FileReadDouble (FILE, DOUBLE_VALUE));
     Print("Price    = ", FileReadDouble (FILE, DOUBLE_VALUE));
     Print("Volume   = ", FileReadDouble (FILE, DOUBLE_VALUE));
     FileClose(FILE);   
     return(0);
    }

    Язык программирования торгового терминала MetaTrader 4 - MQL 4 - имеет C-нотацию. Многое роднит его с языком C, поэтому пример размещаю сюда.
    У меня складывается мнение, что, как и Forex - дно (днище) в мире электронной торговли, так и основная масса кода, написанного на MQL4 - образец того, как
    НЕ нужно программировать! Чего стоит одна только вырвиглазная разметка вкупе с корявым непоследовательным именованием... характерная, в том числе,
    и для официально поставляемых с терминалом примеров кода. Заранее прошу прощения за многострочный пример

    Запостил: AndreySt, 02 Марта 2015

    Комментарии (31) RSS

    • Я когда-то работал в Форекс компании (я тогда даже еще не знал, что это такое). Сломался на второй неделе и уволился.
      Ответить
    • Кстати поделитесь жуткими откровениями, а что там в форексе за работа? Что кодят?
      Ответить
      • Я был в eTorro. Суть такова: есть Флеш клиент, который показывает диаграмы произвольной формы, отображающие колебания курсов валют с очень небольшим интервалом и очень большой погрешностью. У Флеш клиента как правило есть брат близнец написаный на вижуал Сиплюсплюс, который предлагается скачать вместо Флеш клиента (практически все пользователи скачивают и устанавливают, вообще, это потрясающе через какие пытки должен пройти честный человек, который хочет, скажем продать книжки, или тот же клипарт, и как просто эти махинаторы попадают на комп к желающим обогатиться).

        Есть проприетарный протокол который передает статистику на клиент (По ходу, скорее всего просто подключен к Винапи аналогу /dev/random). Все программирование должно совершаться только в Виндовсе и только Дотнет.

        Когда я туда попал, клиентом (на Флеше) заведовала девочка, которая мне показала где находится SVN компании, откуда я выкачал исходники, но через неделю оказалось, что этими исходниками никто не пользовался уже около года (девочка не знала как пользоваться SVN и никогда не коммитила ничего в репу).

        Основая рабочая сила компании боршена на политпросвещение потенциальных лохов. Вокруг сайта есть куча сайтов-сателитов, где участники делятся друг с другом историями личного успеха и стратегиями обогащения.
        Ответить
        • >Есть проприетарный протокол который передает статистику на клиент
          Познавательно. Они ж могут крутить котировками как хотят, верно?
          А расскажите про сопли, срезающие стопы или там не знаю, какие-то другие способы относительно честного отъема денег у доверчивых любителей халявы.

          >уже около года (девочка не знала как пользоваться SVN и никогда не коммитила ничего в репу).
          Ааааа. Ужос.
          Ответить
          • Дык форекс это игра с ненулевой суммой, емнип. Кто-то один может заработать в конкретный момент времени, но в совокупности вводится денег больше чем выводится... Тут даже не надо мухлевать, ведь спреда между покупкой и продажей вполне хватит чтобы стричь бабло с любителей халявы :)
            Ответить
            • Будь она с нулевой стал бы кто то его создавать.
              Но лотерея выгоднее
              Ответить
              • > лотерея выгоднее
                Не. На форексе всё же можно выиграть за счёт лохов, играющих совсем по рандому да всяких мартингейлоёбов. Т.е. в сумме все в минусе, но часть участников может оказаться в плюсе потому что придумали какую-то мало-мальски умную стратегию.

                А в лотерее от скилла ниче не зависит, чистая статистика.
                Ответить
                • тем выгоднее создателем лотереи. Для игрока - это случайность, а для хозяина - это чистый доход.
                  Ответить
                • Там не только форекс, но и провайдеры.
                  Вот за что они должны кормиться?
                  Есть такая штука "стоп-аут" называется, это когда происходит автоматическое принудительное закрытие позиции, при переходе заданных лимитов, или чтоб не дать уйти клиенту в минус.

                  Т.к. посредник знает стопы клиента, он запускает соплю (резкий рывок вниз/вверх срезающий их), и тут же возврат к реальному значению.
                  Ответить
        • >>девочка не знала как пользоваться SVN и никогда не коммитила ничего в репу

          За что сама получила в репу.

          - Зачем вам SVN?
          - Ну вы знаете сама я не умею им пользоваться, но вдруг пригодится....
          Ответить
          • Отличный способ закадрить юного доверчивого погромиста.
            "Помоги мне с SVN"
            Ответить
            • А ты такой "а я всю жизнь на меркушке сидел..."
              Ответить
              • forever.alone.hbo.s09e15
                Ответить
              • Это ж какой ты юный, оказывается.
                Ответить
                • Я сосал хуй.
                  Ответить
                  • ************************
                    * Achievement unlocked *
                    ************************
                    Ответить
                    • http://joyreactor.cc/tag/Легенды%2BДжоя
                      Если кто-то не сидит на реакторе, вкратце, суть такова: был там админ, звали его split. Когда кучка олдфагов кого-то минусовала, некоторые обижались на Сплита. Коммент "split - х**сос" единственный из заминусованного треда был в плюсе. Фраза запомнилась всем.
                      Недавно на 23 февраля одним из модератором предлагалось поздравить любимого админа с праздником и получить за это халявную медальку. Поздравившие вскоре получили свою законную медальку "Любитель халявы: Отсосал Сплиту за медальку".
                      После этого администрация реактора в лице Re-l пошла пососавшим пострадавшим навстречу и объявила о возможности удалить злосчастную медальку всем желающим, кто напишет об этом в комментариях. Попросившим удалить, её заменили на прозрачную с надписью "Легенды Джоя: удалённая медалька", чтобы все знали, ибо нельзя просто так отмыться от позора.
                      Ответить
                      • Стремно как-то - сидеть на реакторе.
                        Ответить
                        • Единственное, что мне там не нравится - это что они любят и защищают гомосеков. А так, если заблокировать теги про политоту, некоторые ненужные комиксы, фурей, поней и ещё много чего, то оставшееся можно применять.
                          Кстати, бан там годный. Пишешь комментарии, радуешься жизни, но потом вдруг понимаешь, что никто с тобой не спорит и не минусует. Можно спокойно выражать своё мнение, его всё равно почти никто не увидит. И нигде не написано, когда оно началось и когда это кончится. Однозначно, такой бан нужен на ГК.
                          Ответить
                          • > любят и защищают гомосеков
                            Можно подумать, что на ГК их ненавидят и унижают...
                            Ответить
                            • Не, там с этим очень плохо. Если здесь из гомосеков только гость (и то он латентный гетеросек) и обычно эту тему активно не обсуждают, то там каждый геесрач вызывает бурю эмоций. 80% комментариев - за геев и в плюсе. (даже в срачах "сало vs вата" нет такого единства) Остальные - сильно заминусованы, словно комментарии на хабре, отрицающие какое-то популярное хабразаблуждение. Комментарии к таким постам лучше не читать, иначе начнёшь думать, что вот уже конец света и пидорги окружают.

                              На любой комментарий против них уже готов ответ - либо "азаза ти фашист гитлерский нельзя так с людьми", либо "азаза а вот гетерасты собираются сосутся на площадях и их никто оттуда не гонит", либо "азаза если правительство сейчас против геев то завтра забанит ещё какую суп-культуру вроде фурей автомобилистов гетерастов а то и всех людей".
                              Ответить
                              • Хочешь сказать, что у тебя даже до поцелуйчиков никогда не заходило с парнем? Не снимали стресс друг другу, когда были студентами и жили в общаге?
                                Ответить
                              • да у тебя пидорчанка
                                Ответить
                          • > никто с тобой не спорит и не минусует
                            На доброчане был такой бан режим премодерации для неблагополучных айпишек. А может и сейчас есть...
                            Ответить
                            • а на геймдеве когда банят твои посты отправляются на ГК. Тарас по твердит.
                              Ответить
                              • Тарас - как Харон - переправляет посты с геймдева на говнокод
                                Ответить
                          • А вдруг уже ввели? А вдруг меня забанили? Люди, ау!
                            Ответить
                          • А вдруг уже ввели? А вдруг меня забанили? Люди, ау!
                            Ответить
                    • поделиться с друзьями
                      Ответить

    Добавить комментарий