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

Statistica 6 и dll на C++

26.04.2011, 23:53. Показов 1645. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru