沿溪的小石路

看完我的前半生

喜欢剧中贺涵的一句话,我这哪算疯狂无非把上海的汽车房子卖了(去深圳追他喜欢的那个人)。
看到这里好想哭,至少他为的他爱也爱他的女人可以放弃眼下的一切。可是我又能做些什么呢,我爱的人也在深圳可是我却觉得好遥远,她不爱我。我也很想明天就动身去见她,郭丽。我心中深圳的那一位,此刻我的无能,好恨自己

c++

dll编写经验

使用方法不做细诉详见网上教程http://bbs.tianya.cn/post-no110-13686215-1.shtml

1、如果需要传入多个序列参数时,可以使用m_pData指针获得对应当前bar状态的开高低收等数据。

2、对于结尾都有return nPeriod – 1;              return -1;

这样两个return,其中后者表示如果传入参数不符合要求则返回函数无效。

前一个return比较难理解,比如传入参数5,则也会强制从第四根k线才有输出值。所以如果需要从第0根k开始就直接有数据,这里直接改成return 0; 具体的k线生成状态可以借由for循环的起点开始纪录

for (i = nPeriod – 1; i<pData->m_nNumData; i++)

3、调试方法:vs中设置好断点,然后打开大智慧,vs中点开调试-附加到进程选择大智慧,然后按f5逐步调试中间变量。

4、需使用vs6.0编译,高版本的比如2015编译出的dll给没有安装vs的计算机会产生无法使用的情况。所以可以在15下代码编辑后,放回vc6重新打包生成。

在vs2015中要注意头文件里的time_t m_time; //时间,UCT,需要改成__time32_t m_time;

否则非常坑,调用数据时候会出错。还原到vc6下面时候时间格式可以改回去。

5、对于一些均线均线计算,比如ema(ema(c,5),10);这类函数计算,在dll中用动态数组事先保存内部数组数值。float *t1num = new float[nLean];

6、ema代码:ema(x,N)

Y = [2 * X + (N – 1) * LY] / (N + 1)

其中Y[0] = 第一根序列数据
———————————————————–
sma代码:
SMA(X,N,M) X的M日加权移动平均,
M为权重,
如Y=(X*M+Y’*(N-M))/N
其中Y[0]=0
 ————————————————————————————————————-
—————————————————————————————————————
通达信的接口和大智慧、分析家这些完全不一样。直接在通达信的帮助文档里有介绍,必须通过传入的几个参数进行计算
python

Pandas案例

import numpy as np
import pandas as pd


def main():
    s = pd.Series([i*2 for i in range(1, 11)])
    dates = pd.date_range("20170101", periods=8)
    df = pd.DataFrame(np.random.randn(8, 5), index=dates, columns=list("ABCDE"))
    print(df)
    #basic
    print(df.head(4))
    print(df.tail(3))
    print(df.index)
    print(df.values)
    print(df.sort(columns="C"))
    print(df.sort_index(axis=1, ascending=False))
    print(df.describe())

    #Selece
    print(df["A"])
    print(df[:3])
    print(df["20170101":"20170103"])
    print(df.loc[dates[0]])
    print(df.loc["20170101":"20170103", ["B", "D"]])
    print(df.at[dates[0], "C"])
    print(df.iloc[1:3, 2:4])        #iloc[1,4] 选取某一个点
    print(df.iat[1, 4])
    print(df[df.B > 0][df.A < 0])

    #Missing Values
    

if __name__ == "__main__":
    main()
python

matplotlib案例

import numpy as np
import matplotlib.pyplot as plt

def main():
    x = np.linspace(-np.pi, np.pi, 256, endpoint=True)
    c, s = np.cos(x), np.sin(x)
    plt.figure(110)
    plt.plot(x, c, color="blue")
    plt.plot(x, s,"red", label="SIN")
    plt.title("cos and sin")
    #四周的边框,设置none后可以隐藏
    ax = plt.gca()
    ax.spines["right"].set_color("none")
    ax.spines["top"].set_color("none")
    #设置坐标在0轴
    ax.spines["left"].set_position(("data", 0))
    ax.spines["bottom"].set_position(("data", 0))
    ax.xaxis.set_ticks_position("bottom")
    ax.yaxis.set_ticks_position("left")
    

    plt.show()







if __name__ == "__main__":
    main()
python

numpy案例

numpy

import numpy as np


def main():
    lst = [[1, 3, 5], [2, 4, 6]]
    print(type(lst))
    np_lst = np.array(list)
    print(type(np_lst))
    np_lst = np.array(lst, dtype=np.float)
    print(np_lst.shape)
    print(np_lst.ndim)
    print(np_lst.dtype)
    print(np_lst.itemsize)
    print(np_lst.size)
    print(np_lst)
    # 2 some arrays
    print('******************************************************')
    print(np.zeros([2, 4]))
    print(np.ones([3, 5]))
    print('RAND')
    print(np.random.rand(2, 4))
    print(np.random.rand())
    print('RandInt')
    print(np.random.randint(1, 11, 5))
    print('标准正态分布')
    print(np.random.randn(2, 4))
    print(np.random.choice([1, 5, 10]))

    #3 Array Opes
    print(np.arange(1, 11).reshape([-1, 2]))        #reshape如果写-1就是默认不计算


    list2 = np.arange(1, 25).reshape(3, 2, 4)
    print(list2)
    print(list2.sum(axis=0))                        #axis=0相当于把最外层三大元素进行sum求和
    lst1 = np.array([10, 20, 30, 40])
    lst2 = np.array([4, 3, 2, 1])
    print(lst1.reshape(2, 2))
    print(lst2.reshape(2, 2))
    print(np.dot(lst1.reshape(2, 2), lst2.reshape(2, 2)))     #矩阵点乘
    print(np.concatenate((lst1, lst2),axis = 0))                #矩阵合并,同理函数哈有vstack,hstack
    print(np.split(lst1, 2))

if __name__ == "__main__":
    main()
沿溪的小石路

从深圳回来

今天是17年4月24号,我从深圳回来了。这是一场生命的旅途,我的目的地仅仅是想着见你一面郭丽,我知道那样太急躁了恐怕让你感到一丝不快,我不是有意的。自从王怡昕之后,我的心里第一次有了填充物不再是空洞的寒冷,你如果要为问我,我爱你什么?

我也不知道,从桂林说起,第一次的你其实并没有起眼胖胖的矮矮的。跳入我心怀的有那两件事。第一、在河边散步你先跑掉然后躲起来,做状吓我们,你可知拿一下你在我的心底种下了一颗种子,第二次是离开那天早晨,我从窗外看到你清晨的模样,从此我知道了我在金字塔这边的工作所有的一切都是为了见到你,我是不是有种受虐倾向,享受着被你拒绝的伤痛,因为你的不爱我,我越发的想要爱你。

我只会在你需要我的时候出现,郭丽。我想起了高中时候神圣的爱情,你的幸福才是我最大的追求而不是必须娶到你。以后我不会那样的打扰你了,谨以此献上我所有的心愿。我会像保护我额雅典娜那边去保护你,你是我的雅典娜,你是我的桔梗,你是我生命,你是我的灵魂我的爱。

郭丽,我会努力并且我也坚信我的能力,我会给你好日子的,即使未来你的丈夫是别人,,只要我们还能联系,我就不会让你受苦。我还会爱上别人吗,连我自己都不知道这个问题的答案,即使有那也不会改变我对你的保证,爱你的我。

python

GUI

import sys
from PyQt5 import QtWidgets, QtGui
#Qtwidgets是包含窗口的类

app = QtWidgets.QApplication(sys.argv)
widget = QtWidgets.QWidget()
widget.setGeometry(300,300,200,200)
widget.setWindowTitle('我爱郭丽')
widget.setWindowIcon(QtGui.QIcon('sunflower.ico'))
widget.show()

sys.exit(app.exec_())



import sys
from PyQt5 import QtWidgets, QtGui, QtCore


class Q1(QtWidgets.QWidget, QtWidgets.QMainWindow):
    def __init__(self, parent = None):
        super().__init__()
        self.setGeometry(300, 300, 300, 300)
        self.resize(600,600)
        self.center()
        self.setWindowTitle('爱郭丽')
        self.setToolTip('you hit it')
        self.statusBar().showMessage('状态栏')
        QtWidgets.QToolTip.setFont(QtGui.QFont('OldEnglis', 10))
        quit = QtWidgets.QPushButton('close', self)
        quit.clicked.connect(QtCore.QCoreApplication.instance().quit)

    def closeEvent(self, event):
        reply = QtWidgets.QMessageBox.question(self,'警告','确认推出?', QtWidgets.QMessageBox.Yes,QtWidgets.QMessageBox.No)
        if reply == QtWidgets.QMessageBox.Yes:
            event.accept()
        else:
            event.ignore()
    def center(self):
        #屏幕的大小,以及对象的大小
        screen = QtWidgets.QDesktopWidget().screenGeometry()
        size = self.geometry()
        self.move((screen.width()-size.width())/2,(screen.height()-size.height())/2)

app = QtWidgets.QApplication(sys.argv)
q1 = Q1()
q1.show()
sys.exit(app.exec_())