1. 股票软件上面的浮动窗口源代码怎么编写的比如通达信上面十字光标显示的那个窗口怎么出来的
<SCRIPT LANGUAGE="javascript">
<!--
window.open ('page.html', 'newwindow', 'height=100, width=400, top=0, left=0, toolbar=no, menubar=no, scrollbars=no,resizable=no,location=no, status=no')
//写成一行
-->
</SCRIPT>
参数解释:
window.open 弹出新窗口的命令;
'page.html' 弹出窗口的文件名;
'newwindow' 弹出窗口的名字(不是文件名),非必须,可用空''代替;
100 窗口高度;
width=400 窗口宽度;
top=0 窗口距离屏幕上方的象素值;
left=0 窗口距离屏幕左侧的象素值;
toolbar=no 是否显示工具栏,yes为显示;
menubar,scrollbars 表示菜单栏和滚动栏。
resizable=no 是否允许改变窗口大小,yes为允许;
location=no 是否显示地址栏,yes为允许;
status=no 是否显示状态栏内的信息(通常是文件已经打开),yes为允许;
2. 股票分析软件插入代码
不用插入C++吧,复制到任意一个主图指标中就可以了,作了些修改:
VAR1:=SUM(MAX(MAX(HIGH-LOW,ABS(HIGH-REF(CLOSE,1))),ABS(LOW-REF(CLOSE,1))),25);
VAR2:=HIGH-REF(HIGH,1);
VAR3:=REF(LOW,1)-LOW;
VAR4:=SUM(IF(VAR2>0 AND VAR2>VAR3,VAR2,0),25);
VAR5:=SUM(IF(VAR3>0 AND VAR3>VAR2,VAR3,0),25);
VAR6:=VAR4*100;
VAR7:=VAR5*100;
VAR8:=MA(ABS(VAR7-VAR6)/(VAR7+VAR6)*100,15);
VAR9:=(VAR8+REF(VAR8,15))/2;
A:=(VAR7>VAR6 AND VAR7>25 AND VAR6<25);
B:=ZIG(3,50/5)*100;
G:=MA(B,2);
D:=CROSS(B,G)*1000;
W:=CROSS(G,B)*1000;
E:=REF(INDEXC,1);
F:=SMA(MAX(INDEXC-E,0),3,1)/SMA(ABS(INDEXC-E),3,1);
VAR10:=F AND F<8;
VAR11:=(CLOSE-LLV(LOW,9))/(HHV(HIGH,9)-LLV(LOW,9))*100;
VAR12:=SMA(VAR11,3,1);
VAR13:=SMA(VAR12,3,1);
VAR14:=VAR13 AND VAR13<20;
MM:=A AND D AND VAR10 AND VAR14 ;
DRAWTEXT(W=1000,l,'卖' ),COLOR00FF00;
DRAWTEXT(D=1000,l,'买'),COLORRED;
3. C语言(股价预测函数)
#include <stdlib.h>
#include <time.h>
float prediction(float x, int n){//从x随机行走n步
static float delta=0.01;
static char first=1;//定义静态局部变量
int i;
if(first){//如果第一次运行
srand(time(NULL));//用系统时间初始化随机数发生器
first=0;
}
for(i=0;i<n;++i){
x+=rand()/(1.0+RAND_MAX)*2*delta-delta; //x加上一个[-Δ,Δ)之间的随机小数
}
return x;
}
4. 股票软件编程问题
有多种选择:
1 在已有软件的基础上二次开发
2 在已有软件的基础上,开发指标,这个最方便,强烈推荐。指标所用的语言比较简单,看下别人的源代码就基本上能学会了。
3 自己从头到尾开发软件,那工作量增大很多了。至于用什么语言,自己习惯用啥就用啥了。
证交所的数据,不太熟悉,那个好像要花钱买。
但是网上有免费的数据源的,尤其是日K线的数据,有很多的。
几乎每个证券投资者都会经历到处找指标,然后自己做指标的过程。但最终,会明白,那只是一个小工具。
5. 如何编程从免费股票软件中提取实时数据
自己写程序的话,一种方法是从已提供的信息源,例如webservice获取数据。还有种办法就是去连接提供即时信息的网页硬解析。
代码举例如下:
Created on Thu Jul 23 09:17:27 2015
@author: jet
"""
DAY_PRICE_COLS = ['date', 'open', 'high', 'close', 'low', 'volume',
'chg', '%chg', 'ma5', 'ma10', 'ma20',
'vma5', 'vma10', 'vma20', 'turnover']
DAY_PRICE_URL = '%sapi.finance.%s/%s/?code=%s&type=last'
INDEX_KEY = ['SH', 'SZ', 'HS300', 'SZ50', 'GEB', 'SMEB']
INDEX_LIST = {'SH': 'sh000001', 'SZ': 'sz399001', 'HS300': 'sz399300',
'SZ50': 'sh000016', 'GEB': 'sz399006', 'SMEB': 'sz399005'}
INDEX_DAY_PRICE_COLS= ['date', 'open', 'high', 'close', 'low', 'volume',
'chg', '%chg', 'ma5', 'ma10', 'ma20',
'vma5', 'vma10', 'vma20']
K_TYPE_KEY = ['D', 'W', 'M']
K_TYPE_MIN_KEY = ['5', '15', '30', '60']
K_TYPE = {'D': 'akdaily', 'W': 'akweekly', 'M': 'akmonthly'}
MIN_PRICE_URL = '%sapi.finance.%s/akmin?scode=%s&type=%s'
PAGE_TYPE = {'http': 'http://', 'ftp': 'ftp://'}
PAGE_DOMAIN = {'sina': 'sina.com.cn', 'ifeng': 'ifeng.com'}
URL_ERROR_MSG = '获取失败,请检查网络状态,或者API端口URL已经不匹配!'
get_hist_data.py
# -*- coding: utf-8 -*-
"""
Created on Thu Jul 23 09:15:40 2015
@author: jet
"""
import const as ct
import pandas as pd
import json
from urllib2 import urlopen,Request
def get_hist_data(code = None, start = None, end = None, ktype = 'D'):
"""
功能:
获取个股历史交易数据
--------
输入:
--------
code:string
股票代码 比如:601989
start:string
开始日期 格式:YYYY-MM-DD 为空时取到API所提供的最早日期数据
end:string
结束日期 格式:YYYY-MM-DD 为空时取到最近一个交易日数据
ktype:string(default=D, 函数内部自动统一为大写)
数据类型 D=日K线,W=周K线,M=月K线,5=5分钟,15=15分钟
30=30分钟,60=60分钟
输出:
--------
DataFrame
date 日期
open 开盘价
high 最高价
close 收盘价
low 最低价
chg 涨跌额
p_chg 涨跌幅
ma5 5日均价
ma10 10日均价
ma20 20日均价
vma5 5日均量
vma10 10日均量
vma20 20日均量
turnover换手率(指数无此项)
"""
code = code_to_APIcode(code.upper())
ktype = ktype.upper()
url = ''
url = get_url(ktype, code)
print(url)
js = json.loads(ping_API(url))
cols = []
if len(js['record'][0]) == 14:
cols = ct.INDEX_DAY_PRICE_COLS
else:
cols = ct.DAY_PRICE_COLS
df = pd.DataFrame(js['record'], columns=cols)
if ktype in ct.K_TYPE_KEY:
df = df.applymap(lambda x:x.replace(u',', u''))
for col in cols[1:]:
df[col]=df[col].astype(float)
if start is not None:
df = df [df.date >= start]
if end is not None:
df = df[df.date <= end]
df = df.set_index('date')
return df
def code_to_APIcode(code):
"""
功能:
验证输入的股票代码是否正确,若正确则返回API对应使用的股票代码
"""
print(code)
if code in ct.INDEX_KEY:
return ct.INDEX_LIST[code]
else:
if len(code) != 6:
raise IOError('code input error!')
else:
return 'sh%s'%code if code[:1] in ['5', '6'] else 'sz%s'%code
def get_url(ktype, code):
"""
功能:
验证输入的K线类型是否正确,若正确则返回url
"""
if ktype in ct.K_TYPE_KEY:
url = ct.DAY_PRICE_URL % (ct.PAGE_TYPE['http'], ct.PAGE_DOMAIN['ifeng'],
ct.K_TYPE[ktype], code)
return url
elif ktype in ct.K_TYPE_MIN_KEY:
url = ct.MIN_PRICE_URL % (ct.PAGE_TYPE['http'], ct.PAGE_DOMAIN['ifeng'],
code, ktype)
return url
else:
raise IOError('ktype input error!')
def ping_API(url):
"""
功能:
向API发送数据请求,若链接正常返回数据
"""
text = ''
try:
req = Request(url)
text = urlopen(req,timeout=10).read()
if len(text) < 15:
raise IOError('no data!')
except Exception as e:
print(e)
else:
return text
#测试入口
print(get_hist_data('601989','2015-07-11','2015-07-22'))
6. 怎样在股票软件中编写公式
举例:
1. 打开同花顺股票软件;
2. 点击同花顺股票软件界面菜单栏上的“工具”;
3. 点击“公式管理”;
4. 点击“新建”;
5. 点击“确定”;
6. 出现下图
把要导入的公式原码粘贴到最下面的那个大输入框中(公式编写区)。 记住一定要在“名称”栏输入公式的名称、这名称如果不输入,公式导入会失败的(名称可以是中文,也可以是字母)。在“描述”栏输入对这个公式的描述或解释(输入什么文字以你自己方便理解即可。如AAA,在K线图时输入AAA就会出现上面公式的指标了)。
7、点击“确定”,公式导入了。
7. 怎么在股票交易软件中导入自己编写的公式和代码
1、首先打开通达信交易软件。2、打开软件后,来到股漂查看界面。选择左上角的“功能”--“专家系统”--“公式管理器”,或者直接按快捷键Ctrl+F键,打开公式管理器。3、在公式管理器编辑界面,选择你要导入的公式类型,选择“其他类型”或“条件选股公式”,然后点击右上角的“新建”按钮。4、在公式编辑界面,给公式取一个名字便于识别,对公式进行一定的描述,然后写上源代码,或者导入源代码,最后再点测试公式。看是否能测试通过。通过后,最后确定。5、下面,利用我们制作好的公式来进行选出满足公式的股漂。点击左上角的“功能”,选择“选股器”里面的“综合选股”或“条件选股”。6、在公式中,下拉菜单,找到我们制作好的公式。7、然后“加入条件”,点击右下角“执行选股”,数据就会开始分析。8、你可以把得到的股漂添加到自选的板块,这样数据分析完后,找到相应的板块,比如我这里添加到自选股板块中。按F6查看自选股板块,就得到了我这个公式筛选出来的股漂了。
8. 问问一般股票软件的代码用什么语言编写的谢谢
不是C,是最简单的语言,比B还要简单!每个软件不同,不过基本大同小异,又不是什么复杂程序,大多是简单的计算而以!