當前位置:首頁 » 交易知識 » 股票交易vb策略代碼
擴展閱讀
股票賬戶會被黑 2024-11-28 04:07:26

股票交易vb策略代碼

發布時間: 2023-10-03 04:59:15

1. 求一股票公式

DRAWGBK(DATE>900101,STRIP(RGB(100,0,0),RGB(30,30,0),1));

Var1:=EMA(HHV(HIGH,500),21);

Var2:=REF(LOW,1);

Var3:=SMA(ABS(LOW-Var2),3,1)/SMA(MAX(LOW-Var2,0),3,1)*100;

Var4:=EMA(IF(CLOSE*1.3,Var3*10,Var3/10),3);

Var5:=LLV(LOW,30);

Var6:=HHV(Var4,30);

Var7:=IF(MA(CLOSE,58),1,0);

Var8:=EMA(IF(LOW<=Var5,(Var4+Var6*2)/2,0),3)/618*Var7;

Var9:=IF(Var8>指高100,100,Var8);

VarA:=EMA((Var7*3+Var8*2+Var9)/6*1.738,21);

VarB:=REF(LOW,1);

VarC:=SMA(ABS(LOW-VarB),3,1)/SMA(MAX(LOW-VarB,0),3,1)*100;

VarD:=EMA(IF(CLOSE*1.35<=VarA,VarC*10,VarC/10),3);

VarE:=LLV(LOW,30);

VarF:=HHV(VarD,30);

Var10:=IF(MA(CLOSE,58),1,0);

V1:=MA(100*(C-LLV(C,34))/(HHV(H,34)-LLV(L,34)),5)-20;

V2:=2*ABS(V1);

V3:=100-(100-3*SMA((C-LLV(L,55))/(HHV(H,55)-LLV(L,55))*100,20,1)+2*SMA(SMA((C-LLV(L,55))/(HHV(H,55)-LLV(L,55))*100,20,1),15,1));

V4:=100-(100-3*SMA((O-LLV(L,55))/(HHV(H,55)-LLV(L,55))*100,20,1)+2*SMA(SMA((O-LLV(L,55))/(HHV(H,55)-LLV(L,55))*100,20,1),15,1));

V5:=(H+L+C)/3;

V6:=(V5-MA(V5,10))/(0.015*AVEDEV(V5,10));

V7:=(V5-MA(V5,30))/(0.015*AVEDEV(V5,30));

V8:=IF(V6>=150ANDV6<200ANDV7>=150ANDV7<孝激200,10,0);

V9:=IF(V6<=-150ANDV6>-200ANDV7<=-150ANDV7>-200,-10,V8);

VA:=(C-MA(C,13))/MA(C,13)*100;

VB:=100-ABS(VA);

VE:=REF(L,1)*0.9;

VF:=L*0.9;

V10:=(VF*V+VE*(CAPITAL-V))/CAPITAL;

V11:=EMA(V10,30);

V12:=V11-C;

V13:=REF(C,1);

V14:=SMA(MAX(C-V13,0),7,1)/SMA(ABS(C-V13),7,1)*100;

V15:=SMA(MAX(C-V13,0),13,1)/SMA(ABS(C-V13),13,1)*100;

V16:=BARSCOUNT(C);

V17:=SMA(MAX(C-REF(C,1),0),6,1)/SMA(ABS(C-REF(C,1)),6,1)*100;

V18:=((-100)*(HHV(H,60)-C)/(HHV(H,60)-LLV(L,60))+50)*2;

V19:=(C-LLV(L,15))/(HHV(H,15)-LLV(L,15))*100;

V1A:=(SMA(V19,4,1)-50)*2;

V1B:=SMA(V1A,3,1);

V1C:=(INDEXC-LLV(INDEXL,14))/(HHV(INDEXH,14)-LLV(INDEXL,14))*100;

V1D:=SMA(V1C,4,1);

V1E:=SMA(V1D,3,1);

V1F:=(HHV(H,30)-C)/C*100;

V20:=IF(V17<=25ANDV18<-95ANDV1F>20ANDV1B<-30ANDV1E<30

ANDV12>=-0.25ANDV14<22ANDV15<巧逗襪28ANDV16>50,80,0);

准備拉升:EMA(IF(LOW<=VarE,(VarD+VarF*2)/2,0),3)/618*Var10;

准備拉升:IF(准備拉升>0,准備拉升,0),STICK,linethick2,COLOR0000ff;

今量:准備拉升;

A1:IF(准備拉升>0,今量*1.2,0),STICK,linethick5,COLOR0000ff;

A2:IF(准備拉升>0,今量*0.8,0),STICK,linethick5,COLOR0066ff;

A3:IF(准備拉升>0,今量*0.6,0),STICK,linethick5,COLOR0099ff;

A4:IF(准備拉升>0,今量*0.4,0),STICK,linethick5,COLOR00ccff;

A5:IF(准備拉升>0,今量*0.2,0),STICK,linethick5,COLOR00ffff;

先知:(CLOSE-MA(CLOSE,25))/MA(CLOSE,25)*100,,colorff00ff;

SSS:=(VAR3ANDVAR4AND(OPEN-REF(CLOSE,1))/REF(CLOSE,1)>-0.07ORVAR5ANDVAR6ANDCROSS(VAR7,79)ORVARCANDCLOSE/COST(8)<=0.8)*100;

抄底王:SSS>0,colorwhite,LINETHICK1;

主力SK1:EMA(100*(C-LLV(LOW,34))/(HHV(H,34)-LLV(LOW,34)),3),colormagenta,linethick2;

均量SD1:EMA(100*(INDEXC-LLV(INDEXL,34))/(HHV(INDEXH,34)-LLV(INDEXL,34)),3),colorgreen,linethick2;

生命線:85,linethick1,coloryellow;

生命禁區:75,linethick1,colorred;

預警系統:(IF((V7>=200ANDV6>=150)ORCROSS(65,主力SK1),15,IF(V7<=-200

ANDV6<=-150,-15,V9))+65);

T2:=C;T3:=主力SK1>60AND預警系統>85AND生命線=95;

T4:=主力SK1>48AND預警系統>85AND生命線<95;

T5:=均量SD1<-38AND預警系統<85;

T6:=抄底王>50AND生命線<90;

T7:=V3>REF(V4,1)ANDV>REF(V,1)ANDC>REF(C,1);

DRAWTEXT(CROSS(主力SK1,生命禁區),60,'警惕!!'),colorcyan;

DRAWTEXT(CROSS(主力SK1,生命禁區),85,'減磅'),ColorFF6800;

DRAWTEXT(CROSS(主力SK1,生命禁區),75,'▼注意.SK1向上持有.向下立即賣出'),colorblue;

DRAWTEXT(T2ANDCOUNT(T2,30)=1,55,'下降通道!'),COLOR00FFFF;

DRAWTEXT(T3ANDCOUNT(T3,30)=1,55,'上漲過急!'),COLOR00FFFF;

DRAWTEXT(T4ANDCOUNT(T4,30)=1,75,'莊家出貨!'),COLOR00FFFF;

DRAWTEXT(T5ANDCOUNT(T5,30)=1,50,'有小反彈!'),COLOR00FFFF;

DRAWTEXT(T6ANDCOUNT(T6,30)=1,30,'搶反彈!'),COLOR00FFFF;

DRAWTEXT(T7ANDCOUNT(T7,30)=1,30,'資金進場!'),COLOR00FFFF;DRAWGBK(DATE>900101,STRIP(RGB(100,0,0),RGB(30,30,0),1));

AA1:=AMOUNT/V;BB1:=L<AA1*0.9;

CC1:=(C-REF(C,1))/REF(C,1)*100>1.2;DD1:=L<MA(C,5)*0.921;EE1:=V<MA(V,5)*1.5;

FF1:=BB1ANDCC1ANDDD1ANDEE1;DRAWTEXT(FF1,(LOW*0.99),'老鼠倉'),COLOR4080FF;

2. 用VB如何直接獲取股票實時數據

可以通過調用ChinaStockWebService的服務來實現獲取股票的實時數據,代碼如下:

publicstring[]getStockInfo(stringstockcode)
{

//stringurl="http://hq.sinajs.cn/list="+stockcode;
//stockcode某隻股票的代碼
stringurl="http://hq.sinajs.cn/list=sh600683";
WebClientclient=newWebClient();
client.Headers.Add("Content-Type","text/html;charset=gb2312");
Streamdata=client.OpenRead(url);
StreamReaderreader=newStreamReader(data,Encoding.GetEncoding("gb2312"));
strings=reader.ReadToEnd();
reader.Close();
data.Close();
returns.Split(',');
}

3. 股票指標源代碼中的「VB」是指什麼

你這是因為代碼不全,把下面的代碼,粘貼到你公式前面,
V1:=(C*2+H+L)/4*10;
V2:=EMA(V1,13)-EMA(V1,34);
V3:=EMA(V2,5); V4:=2*(V2-V3)*5.5;
主力撤: IF(V4<=0,V4,0),colorblue;
主力進: IF(V4>=0,V4,0),colorff00ff;
V5:=(HHV(INDEXH,8)-INDEXC)/(HHV(INDEXH,8)-LLV(INDEXL,8))*8;
V6:=EMA(3*V5-2*SMA(V5,18,1),5);
V7:=(INDEXC-LLV(INDEXL,8))/(HHV(INDEXH,8)-LLV(INDEXL,8))*10;
V8:=(INDEXC*2+INDEXH+INDEXL)/4;
V9:=EMA(V8,13)-EMA(V8,34);
VA:=EMA(V9,3);
VB:=(V9-VA)/2;
再試一下,可以關注我,有問題再聯系我。

4. 股票市場四種交易指令

答:在金融市場上,通常的交易指令有以下四種形式:市價指令(Market Order)、限價指令(Limit Order)、止損指令(Stop Order)、止損限價指令(Stop Limit Order)。其中,前兩種指令多用於現貨市場,而後兩種指令多用於期貨和期權市場。

①市價指令,是指投資者在提交指令時只規定數量而不規定價格,經紀商在接到市價指令後應該以最快的速度,並盡可能以當時市場上最好的價格來執行這一指令。市價指令的特點是能夠確保成交,但是投資者最後接受的價格可能與他們期望的價格存在差異。

②限價指令,則與市價指令相反,投資者在提交指令時不僅規定數量,而且還規定價格。經紀商在接到限價指令後應以最快的速度提交給市場,但是成交價格必須優於指令規定的價格。如果是買入指令,則買價不高於指令限價;如果是賣出指令,則賣價不低於指令限價。如果訂單限價與市價不一致,經紀商只有等待。限價指令的特點是保證成交價格,但不能保證成交。

③止損指令,本質上是一種特殊的限制性市價委託,它是指投資者在指令中約定一個觸發價格,當市場價格上升或下降到該觸發價格時,止損指令被激活,轉化為一個市價指令;否則,該止損指令處於休眠等待狀態,不提交到市場執行。

④止損限價指令,是將止損指令與限價指令結合起來的一種指令,在投資者下達的指令中有兩個指定價格——觸發價格和限制價格。當市場價格上升或下降到該觸發價格時,止損指令被激活,轉化為一個限價指令,此時成交價格必須優於限價。

5. 在VB.NET中如何使用新浪股票數據介面

這個你的拿錢和新浪那邊買個介面 人家給你代碼你復制到自己網站里就可以了

6. 定義一個股票類Stock

定義股票的類:
在類模塊中輸入下列代碼。

public symbol as string
public name as string
public currenprice as currency

public sub 顯示股票信息()
msgbox(symbol & vbcrlf & name & currency)
end sub

列印圖案
private sub print()
dim x as string
dim y as integer
dim z as integer
x=""
for i=0 to 2
y=2-i
z=1+i*2
for j=1 to y
x=x & " "
nex j
for j=1 to z
x=x & "#"
next j
x=x & vbcrlf
next i
msgbox(x)
end sub

沒有看到第8題,第7題與股票的問題類似。
本例是用VB答復的,其他語言基本類似。

原來是要Java的:

public class Stock {

private String symbol;
private String name;
private double currentPrice;

public Stock(){

}

public void display(){
System.out.println("(" + this.symbol + ")" + this.name + ":" + this.currentPrice);
}

public String getSymbol() {
return symbol;
}

public void setSymbol(String symbol) {
this.symbol = symbol;
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public double getCurrentPrice() {
return currentPrice;
}

public void setCurrentPrice(double currentPrice) {
this.currentPrice = currentPrice;
}
}

7. 如何在 Ricequant 上實現策略

你好!以 [單股票均線策略] 的代碼實現為例說一下如何在Ricequant上實現策略吧。

1 確定框架:

[單股票均線策略] 的主要策略框架: 5 日均線高於 30 天均線,則全倉買入股票 5 日均線低於 30 天均線,則賣出所持股票。從我們日常交易的角度,一般交易者的行為可以拆分以下兩部分:

1.1 選擇標的(初始化):

#在交易之前,我們通常會先選定要交易的股票池或者單個股票

1.2 交易(每天盯盤)

#我們會觀察該股票的五日均線和30日均線,並進行比較
#如果該股票的五日均線在30天均線以上,則全倉買入股票
#如果該股票的五日均線在30天均線以下,則全倉賣出(空倉)

那麼程序中,我們是怎麼做的呢?

先看看 Ricequant 平台中對應的代碼框架會是怎麼樣的吧:

definit(context):
#程序的初始化,預設股票池、設置參數和變數。只運行一次

defhandle(context,bar_dict):
#從回測的開始日期至結束日期,根據選擇的頻率(日、分鍾)循環運行

對照策略思路 及 Ricequant 代碼框架,你會發現我們可以很輕松地把 兩者結合起來

以上框架也是 Ricequant 平台的最基本也最主要的框架,也就是初始化循環 - 根據選擇的頻率(日、分鍾)循環運行


2 初始化:

選擇標的:本策略的交易股票設定為 300059 」東方財富「。

definit(context):
context.stock="300059.XSHE"#存入目標股票[東方財富]

延伸閱讀:

1 在 init 中實現程序的初始化,例如存入目標股票池,設置滑點、基準等參數以及設置其它變數。 context 是一個全局的容器,你可以通過它設置任何全局變數並初始化:如 context.stock 將會在後面代碼所被調用到。

2 代碼中 # 代表注釋,作為代碼說明,執行時會被跳過而不為程序所運行。

3 如何填寫股票代碼:你會發現策略代碼中 股票代碼後帶有後綴,那麼它們分別代表什麼呢?

後綴為

XSHE 代表在深交所上市交易的股票

XSHG 在上交所上市交易的股票

例子:

300059.XSHE 為深交所上市的東方財富

600000.XSHG 為上交所上市的浦發銀行

我們的代碼編輯器還提供了非常便利的股票代碼自動尋找和補全功能,在 Windows 中你可以用 ctrl+i , Mac 系統你可以用 cmd+i 激活證券代碼自動補全功能。如下圖:

我們可以看到回測詳情中有精緻的圖表,詳細的各項風險收益指標、以及持倉、落單等詳情輔助你進一步了解你的策略的表現。

到這里,一個完整的從 [構建策略思路] 到 [策略代碼編寫] 到 [回測結果檢驗] 的流程就結束了。

8. 股票公式源碼 誰能幫我翻譯一下,跪謝了 我實在是看不懂啊

只能勸朋友,別費勁了