Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?
Августа 10, 2022, 08:35:43 pm
Начало Помощь Поиск Войти Регистрация
Новости:

Просмотр сообщений

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - nikolz

Pages: 1 [2] 3 4 ... 19
16
вот кажется была снята заявка - но не могу найти причину в таблице...

и еще - как писать правильно в кавычках или нет

if (status == OS_MATCHED)

или

if (status == "OS_MATCHED")
Надо писать так:
if (status == OS_MATCHED)
status - это код состояния,
OS_MATCHED - это имя константы


17
Действительно, не Олег!
Пардон, ошибся адресом.

18
Олег!
Вот выдержка тарифного плана Открытия:
тариф "Инвестор+" :
 (Объем трейда) до 500 тыс. руб. 65 руб. за трейд 13,14% годовых
0,036% в день от 500 тыс. руб. 0,013% от объема трейда

Примечание: Трейд - совокупность сделок в торговой системе, заключенных в результате исполнения одной заявки клиента.


Таким образом, я ранее Вам писал, что комиссия берется за трейд( исполнение заяки) , а не за сделки. Не важно одна или тысяча сделок.
Успехов

19
Подсистема ATF / Re: Ваше мнение
« on: Июля 09, 2011, 10:17:46 pm »
Добрый день, Олег!

Все познается в сравнении.

  Для сравнения возьмем правильный
                       скриптовый язык AFL в Амиброкере

 Например,
        Вы хотите запрограммировать следующий алгоритм торговли:

  Купить, если быстрый мувинг пересек медленный снизу вверх.
  Продать, если быстый мувинг пересек медленный сверху вниз.
 Период быстрого равен 10, а медленного равен 100.


На AFT это запишется так:
     LongMA = EMA( Close, 100 );  //медленный мувинг
     ShortMA = EMA( Close, 10 );  //быстрый мувинг
     Buy = Cross( ShortMA, LongMA);  //сигнал купить
     Sell = Cross( LongMA, ShortMA);  //сигнал продать

и все.

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

    Обращаю Ваше внимание нет никаких лишних слов типа "var" или "array",
Но реализуется обработка всех значений close.

    Если у вас есть желание программировать циклы и условные операторы, то это тоже можно делать но будет медленно ( как в АTF).

   А если я хочу еще быстрее сделать
   или подключить другие библиотеки на C++,VBA
   или взять данные из excel или подключить Matlab
    и т д, то есть API для "академиков"


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

   Что касается языка "для академиков" то в посте Развитие ATF" об этом написано на анг.языке.

  И еще,  Я считаю, что "Хороший язык тот, на котором Вы можете мыслить".


Неподготовленный пользователь мыслит на родном языке  - это хороший язык, и в идеале скриптовый язык для программирования в предметной области должен быть похож на родной язык пользователя.
 
     Кроме того, должен быть API для "академиков", на тот случай если возникнет желание увеличить быстродействие программы в 100 раз или создать систему искусственного интеллекта для торговли на бирже.
 
Если что-то не знаешь,
                 это еще не повод,
                             чтобы этим гордится.

20
Подсистема ATF / Ваше мнение
« on: Июля 09, 2011, 09:57:24 am »
Уважаемые разработчики и пользователи ATF!
    В порядке дискуссии, хочу обратить Ваше внимание на следующие обстоятельства в развитии ATF.
Вот уже второй год я наблюдаю, порой участвую в обсуждении  вопросов использования языка ATF.
    Два раза начинал разрабатывать торговые системы на нем ,  но  ,достигнув определенного предела в возможностях языка, прекращал в ожидании развития недостающих средств.

Начну от печки.
   В период моего начального знакомства с еще не развитым языком ATF, я сетовал на ограниченность его возможностей ,
 в том числе на отсутствие средств создания мультифайловых программ,
 а также API для подключения библиотек сторонних разработчиков или внедрение  COM объектов.(эти ограничения так и остались)

    На форуме мне объяснили, что ATF – это язык для не профессиональных разработчиков программ, поэтому он такой ограниченный.
       Мол для профессионалов есть TransaqConnector ( TransaqConnector - это отдельная песня).

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

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

   В настоящее время, язык ATF все больше усложняется. Появились понятия объекты (array, hash,file), структуры.

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

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

   Предлагаю Вам вновь попытаться ответить на начальный вопрос.
 На какой уровень подготовки рассчитан создаваемый язык программирования ATF.

    В какой школе учат технологии разработки  торговых алгоритмов,
 а в какой – кодированию этих алгоритмов на ATF ?

Ваш язык программирования достиг такого уровня сложности,  
когда неподготовленный  пользователь (таких среди частных инвесторов большинство),
без специальной подготовки
   не может создать реально работающего торгового робота,
     по причине отсутствия надлежащих знаний,
а профессионал –не может создать торгового робота,
    по причине отсутствие современных технологий
 разработки и отладки алгоритмов и программ в языке ATF .

  Что же имеем в реалии.
     В настоящее время ATF - это абстрактный язык описания предметной области (биржевой торговли) в терминах и понятиях языка программирования C++.

    Итак вопрос остался - на какой уровень знаний рассчитан данный язык.

   Мое мнение - это уже язык не для неподготовленного пользователя, но еще и не язык для профи.

Может быть пора задуматься над этим?
  

Ваше мнение.

21
Подсистема ATF / Re: Развитие ATF
« on: Июля 08, 2011, 08:45:03 pm »
Heller!
Еще два момента
1) Почему бы не использовать технологию COM ?
2) Как вариант,  могу предложить свои услуги
по разработке модуля для подключения dll
или реализацию технологии COM в ATF



22
Подсистема ATF / Re: Развитие ATF
« on: Июля 08, 2011, 02:15:35 pm »
Heller!
Что скажите о таком варианте(кратко):
INTRODUCTION
TRANSAQ plug-in DLLs are regular Win32 dynamic link libraries.
•   ATF plugins
•   Optimizer plugins
The ATF plugins can expose unlimited number of functions to the ATF engine. The functions provided by the plugin are integrated tightly with ATF engine so there is no difference in performance or functionality between built-in functions and the ones provided by the plug-in.
   The plug-ins can be created in any language that meets the following requirements:
•   ability to build regular API-like 32bit or 64 bit Windows DLL (non ActiveX/COM)
•   support for user defined datatypes, structures and unions
•   support for pointer data type, pointers to functions, calling functions by pointer
•   support for _cdecl calling convention
Visual C++ 6.0 was used to create all source code examples in the TRANSAQ Development Kit. However you can use other development platform and/or language. To demonstrate this ATF plugin examples include also project (.dev) files for Bloodshed DevC++ package (http://www.bloodshed.net). DevC++ is a FREE development package that can be used to build plugins for TRANSAQ. It produces slightly larger binaries than VisualC++ but other than that it is fully compatible. To compile ATF samples just install DevC++ package and then double click on supplied .dev file, then choose Execute->Compile from DevC++ IDE.
Note to Delphi users: Delphi does not support returning 8 byte structures by register so this is an obstacle in developing plugins in Delphi.
INTERFACE ARCHITECTURE
Plugin interface is designed to be as simple as possible. ATF plugins need to export just 5 functions to be fully functional. The simplest data plugin needs only 4 functions. The full definition of interface is included in Plugin.h header file and below you will find all necessary information to get going with the development.
1.2.1 Background
To provide maximum flexibility TRANSAQs plug-in interface must provide the methods for two-way communications between TRANSAQ and plugin. TRANSAQ as the process that loaded the DLL can call the functions exported by the DLL but also the DLL has to have a way to call back TRANSAQ functions. For this purpose TRANSAQ provides a "site interface" which is a structure containing function pointers that can be used to call back internal TRANSAQ code. Data plugins have also ability to send messages to TRANSAQ main window notifying about the updates.
Each plugin DLL must export at least one function called GetPluginInfo(). DLLs without this function are ignored by TRANSAQ. GetPlugin info function provides basic information about the plugin needed by TRANSAQ to access all remaining functions.
When TRANSAQ starts (or when a "Load" button is pressed in the Plugins window) the following things happen:
•   "Plugins" folder is scanned for the files with .DLL extension
•   each DLL file is examined if it exports GetPluginInfo() function. If there is no such function, this DLL is not a valid TRANSAQ plugin. If GetPluginInfo() function is found, it is called to examine the name and properties of the plug-in. After successful check the DLL is added to the TRANSAQ's internal plugin table. At this stage the type of the plugin is determined. From then on ATF plugins are treated differently than data plugins (different functions are called)
After this step DLL is loaded but waits for the second initialization phase.
For ATF plugins this second initialization phase happens when ATF engine starts for a very first time initializing its function table. Then TRANSAQ performs the following operations:
•   TRANSAQ calls SetSiteInterface() function exported by the plug in. The site interface is used later in DLL for calling back various TRANSAQ functions (including allocating/freeing memory, reading/writing ATF variables, calling back ATF functions)
•   TRANSAQ calls Init() function from the plug in DLL that should be used for initializing working variables/allocating extra memory if necessary
•   TRANSAQ calls GetFunctionTable() from the plug in DLL. In this step the ATF functions provided by the DLL are added to the internal TRANSAQ dispatch tables allowing futher calls of these functions.
For Data plugins the second initialization phase happens when given data source is selected for the very first time in current TRANSAQ session. Then TRANSAQ just calls Init() function from the plugin that should be used for initializing working variables/allocating extra memory if necessary. No other function is called for data plugins at this time.
After such initialization process the plugin is ready to be used. Next actions depend on type of the plugin.
For ATF plugins if any external function call is included in the formula being parsed by ATF engine, TRANSAQ finds appropriate pointer to the function in its dispatch table and calls either internal code or the code found in one of the plug-in DLLs.
For Data plugins TRANSAQ may call different functions descibed in Data plugin section of this document.
The final stage is performed when TRANSAQ exits:
•   for each plug-in DLL Release() function is called which should release all the resources allocated via Init() call in the second phase.

23
Подсистема ATF / Re: Развитие ATF
« on: Июля 08, 2011, 11:53:29 am »
Осталось лишь реализовать и мощь ATF будет безгранична

24
Подсистема ATF / Re: Развитие ATF
« on: Июля 08, 2011, 11:46:35 am »
Добрый день,Heller!
На этапе трансляции
Вам известна вся информация о вызываемых функциях
она содежится в параметрах вызова  

Вызов функции из DLL библиотеки.
в вызве DllCall ( "dll", "return type", "function" [, "type1", param1 [, "type n", param n]] )
Вам известно имя функции,
 число параметров,
требуемый тип каждого из передаваемых параметров

Вы знаете, какой тип передаваемого в функцию у Вас внутри ATF
и по вызову знаете какой тип нужен функции

Таким образом на этапе трансляции вся информация известна.

25
Подсистема ATF / Re: Развитие ATF
« on: Июля 07, 2011, 05:19:31 pm »
Heller!
Как Вам такой вариант( основа - AutoIt)
Вызов функции DLL библиотеки.
DllCall ( "dll", "return type", "function" [, "type1", param1 [, "type n", param n]] )
Параметры
dll   Название DLL, например, "user32.dll".
return type   Тип возвращаемого значения функции. См. ниже.
function   Название функции DLL, например, "MessageBox", или ее порядковый номер, например 62, в вызываемой библиотеке
type   [опциональный] Тип папаметра. См. Замечания.
param   [опциональный] Значение параметра. См. Замечания.
Замечания
Если в качестве параметра dll указано название файла, то библиотека автоматически будет загружена и закрыта DLL сразу после вызова функции.
Если требуется вручную управлять загрузкой и выгрузкой файла DLL библиотеки, то следует использовать функции DllOpen и DllClose,
а в качестве параметра dll указать идентификатор библиотеки вместо названия файла.
По умолчанию используется так называемый 'stdcall' способ вызова функции.
Чтобы применить 'cdecl' вызов требуется поместить выражение ':cdecl' вслед за типом возвращаемого значения. Например,
DllCall("SQLite.dll", "int:cdecl", "sqlite3_open", "str", $sDatabase_Filename , "long_ptr", 0).
При вызове можно указать любое количество типов (types) и параметров (param). См. ниже пример использования нескольких параметров.
Используются следующий типы:
•   none - не имеет значения. Используется только для типа возвращаемого значения. Совпадает с void языка C.
•   byte - 8-ми битовое целое
•   ubyte - 8-ми битовое целое без знака
•   short - 16-ти битовое целое
•   ushort - 16-ти битовое целое без знака
•   dword - 32-х битовое целое
•   udword - 32-х битовое целое без знака
•   int - 32-ти битовое целое
•   uint - 32-ти битовое целое без знака
•   long - 32-ти битовое целое
•   short_ptr - указатель на 16-ти битовое целое
•   int_ptr - указатель на 32-ти битовое целое
•   long_ptr - указатель на 32-ти битовое целое
•   str - строка
•   wstr - строка широких символов (преобразуется в/из ANSI строки при вызове)
•   hwnd - внутренний идентификатор окна
•   ptr - абстрактный указатель (void *)
•   float - действительное с плавающей запятой одинарной точности
При удачном выполнении возвращается массив, который содержит возвращаемое функцией значение вместе с копией всех параметров, включая те, которые были изменены вызовом функции.
•   $return[0] = function return value
•   $return[1] = param1
•   $return[2] = param2
•   ...
•   $return[n] = paramn

Примечание: можно вернуть лишь значение а не массив

Пример 1 - прямой вызов MessageBox из API
$result = DllCall("user32.dll", "int", "MessageBox", "hwnd", 0, "str", "Some text", "str", "Some title", "int", 0)

   В ATF при трансляции  функции DllCall  , передаваемые в вызываемую функцию параметры преобразуются к указанному в вызове виду .

26
Подсистема ATF / Re: Развитие ATF
« on: Июля 07, 2011, 01:24:43 pm »
Пример:
1) Передаем в функцию указатель на массив close,
 его длину и номер последнего значения.
2) Возвращаем из функции текущее значение индикатора

Получаем возможность быстро рассчитывать сложные индикаторы и генераторы сигналов

27
Подсистема ATF / Re: Развитие ATF
« on: Июля 07, 2011, 08:04:02 am »
Добрый день,Heller!

Хочу услышать Ваше мнение по следующему вопросу:

  Предлагаю реализовать возможность подключения внешних библиотек пользователя следующим образом:
1) Библиотеки создаются по соглашениям C или C++, передаваемые параметры тип double или указатель
2) В ATF реализуется оператор "Myfunc" :
  Myfunc(path, Namefun,var,var,,,,&var);
 path - "путь к библиотеке"
Namefun-"имя функции"
 или &Namefun - если функция возвращает значение
var  - указывается если параметр передается по значению
&var - указывается, если параметр передается по ссылке (хеш,массив,линия,буфер);

  В программе ATF,
 обращение к функции определяется обычным образом:

Например:

Myfunc("C:MyLib.dll","&robot,var,var); //описание функции
var x1=10; var x2=5;  //передаваемые в функцию значения переменных
var y=robot(x1,x2);   //обращение к функции

  Так как механизм подключения DLL на уровне Cи(С++)
достаточно прост,  
предполагаю,
что реализация функции "Myfunc" в ATF
у Вас не займет много времени ,
а открывающихся возможностей
с появлением ее в ATF бесконечное множество.

Кроме того, большинство индикаторов можно вынести в такие библиотеки и подключать их на стадии компиляции ATF программы.



28
Подсистема ATF / Re: Редактор SciTE
« on: Июля 06, 2011, 09:03:36 pm »
Я использую две настройки в первой автоматом подсветка QPILE,
во втором - Autoit
можно взять любую например C++ и ее отредактировать под требуемый язык
настройка определяется по расширению
Какую надо
Для ATF я не делал так как невозможно подхватывать из транзака, а каждый раз перезагружать не интересно
с С++ я работаю в студии (MVC) там свой редактор

Если будете писать на Autoit, то на сайте выложен редактор с настройкой под Autoit

29
Подсистема ATF / Re: Редактор SciTE
« on: Июля 06, 2011, 08:59:10 pm »
можно,
но подробно ответить не могу,
давно настраивал, надо вспоминать.
если найду инструкцию,то выложу

30
nxz!
Я тоже диплом делал - 2 кг перфокарт прикладывал к пояснительной записке

Pages: 1 [2] 3 4 ... 19


Войти

Powered by MySQL Powered by PHP Powered by SMF 2.0.10 | SMF © 2006-2008, Simple Machines LLC Valid XHTML 1.0! Valid CSS!