Заработай до
50000$
на приглашении друзей
получить StartUp Bonus
от ИнстаФорекс
Вложений не требуется!
Начни торговлю
без вложений и риска
С новым STARTUP бонусом 1000$
Получи бонус
55%
от ИнстаФорекс
на каждое пополнение
Ответить в теме

Показаны сообщения: с 1 по 17 из 17

Тема: Написание DLL для советника на C#

 Перейти в классический вид темы
     
  1. ТОП сообщений
    2013-08-12   18:59
    Лучший ответ #1
    Накопленные выплаты 709 RUB

    Цитата Сообщение от feners Посмотреть сообщение
    А я решил на шарпе полностью с нуля написать советника и "рынок", класс которого реализовал через рандом=) ( так как не умею брать реальные котировки ). Но столкнулся с проблемой: колебания цены я добавил в отдельный поток, при этом когда я открываю ордер, у меня не получается присвоить текущую цену открытия, новой переменной.
    Я сейчас не совсем понял причем тогда здесь рынок форекс, если Вы создали класс, в котором Random возвращает Вам случайные значения, а эти же значения никак с форексом не связанны.
    Я тут накопал один англоязычный сайт, который разработал какую-то свою библиотеку, подключая которую в C# можно писать абсолютно MQL-функции открытия ордеров и т.п.
    Вот ссылка на сайт: http://www.mqlsharp.com

    2013-08-13   16:14
    Лучший ответ #2
    Накопленные выплаты 709 RUB

    Цитата Сообщение от MitraHder Посмотреть сообщение
    А чего тебя на си шарп потянуло то? Наши люди в булочную на такси не ездят! Пиши не Дельфи. Паскакаль - любимый язык советской интеллигенции. Я же только на С++ или BCPPBuilder разрабатываю. А Майкрософт принципиально в топку!
    Я также умею писать на Delphi, но дело не в этом. У меня не выходит подключить библиотеку созданную на C# в советнику на MQL4. Почему так я не знаю, возможно нужно компилировать применяя какую-то еще библиотеку. Visual Stusdio нормальная среда разработки с многими возможностями. К тому же языками основанными на Си удобнее писать.
    Ну в топку или нет это такое, как бы ни был он плох, большинство им пользуется, и Вы наверное тоже!?

    2013-08-14   10:42
    Лучший ответ #3
    Накопленные выплаты 593 RUB

    Цитата Сообщение от Ist-D Посмотреть сообщение
    Да, я компилирую с настройками по-умолчанию. Хорошо, попробую на cpp писать =) Кстати, раз уж Вы так шарите в cpp, подскажите, если не трудно, можно ли вынести целые функции, написанные на mql в dll-библиотеку? И вообще есть ли смысл, быстрее стает работать советник при тестировании или нет?
    Вынести, конечно, можно (если они не используют стандартные MQL-функции).
    Однако работать от этого ничего быстрее не будет. Обычно внешние dll-ки пишут в двух случаях:
    1) Защита кода, т.к. реверс-инжиниринг бинарной dll сильно сложнее, чем декомпиляция ex-файла.
    2) Сложные вычисления. Их в разы проще написать на плюсах, чем в MQL4.

  2. линк#1
    Частый гость
    Ist-D стараюсь положительно себя зарекомендовать Аватар для Ist-D
    Регистрация:
    20.01.2013
    Пол:
    Мужчина
    Сообщений:
    68
    Накопленные выплаты (Подробнее):
    709 RUB
    Поставил лайков:
    2
    Получено лайков:   7
    в 7 сообщениях
    10%
    ПодписатьсяПодписаться
    Подписано 0
    Приветствую, господа программисты!
    У меня такой к Вам вопрос - Как правильно написать библиотеку dll для советника на языке C#. Я написал обычную dll'ку с функцией возврата строки. Сформировал этот dll.
    Вот сам код dll на языке c#:
    C#-Код:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;

    public class MyLibrary
    {

    public static string FuncPrint(string str)
    {
    return (str+", world!");
    }
    }

    Скопировал его в папку терминала по адресу: C:\Program Files (x86)\Alpari Limited MT4\experts\samples\libraries\MyLib.dll
    Затем вызываю его в эксперте:

    PHP код:
    #import "MyLib.dll" int FuncPrint(int str);#importint start(){ int str2 = FuncPrint(1); if(str2!=0) str2=str2; else str2=-1; Alert(str2); return(0);}

    но оно выдает ошибку: cannot load library 'MyLib.dll' (error 126)

    Последний раз редактировалось Ist-D; 09.08.2013 в 19:17.

  3. PAMM
  4. линк#2
    Частый гость
    Ist-D стараюсь положительно себя зарекомендовать Аватар для Ist-D
    Регистрация:
    20.01.2013
    Пол:
    Мужчина
    Сообщений:
    68
    Накопленные выплаты (Подробнее):
    709 RUB
    Поставил лайков:
    2
    Получено лайков:   7
    в 7 сообщениях
    10%
    ПодписатьсяПодписаться
    Подписано 0
    И еще один вопросик:
    Я пишу советника, его размер достиг уже приличных размеров. Много функций я храню внутри советника, но если бы их вынести в dll, то быстродействие было бы высоким.
    Могу ли я такой код вынести в dll?
    MQL-Код:
    
    /* Функция закрытия всех ордеров в заданное время */void FuncCloseTimeOrders (bool f_close_orders, int f_day_close, int f_hour_close, int f_magic){   if(f_close_orders==true && DayOfWeek()==f_day_close && TimeHour(TimeCurrent())==f_hour_close)      {         for(int z1=0; z1<=OrdersTotal()-1; z1++)         {            string order_z1 = OrderSelect(z1, SELECT_BY_POS,MODE_TRADES);            if(OrderMagicNumber()==f_magic && OrderSymbol()==Symbol()) {                  if(OrderType()==OP_BUYSTOP)  { bool stat_del1=OrderDelete(OrderTicket()); if(stat_del1==true){Print("Ордер " + OrderTicket() +  " (BUYSTOP) был успешно удален!");} else {Print("Ордер "+OrderTicket()+" удалить не удалось"); return(0);} }                  if(OrderType()==OP_BUY)      { bool stat_cls1=OrderClose(OrderTicket(),OrderLots(),Bid  ,3,CLR_NONE); if(stat_cls1==true){Print("Ордер " + OrderTicket() +  " (BUY) был успешно закрыт!");} else{Print("Ордер "+OrderTicket()+"закрыть не удалось"); return(0);} }                  if(OrderType()==OP_SELLSTOP) { bool stat_del2=OrderDelete(OrderTicket()); if(stat_del2==true){Print("Ордер " + OrderTicket() +  " (SELLSTOP) был успешно удален!");} else{Print("Ордер "+OrderTicket()+" удалить не удалось"); return(0);} }                  if(OrderType()==OP_SELL)     { bool stat_cls2=OrderClose(OrderTicket(),OrderLots(),Ask  ,3,CLR_NONE); if(stat_cls2==true){Print("Ордер " + OrderTicket() +  " (SELL) был успешно закрыт!");} else{Print("Ордер "+OrderTicket()+"закрыть не удалось"); return(0);} }            }         }      }      if(f_close_orders==true && DayOfWeek()==f_day_close && TimeHour(TimeCurrent())>=f_hour_close) {return(0);}} 
    
    
    


  5. линк#3
    Частый гость
    Ist-D стараюсь положительно себя зарекомендовать Аватар для Ist-D
    Регистрация:
    20.01.2013
    Пол:
    Мужчина
    Сообщений:
    68
    Накопленные выплаты (Подробнее):
    709 RUB
    Поставил лайков:
    2
    Получено лайков:   7
    в 7 сообщениях
    10%
    ПодписатьсяПодписаться
    Подписано 0
    Цитата Сообщение от Ist-D Посмотреть сообщение

    Извините, немного не тот MQL-код вставил. Вот верный:
    MQL-Код:
    
    #import "MyLib.dll"string FuncPrint(string str); #import  int start() {    Alert(FuncPrint("Hello"));    return(0); } 
    
    
    

    Последний раз редактировалось Gold; 14.08.2013 в 10:26.

  6. линк#4
    Частый гость
    Одиноко
     
    feners стараюсь положительно себя зарекомендовать Аватар для feners
    Регистрация:
    08.07.2013
    Пол:
    Мужчина
    Сообщений:
    133
    Накопленные выплаты (Подробнее):
    1499 RUB
    Поставил лайков:
    50
    Получено лайков:   13
    в 13 сообщениях
    10%
    ПодписатьсяПодписаться
    Подписано 0
    А я решил на шарпе полностью с нуля написать советника и "рынок", класс которого реализовал через рандом=) ( так как не умею брать реальные котировки ). Но столкнулся с проблемой: колебания цены я добавил в отдельный поток, при этом когда я открываю ордер, у меня не получается присвоить текущую цену открытия, новой переменной.


  7. линк#5
    Частый гость
    Ist-D стараюсь положительно себя зарекомендовать Аватар для Ist-D
    Регистрация:
    20.01.2013
    Пол:
    Мужчина
    Сообщений:
    68
    Накопленные выплаты (Подробнее):
    709 RUB
    Поставил лайков:
    2
    Получено лайков:   7
    в 7 сообщениях
    10%
    ПодписатьсяПодписаться
    Подписано 0
    Цитата Сообщение от feners Посмотреть сообщение
    А я решил на шарпе полностью с нуля написать советника и "рынок", класс которого реализовал через рандом=) ( так как не умею брать реальные котировки ). Но столкнулся с проблемой: колебания цены я добавил в отдельный поток, при этом когда я открываю ордер, у меня не получается присвоить текущую цену открытия, новой переменной.
    Я сейчас не совсем понял причем тогда здесь рынок форекс, если Вы создали класс, в котором Random возвращает Вам случайные значения, а эти же значения никак с форексом не связанны.
    Я тут накопал один англоязычный сайт, который разработал какую-то свою библиотеку, подключая которую в C# можно писать абсолютно MQL-функции открытия ордеров и т.п.
    Вот ссылка на сайт: http://www.mqlsharp.com


  8. post_thanks Получено лайков: 1

    feners (12.08.2013)

  9. линк#6
    Частый гость
    Одиноко
     
    feners стараюсь положительно себя зарекомендовать Аватар для feners
    Регистрация:
    08.07.2013
    Пол:
    Мужчина
    Сообщений:
    133
    Накопленные выплаты (Подробнее):
    1499 RUB
    Поставил лайков:
    50
    Получено лайков:   13
    в 13 сообщениях
    10%
    ПодписатьсяПодписаться
    Подписано 0
    Цитата Сообщение от Ist-D Посмотреть сообщение
    Я сейчас не совсем понял причем тогда здесь рынок форекс, если Вы создали класс, в котором Random возвращает Вам случайные значения, а эти же значения никак с форексом не связанны.
    Я тут накопал один англоязычный сайт, который разработал какую-то свою библиотеку, подключая которую в C# можно писать абсолютно MQL-функции открытия ордеров и т.п.
    Вот ссылка на сайт: http://www.mqlsharp.com
    Очень интересно, особенно возможность написания кода в Visual Studio, так сказать "не отходя от кассы". А возможность работы с Intelli Sence вообще заставляет меня боготворить данный язык, но все же это не C#, а какой-то специфический MQL#. Думаю будет не сложно разобраться, учитывая мощную интерактивную справку.


  10. линк#7
    Частый гость
    Ist-D стараюсь положительно себя зарекомендовать Аватар для Ist-D
    Регистрация:
    20.01.2013
    Пол:
    Мужчина
    Сообщений:
    68
    Накопленные выплаты (Подробнее):
    709 RUB
    Поставил лайков:
    2
    Получено лайков:   7
    в 7 сообщениях
    10%
    ПодписатьсяПодписаться
    Подписано 0
    Цитата Сообщение от feners Посмотреть сообщение
    Очень интересно, особенно возможность написания кода в Visual Studio, так сказать "не отходя от кассы". А возможность работы с Intelli Sence вообще заставляет меня боготворить данный язык, но все же это не C#, а какой-то специфический MQL#. Думаю будет не сложно разобраться, учитывая мощную интерактивную справку.
    Я рад, что Вам понравилось =) Согласен, это немножко модифицированный mql для работы его в шарпе.
    Кстати, если у Вас что-то с этим выйдет, то опишите процедуру подключения этой библиотеки, и создания простейшего советника, например с функцией OrderSend. Буду благодарен Вам! =)


  11. линк#8
    V.I.P.
    no
     
    MitraHder отличная репутация MitraHder отличная репутация MitraHder отличная репутация MitraHder отличная репутация MitraHder отличная репутация MitraHder отличная репутация MitraHder отличная репутация MitraHder отличная репутация MitraHder отличная репутация MitraHder отличная репутация MitraHder отличная репутация Аватар для MitraHder
    Регистрация:
    15.01.2011
    Пол:
    Мужчина
    Сообщений:
    10,701
    Накопленные выплаты (Подробнее):
    177815 RUB
    Поставил лайков:
    6,935
    Получено лайков:   7,174
    в 3,828 сообщениях
    67%
    ПодписатьсяПодписаться
    Подписано 0
    Цитата Сообщение от Ist-D Посмотреть сообщение
    написать библиотеку dll для советника на языке C#.
    А чего тебя на си шарп потянуло то? Наши люди в булочную на такси не ездят! Пиши не Дельфи. Паскакаль - любимый язык советской интеллигенции. Я же только на С++ или BCPPBuilder разрабатываю. А Майкрософт принципиально в топку!


  12. линк#9
    Частый гость
    Ist-D стараюсь положительно себя зарекомендовать Аватар для Ist-D
    Регистрация:
    20.01.2013
    Пол:
    Мужчина
    Сообщений:
    68
    Накопленные выплаты (Подробнее):
    709 RUB
    Поставил лайков:
    2
    Получено лайков:   7
    в 7 сообщениях
    10%
    ПодписатьсяПодписаться
    Подписано 0
    Цитата Сообщение от MitraHder Посмотреть сообщение
    А чего тебя на си шарп потянуло то? Наши люди в булочную на такси не ездят! Пиши не Дельфи. Паскакаль - любимый язык советской интеллигенции. Я же только на С++ или BCPPBuilder разрабатываю. А Майкрософт принципиально в топку!
    Я также умею писать на Delphi, но дело не в этом. У меня не выходит подключить библиотеку созданную на C# в советнику на MQL4. Почему так я не знаю, возможно нужно компилировать применяя какую-то еще библиотеку. Visual Stusdio нормальная среда разработки с многими возможностями. К тому же языками основанными на Си удобнее писать.
    Ну в топку или нет это такое, как бы ни был он плох, большинство им пользуется, и Вы наверное тоже!?


  13. post_thanks Получено лайков: 1

    feners (05.09.2013)

  14. линк#10
    Частый гость
    fantomius стараюсь положительно себя зарекомендовать Аватар для fantomius
    Регистрация:
    14.02.2013
    Пол:
    Мужчина
    Сообщений:
    95
    Накопленные выплаты (Подробнее):
    593 RUB
    Поставил лайков:
    3
    Получено лайков:   29
    в 29 сообщениях
    31%
    ПодписатьсяПодписаться
    Подписано 0
    А Вы компилируете С# сразу в нативный код или с настройками по умолчанию? Если по умолчанию, то создается не бинарная dll, а специальный файл на некоем общем для .net платформы языке. Подключить его к mt4 просто так не получиться. В данном случае ИМХО проще на плюсах написать.

    Профессиональный программист. Опыт: C++ - 7 лет; MQL4 - 1.5 года. Обучаю программированию (Базовые принципы + MQL4). Собственный видеокурс, возможность индивидуального обучения. По всем вопросам - в личку, либо на сайте - http://tradeprogramming.com

  15. линк#11
    Частый гость
    Ist-D стараюсь положительно себя зарекомендовать Аватар для Ist-D
    Регистрация:
    20.01.2013
    Пол:
    Мужчина
    Сообщений:
    68
    Накопленные выплаты (Подробнее):
    709 RUB
    Поставил лайков:
    2
    Получено лайков:   7
    в 7 сообщениях
    10%
    ПодписатьсяПодписаться
    Подписано 0
    Цитата Сообщение от fantomius Посмотреть сообщение
    А Вы компилируете С# сразу в нативный код или с настройками по умолчанию? Если по умолчанию, то создается не бинарная dll, а специальный файл на некоем общем для .net платформы языке. Подключить его к mt4 просто так не получиться. В данном случае ИМХО проще на плюсах написать.
    Да, я компилирую с настройками по-умолчанию. Хорошо, попробую на cpp писать =) Кстати, раз уж Вы так шарите в cpp, подскажите, если не трудно, можно ли вынести целые функции, написанные на mql в dll-библиотеку? И вообще есть ли смысл, быстрее стает работать советник при тестировании или нет?


  16. линк#12
    Частый гость
    fantomius стараюсь положительно себя зарекомендовать Аватар для fantomius
    Регистрация:
    14.02.2013
    Пол:
    Мужчина
    Сообщений:
    95
    Накопленные выплаты (Подробнее):
    593 RUB
    Поставил лайков:
    3
    Получено лайков:   29
    в 29 сообщениях
    31%
    ПодписатьсяПодписаться
    Подписано 0
    Цитата Сообщение от Ist-D Посмотреть сообщение
    Да, я компилирую с настройками по-умолчанию. Хорошо, попробую на cpp писать =) Кстати, раз уж Вы так шарите в cpp, подскажите, если не трудно, можно ли вынести целые функции, написанные на mql в dll-библиотеку? И вообще есть ли смысл, быстрее стает работать советник при тестировании или нет?
    Вынести, конечно, можно (если они не используют стандартные MQL-функции).
    Однако работать от этого ничего быстрее не будет. Обычно внешние dll-ки пишут в двух случаях:
    1) Защита кода, т.к. реверс-инжиниринг бинарной dll сильно сложнее, чем декомпиляция ex-файла.
    2) Сложные вычисления. Их в разы проще написать на плюсах, чем в MQL4.

    Профессиональный программист. Опыт: C++ - 7 лет; MQL4 - 1.5 года. Обучаю программированию (Базовые принципы + MQL4). Собственный видеокурс, возможность индивидуального обучения. По всем вопросам - в личку, либо на сайте - http://tradeprogramming.com

  17. post_thanks Получено лайков: 1

    Ist-D (14.08.2013)

  18. линк#13
    Частый гость
    Ist-D стараюсь положительно себя зарекомендовать Аватар для Ist-D
    Регистрация:
    20.01.2013
    Пол:
    Мужчина
    Сообщений:
    68
    Накопленные выплаты (Подробнее):
    709 RUB
    Поставил лайков:
    2
    Получено лайков:   7
    в 7 сообщениях
    10%
    ПодписатьсяПодписаться
    Подписано 0
    Цитата Сообщение от fantomius Посмотреть сообщение
    Вынести, конечно, можно (если они не используют стандартные MQL-функции).
    Однако работать от этого ничего быстрее не будет. Обычно внешние dll-ки пишут в двух случаях:
    1) Защита кода, т.к. реверс-инжиниринг бинарной dll сильно сложнее, чем декомпиляция ex-файла.
    2) Сложные вычисления. Их в разы проще написать на плюсах, чем в MQL4.
    Спасибо я понял =) Я как раз и спрашивал. о том, можно ли вынести в cpp стандартные mql-ные функции. Но по идеи ведь применение библиотеки должно ускорять работу, ведь написанные функции в них, вызываются лишь тогда, когда идет к обращение к ним, т.е. они не висят постоянно в оперативной памяти, это уже экономия ресурсов.


  19. линк#14
    Частый гость
    fantomius стараюсь положительно себя зарекомендовать Аватар для fantomius
    Регистрация:
    14.02.2013
    Пол:
    Мужчина
    Сообщений:
    95
    Накопленные выплаты (Подробнее):
    593 RUB
    Поставил лайков:
    3
    Получено лайков:   29
    в 29 сообщениях
    31%
    ПодписатьсяПодписаться
    Подписано 0
    Цитата Сообщение от Ist-D Посмотреть сообщение
    Спасибо я понял =) Я как раз и спрашивал. о том, можно ли вынести в cpp стандартные mql-ные функции. Но по идеи ведь применение библиотеки должно ускорять работу, ведь написанные функции в них, вызываются лишь тогда, когда идет к обращение к ним, т.е. они не висят постоянно в оперативной памяти, это уже экономия ресурсов.
    Ох, если бы это было так, то Ваши программы тормозили бы просто невероятно. На самом деле dll-ка загружается в адресное пространство процесса при старте и живет там. Когда её скинуть в swap-файл, а когда снова подргузить решает сама винда по своим хитрым алгоритмам. Я честно говоря время не засекал, но практически уверен, что всю экономию в работе съедят накладные расходы на работу с dll-кой.

    ---------- Сообщение добавлено в 11:04 ---------- Предыдущее сообщение размещено в 11:03 ----------

    Но опять-таки все зависит от того, что Вы рассчитываете :-) Если это решение диффура - возможно и стоит ;-)

    Профессиональный программист. Опыт: C++ - 7 лет; MQL4 - 1.5 года. Обучаю программированию (Базовые принципы + MQL4). Собственный видеокурс, возможность индивидуального обучения. По всем вопросам - в личку, либо на сайте - http://tradeprogramming.com

  20. линк#15
    Частый гость
    Ist-D стараюсь положительно себя зарекомендовать Аватар для Ist-D
    Регистрация:
    20.01.2013
    Пол:
    Мужчина
    Сообщений:
    68
    Накопленные выплаты (Подробнее):
    709 RUB
    Поставил лайков:
    2
    Получено лайков:   7
    в 7 сообщениях
    10%
    ПодписатьсяПодписаться
    Подписано 0
    Цитата Сообщение от fantomius Посмотреть сообщение
    Ох, если бы это было так, то Ваши программы тормозили бы просто невероятно. На самом деле dll-ка загружается в адресное пространство процесса при старте и живет там. Когда её скинуть в swap-файл, а когда снова подргузить решает сама винда по своим хитрым алгоритмам. Я честно говоря время не засекал, но практически уверен, что всю экономию в работе съедят накладные расходы на работу с dll-кой.

    ---------- Сообщение добавлено в 11:04 ---------- Предыдущее сообщение размещено в 11:03 ----------

    Но опять-таки все зависит от того, что Вы рассчитываете :-) Если это решение диффура - возможно и стоит ;-)

    Вот теперь точно понял =) Ну на винду особо надеяться точно не нужно... ) В таком случае, при написании советника, лучше как можно продумать и минимизировать код, прежде чем перейти к циклу, лучше сделать проверку определенного условия... и т.п.


  21. линк#16
    В начале пути
    cherik1 стараюсь положительно себя зарекомендовать Аватар для cherik1
    Регистрация:
    15.07.2020
    Пол:
    Мужчина
    Сообщений:
    12
    Накопленные выплаты (Подробнее):
    0 RUB
    Поставил лайков:
    1
    Поблагодарили 1 раз в
    1 сообщении
    8%
    ПодписатьсяПодписаться
    Подписано 0
    Цитата Сообщение от fantomius Посмотреть сообщение
    А Вы компилируете С# сразу в нативный код или с настройками по умолчанию? Если по умолчанию, то создается не бинарная dll, а специальный файл на некоем общем для .net платформы языке. Подключить его к mt4 просто так не получиться. В данном случае ИМХО проще на плюсах написать.
    Здравствуйте у вас получилось правильно компилировать dll? Подскажите пожалуйста как?в vs это можно сделать?


  22. PAMM
  23. линк#17
    Кандидат форумных наук
    MonyaMaker хорошая репутация MonyaMaker хорошая репутация MonyaMaker хорошая репутация MonyaMaker хорошая репутация MonyaMaker хорошая репутация MonyaMaker хорошая репутация Аватар для MonyaMaker
    Регистрация:
    03.04.2017
    Пол:
    Мужчина
    Сообщений:
    1,751
    Накопленные выплаты (Подробнее):
    61806 RUB
    Поставил лайков:
    284
    Получено лайков:   674
    в 604 сообщениях
    38%
    ПодписатьсяПодписаться
    Подписано 0
    Цитата Сообщение от cherik1 Посмотреть сообщение
    Здравствуйте у вас получилось правильно компилировать dll? Подскажите пожалуйста как?в vs это можно сделать?
    Тут с ответом задержка будет, последнее сообщение от 14.08.2013 11:13.
    Зайди еще на метаквотовский форум, там по теме тоже есть обсуждения.



Подписанные на тему (2)

Открыть

Похожие темы

  1. Написание программ на mql4 под заказ
    от Viper70 в разделе Доска объявлений
    Replies: 181
    Последнее сообщение: 08.09.2018, 16:00
  2. Написание индикатора TMA
    от Товарищ TraDeR в разделе MQL-программирование, АТС
    Replies: 1
    Последнее сообщение: 07.02.2013, 09:52
  3. оплачу написание индикатора
    от boda в разделе Доска объявлений
    Replies: 0
    Последнее сообщение: 19.02.2012, 14:23
  4. Написание механической торговой системы
    от a-usov в разделе MQL-программирование, АТС
    Replies: 1
    Последнее сообщение: 15.02.2012, 22:54
  5. Написание статей и аналитических обзоров
    от Камиль Геннадьевич в разделе Доска объявлений
    Replies: 0
    Последнее сообщение: 28.04.2011, 19:20