jtwc 发表于 2024-1-2 09:31

用C++如何读取py脚本?

各位老师,用C++如何读取py脚本?谢谢了
py源码如下:import tqsdk
from tqsdk.tafunc import ma
from tqsdk import TqApi, TqAuth, TargetPosTask, TqSim, TqBacktest
from datetime import datetime
import math

合约名字 = "CZCE.PF402"

# 时间周期=60 #使用1分钟线
时间周期 = 60
# 双均线设置
短周期 = 5
长周期 = 14

api = TqApi(auth=TqAuth("123456", "123456"))
current_tate = "当前状态:已经实盘"
target_pos = TargetPosTask(api, 合约名字)

# 获取行情
行情 = api.get_kline_serial(合约名字, 时间周期)

id_cache = 0
# 计算30日均线
ma30 = ma(行情.close, 长周期)
# 计算上一期的30日均线
prev_ma30 = ma(行情.close.shift(1), 长周期)

print("ma30: ", ma30)

zibingo 发表于 2024-1-2 09:36

看你读取用来干嘛的

jtwc 发表于 2024-1-2 09:38

zibingo 发表于 2024-1-2 09:36
看你读取用来干嘛的

读取print("ma30: ", ma30)

JuncoJet 发表于 2024-1-2 09:53

读取脚本和读取结果不一样
读取脚本直接 ifstream
读取结果用 pipe
会写 bottle或者flask的话可以写成http接口

jtwc 发表于 2024-1-2 09:56

JuncoJet 发表于 2024-1-2 09:53
读取脚本和读取结果不一样
读取脚本直接 ifstream
读取结果用 pipe


如何用这个改?#include <iostream>
#include <Python.h>

using namespace std;

int main()
{
        cout << "Hello World!\n";

        // 1. 设置Python的运行环境目录
        Py_SetPythonHome(L"C:/ProgramData/Anaconda3");

        // 2. 初始化python解释器
        Py_Initialize();
        // 2.1 检查初始化是否成功
        if (!Py_IsInitialized()) {
                cout << "初始化失败" << endl;
                Py_Finalize();
        }

        // 2.2 执行Python脚本语句
        PyRun_SimpleString("print('I am Python!')");

        // 2.3 执行Python脚本文件
        const char* name = "PyTest01.py";
        FILE* fp = fopen(name, "r");
        PyRun_AnyFile(fp, name);

        // 3. 清理Python解释器
        Py_Finalize();
        system("pause");
}

sdieedu 发表于 2024-1-2 09:58

这个问题可以ChatGPT搞定代码

jtwc 发表于 2024-1-2 10:02

sdieedu 发表于 2024-1-2 09:58
这个问题可以ChatGPT搞定代码

试了ChatGPT乱说

zhaofangzhe12 发表于 2024-1-2 10:30

感谢分享

iaoedsz2018 发表于 2024-1-2 10:57

读取py程序的输出?还是说解析py的代码去执行?

jtwc 发表于 2024-1-2 11:00

iaoedsz2018 发表于 2024-1-2 10:57
读取py程序的输出?还是说解析py的代码去执行?

读取py程序的输出
页: [1] 2 3 4
查看完整版本: 用C++如何读取py脚本?