С Новым годом! Форум программистов, компьютерный форум, киберфорум
Visual C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
palat

Statistica 6 и dll на C++

26.04.2011, 23:53. Показов 1621. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте! Вытаскиваю массив из MetaTrader 4, потом обрабатываю его в dll на C++, подключаю dll'ки от Statistica 6 ( #import "statist.exe", #import "sta_TRE.dll"), из массива строю исходную таблицу, затем провожу ее анализ(строю деревья классификаций). После запуска эксперта происходит обработка, потом открывается Statistica 6 и выводит результаты анализа в таблице результатов. Вопрос в том, как вытащить значения из этой таблицы результатов. Понимаю что есть два способа 1) Сделать таблицу активной и обратится к ней как к исходной или 2)создать объект -
STATISTICA::_SpreadsheetPtr ИмяТаблицы и присвоить ему значения таблицы результатов. Но как это сделать незнаю все перепробовал! Прошу помоши! Заранее спасибо! Код от dll C++(для упрощения исходную таблицу не формировал из массива, а взял из файла Tree.sta )

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#import "statist.exe"
#import "sta_TRE.dll"
using namespace STATISTICA;
using namespace STAQuickTrees;
 
extern "C" __declspec(dllexport) void  __stdcall StaticCandle(char *arr[][2], int size_arr)
{
  ::CoInitialize(NULL);
  STATISTICA::_ApplicationPtr pApp("STATISTICA.Application");
  STATISTICA::_SpreadsheetPtr pSpreadSheet=pApp->Spreadsheets->Open("C:\\Tree.sta", true);// Задает исходную таблицу для анализа
  STATISTICA::_AnalysisPtr pBasDiag = pApp->Analysis(scQuickTrees);
//Задает параметры дерева для анализа 
  STAQuickTrees::TreStartupPtr TreeDialog = pBasDiag->Dialog;
  TreeDialog->PutVariables("12 | 2-11 |    | 1");
  TreeDialog->PutCategoricalPredictorCodes("0-1 | 0-1");
  TreeDialog->PutDependentVariableCodes("True-False");
  pBasDiag->Run();
  STAQuickTrees::TreResultsPtr TreeResult=pBasDiag->Dialog;
 
pBasDiag->GetRouteOutput(TreeResult->MisclassificationMatrix.GetInterfacePtr())->PutVisible(true); // Выводит таблицу результатов из которой нужно извлечь значения
 
}
А вот код излечения данных из исходной таблицы(Здесь все прекрасно работает):

C++
1
2
3
4
5
6
//считаем, что "pApp" - указатель на STATISTICA, открытие файла
STATISTICA::_SpreadsheetPtr pSpreadSheet=pApp->Spreadsheets->Open("C:\\Tree.sta", true);
//считаем, что "pSpreadsheet" указатель на Таблицу,  получение значения из таблице
pSpreadSheet->GetValue(1,1);
//считаем, что "pSpreadsheet" указатель на Таблицу, устанавливает значения в таблицу
pSpreadSheet->PutValue(1,1,"Tech");
И еще если есть у кого нибудь код обращения к библиотекам Статистики 6 без ее запуска( statist.exe ) напишите если не трудно. К библиотеке stadev32.lib не получается подключиться (ничего не происходит), а к stadev32.dll компилятор ругается на ошибку загрузки библиотеки(fatal error C1083) :

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include "stadev32.h"
#pragma comment (lib, "stadev32.lib") 
 
 
//----------
typedef long  HSTAFILE;
typedef short HRES;
typedef HSTAFILE (*w_open) (LPCSTR);
typedef long  (*sgnc)(HSTAFILE);
typedef HRES (*scf)(HSTAFILE);
//----------
 
extern "C" __declspec(dllexport) void  __stdcall StaticCandle(char *arr[][2], int size_arr)
{
 
 
    HINSTANCE hSimplex = ::LoadLibrary(LPCWSTR("D:\\DLLMQL4\\MFC\\MFC\\stadev32.dll"));
        w_open op = (w_open)::GetProcAddress(hSimplex, "StaOpenFile");
        HSTAFILE handle = op("C:\\Tree.sta");
 
 
}
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
26.04.2011, 23:53
Ответы с готовыми решениями:

Ошибка об отсутствии MSVCP140D.dll, ucrtbased.dll, CONCRT140D.dll, VCRUNTIME140D.dll
Добрый день, товарищи. Возникла проблема. Делаю программу с использованием openCV 3.1 на Visual Studio 2013. При компиляции выдает ошибку...

Литература по STATISTICA
Можете что нибудь посоветовать?

Литература по Statistica
Подскажите пожалуйста книги по Statistica, для анализа эксперементальных данных, построение уравнения регресии, определения коефициентов...

1
9 / 9 / 1
Регистрация: 22.02.2011
Сообщений: 203
16.08.2011, 09:08
palat, я неработал со statistica и не знаю какю
Скажи пожалуйста как писать роботы и индикаторы на c++ для meta trader(dll)?
Я умею писать для metastock а здесь как?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
16.08.2011, 09:08
Помогаю со студенческими работами здесь

Аналог STATISTICA
Доброго времени суток, друзья. Мне необходимо определить функцию нелинейной (экспоненциальной) регрессии. Необходимо найти аналог...

Нейронные сети (Statistica 12)
Делаю анализ цветов в программе Statistica 12. То есть, есть картинки размером в 1 пиксель, которые соответствуют жёлтому, синему и т.д....

Нейронная сеть в STATISTICA
Все привет! Не являюсь программистом, встала задача получения нейронной сети в STATISTICA (StatSoft). Кто-нибудь пытался выгрузить...

Перенос переменных в Statistica
Как из результата Нелинейного оценивания(Nonlinear estimation) Рисунок 1, перенести переменные Оценки(Estimate), в главнуй таблицу, для...

Хороша ли программа STATISTICA?
Всем привет! У меня встал вопрос в выборе программы, для проведения статистического анализа (вычисления корреляции и т.п.) и вывода...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes. А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит токи на L и напряжения на C в установ. режимах до и. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru