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還要簡單!每個軟體不同,不過基本大同小異,又不是什麼復雜程序,大多是簡單的計算而以!