Список форумов AmiSite.ru AmiSite.ru
Форум по Ами
 FAQ  •  Поиск  •  Пользователи  •  Группы   •  Регистрация  •  Профиль  •  Войти и проверить личные сообщения  •  Вход
 Подключение внешней dll Следующая тема
Предыдущая тема
Начать новую тему  Ответить на тему
Автор Сообщение
cm_s



Зарегистрирован: 04.10.2011
Сообщения: 7

СообщениеДобавлено: Вт Окт 09, 2012 7:10 am Ответить с цитатой Вернуться к началу

Добрый день!

Как в AmiBroker подключить внешнюю dll?

Сделана простая ClassLibrary1.dll
public class Class1
{
public double InvertValue( double value )
{
return -value;
}
}

Как в AmiBroker использовать функцию InvertValue()?

Помещаю ClassLibrary1.dll в AmiBroker\Plugins, но AmiBroker ее не видит в Tools -> Plug-ins...
Посмотреть профиль Отправить личное сообщение
Mechanic



Зарегистрирован: 10.06.2008
Сообщения: 359

СообщениеДобавлено: Вт Окт 09, 2012 9:19 am Ответить с цитатой Вернуться к началу

dll для Ами должна отвечать определённым требованиям - экспортировать 5 обязательных функций, функции должны возвращать значение типа AmiVar и т.д. Скачайте с официального сайта AmiBroker Development Kit, там всё написано.
Посмотреть профиль Отправить личное сообщение ICQ Number
Li2n



Зарегистрирован: 22.11.2012
Сообщения: 3

СообщениеДобавлено: Ср Ноя 28, 2012 2:45 pm Ответить с цитатой Вернуться к началу

Прошу прощения за беспокойство.
Сделал и обучил нейросеть в Neurosolutions, входных параметров 39, выходной 1.
Скомпелировал dll в С++6.0.
А теперь не знаю как это все подключить к амиброкеру.
вот сама скомпилированая нейросеть.
Посмотреть профиль Отправить личное сообщение
spitfire



Зарегистрирован: 29.04.2010
Сообщения: 729
Откуда: Moscow

СообщениеДобавлено: Ср Ноя 28, 2012 2:47 pm Ответить с цитатой Вернуться к началу

Вирусня детектед Smile
Посмотреть профиль Отправить личное сообщение ICQ Number
Li2n



Зарегистрирован: 22.11.2012
Сообщения: 3

СообщениеДобавлено: Ср Ноя 28, 2012 2:54 pm Ответить с цитатой Вернуться к началу

хы....у меня нод.
zip надо переименовать в rar
и
использовал эту статью
http://www.mql5.com/ru/articles/236
Посмотреть профиль Отправить личное сообщение
000
Site Admin


Зарегистрирован: 10.12.2007
Сообщения: 8816

СообщениеДобавлено: Ср Ноя 28, 2012 4:52 pm Ответить с цитатой Вернуться к началу

Не. К Ами dll делаются не так. Там написано как делать dll для метатрейдера.
Для Ами плагины делаются по другому совсем
http://amibroker.com/bin/ADK.exe
Этот плагин к ами никак не подключить.

_________________
ceterum censeo carthaginem esse delendam
Удачи. Олег.
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Li2n



Зарегистрирован: 22.11.2012
Сообщения: 3

СообщениеДобавлено: Ср Ноя 28, 2012 5:41 pm Ответить с цитатой Вернуться к началу

Совсем никак не прикрутить? Да же, через промежуточный DLL?
Посмотреть профиль Отправить личное сообщение
Mechanic



Зарегистрирован: 10.06.2008
Сообщения: 359

СообщениеДобавлено: Ср Ноя 28, 2012 9:39 pm Ответить с цитатой Вернуться к началу

Через промежуточный - можно, конечно. Пишите плагин к АмиБрокеру, в нём создаёте функцию, которая будет вызывать другую функцию уже из этой вашей длл, передавать ей параметры, получать возвращаемый результат и т.д. В общем, геморрой тот ещё. Проще продублировать код этой нейросети прямо в плагине и работать с ним из Ами напрямую.
Посмотреть профиль Отправить личное сообщение ICQ Number
BRTO



Зарегистрирован: 01.03.2009
Сообщения: 105

СообщениеДобавлено: Чт Сен 19, 2013 1:44 pm Ответить с цитатой Вернуться к началу

А может кто-нибудь дать какой-нибудь работающий пример проекта плагина для Visual Studio 2010? В ADK примеры для Visual Studio 2008.
Посмотреть профиль Отправить личное сообщение
Mechanic



Зарегистрирован: 10.06.2008
Сообщения: 359

СообщениеДобавлено: Чт Сен 19, 2013 11:15 pm Ответить с цитатой Вернуться к началу

BRTO писал(а):
А может кто-нибудь дать какой-нибудь работающий пример проекта плагина для Visual Studio 2010? В ADK примеры для Visual Studio 2008.

А какая разница? Открывайте его в 2010, он автоматически проапгрейдится.
Посмотреть профиль Отправить личное сообщение ICQ Number
BRTO



Зарегистрирован: 01.03.2009
Сообщения: 105

СообщениеДобавлено: Чт Сен 19, 2013 11:45 pm Ответить с цитатой Вернуться к началу

Mechanic писал(а):
BRTO писал(а):
А может кто-нибудь дать какой-нибудь работающий пример проекта плагина для Visual Studio 2010? В ADK примеры для Visual Studio 2008.

А какая разница? Открывайте его в 2010, он автоматически проапгрейдится.

Что-то не открывается, говорит про какие-то ошибки

Mechanic, если не затруднит, можно небольшую инструкцию по созданию плагинов?
Посмотреть профиль Отправить личное сообщение
Mechanic



Зарегистрирован: 10.06.2008
Сообщения: 359

СообщениеДобавлено: Пт Сен 20, 2013 12:43 am Ответить с цитатой Вернуться к началу

А что именно непонятно? Как создать проект в студии или как вообще устроена длл для Ами? Если второе, то отсылаю к АДК, там всё расписано.
Посмотреть профиль Отправить личное сообщение ICQ Number
BRTO



Зарегистрирован: 01.03.2009
Сообщения: 105

СообщениеДобавлено: Вт Сен 24, 2013 3:47 pm Ответить с цитатой Вернуться к началу

Mechanic писал(а):
А что именно непонятно? Как создать проект в студии или как вообще устроена длл для Ами? Если второе, то отсылаю к АДК, там всё расписано.

Действительно, разобрался Cool
Но вот хорошо бы пример функции, принимающей строку - например, путь до файла Rolling Eyes
Посмотреть профиль Отправить личное сообщение
Mechanic



Зарегистрирован: 10.06.2008
Сообщения: 359

СообщениеДобавлено: Ср Сен 25, 2013 4:22 pm Ответить с цитатой Вернуться к началу

Файл Functions.cpp:

Код:
#include "stdafx.h"
#include "Plugin.h"

AmiVar MyString(int NumArgs, AmiVar *ArgsTable )
{
    char * szString = ArgsTable[0].string;

    AmiVar result;
    result.type = VAR_STRING;
    result.string = szString;
   
    return result;
}

// ****************************************************************************************************
//                                         ТАБЛИЦА ФУНКЦИЙ ПЛАГИНА
// ****************************************************************************************************

// в таблице перечисляются все функции, которые должны быть доступны из АмиБрокера в следующем формате:
// "FunctionName(tooltip, tooltip)", {FunctionPtr, <no. of array args>, <no. of string args>, <no. of float args>, <no. of default args>, <pointer to default values table float *>

FunctionTag gFunctionTable[] =
{
    "MyString(some string)", {MyString, 0, 1, 0, 0, NULL}
};

int gFunctionTableSize = sizeof(gFunctionTable ) / sizeof(FunctionTag);


Функция ничего не делает, просто возвращает ту же строку, которую ей была передана в качестве аргумента. В гуру-комментарии пишите:

Код:
MyString("blah-blah");


и в окне вывода это же и увидите.
Посмотреть профиль Отправить личное сообщение ICQ Number
BRTO



Зарегистрирован: 01.03.2009
Сообщения: 105

СообщениеДобавлено: Ср Сен 25, 2013 9:57 pm Ответить с цитатой Вернуться к началу

Mechanic
Огромное спасибо! Работает!
Smile
Посмотреть профиль Отправить личное сообщение
Показать сообщения:      
Начать новую тему  Ответить на тему


 Перейти:   



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


Powered by phpBB © 2001, 2002 phpBB Group :: FI Theme :: Часовой пояс: GMT + 3

File Attachment © by Meik Sievertsen