指令和圖表變形的疑問
作者:金字塔 來源:cxh99.com 發布時間:2016年07月29日
- 咨詢內容:
我在策略里面加入了你們教的止損指令,但我想加多一個標識然它止損后不在同方向重新開倉,但加完后不知為何圖表就壓縮成很扁不正常了原指令:if holding>0 and l<zs then beginsell(1,1,limitr,min(o,zs));end;//止損這時圖表顯示正常
此主題相關圖片如下:qq圖片20130802172912.jpg
但當把指令加了個buystop的標識后:if holding>0 and l<zs then beginsell(1,1,limitr,min(o,zs));buystop=1;end;//止損圖表就顯示不正常了
此主題相關圖片如下:qq圖片20130802173222.jpg
- 金字塔客服:
改一下
if holding>0 and l<zs then begin
sell(1,1,limitr,min(o,zs));
buystop:=1;
end;//止損
- 用戶回復:
哦!對喔,呵呵,剛轉用,還不是很會,謝謝!!
- 網友回復:
現在圖表的問題解決了,但我想加個控制指令來控制止損后同方向不再開倉好像不起作用,想請教老師是為什么呢我的具體寫法:公式開頭我定義了b=0,s=0,然后開多倉條件是b<>1,空倉是s<>1,然后多倉止損止盈后加上b=1,空倉止損后加上s=1,請問這樣為什么不起作用呢?因為我是剛從tb轉過來,tb時這樣寫是可以的。是不是我定義的不對呢?
- 網友回復:
是的,定義的不對.
需要使用全局變量
以下提供簡單示例,供您學習參考
【金字塔使用技巧】----當日虧損超過5次,則不再交易[圖表程序化交易]
當日虧損交易次數超過5次,則不再開倉如何寫?----圖表交易
部分示例(1) :
variable:lossnum=0;// 全局變量,平倉時判斷一下是盈利/虧損,若虧損lossnum就加1
cs:=5;//限定一天最多虧損5次
ma5:=ma(5,close);
ma20:=ma(20,close);
con1:=cross(ma5,ma20);
con2:=cross(ma20,ma5);
if cond2 and holding>0 then
begin
sell(1,1,thisclose);
if c<enterprice then lossnum:=lossnum+1;
end
if cond1 and holding=0 and lossnum<cs then buy(1,1,thisclose);
if time=closetime(0) then lossnum:=0;// 商品期貨,收盤的同時,lossnum賦值為0
//收盤lossnum不賦值為0,第二天就不再開倉了