金字塔 一根K線只出現一次同方向的平開 的源碼[金字塔模型]
ss:=1; //手數
extgbdataset('t1_position',0);
//0表示沒有倉位,1表示持有多頭, -1表示持有空頭
extgbdataset('t1_holding',0);
//0表示沒有倉位,>0表示持有多頭, <0表示持有空頭
extgbdataset('t1_enterbarpos',0);//記錄其開倉的K線
maa:ema(c,10);
bpk:=cross(c,maa);
spk:=cross(maa ,c);
//非最后一根K線退出
if not(islastbar) or workmode<>1 then exit;
//如果當是最后一根k線,執行
IF islastbar and time<151000 then begin
// 如果最后一根k線發生過開倉信號,則那一根k線不再交易
if extgbdata('t1_enterbarpos') = barpos then begin
goto continueline ;
end
//沒有持倉狀態
if extgbdata('t1_position')=0 and extgbdata('t1_holding')=0 then begin
if bpk then begin
tbuy(1,ss,mkt);
extgbdataset('t1_position',1);
extgbdataset('t1_holding',ss);
extgbdataset('t1_enterbarpos',barpos);
goto continueline ;
end
if spk then begin
tbuyshort(1,ss,mkt);
extgbdataset('t1_position',-1);
extgbdataset('t1_holding',-ss);
extgbdataset('t1_enterbarpos',barpos);
goto continueline ;
end
end//沒有持倉狀態
//持有倉位狀態
//持有空頭
if bpk and extgbdata('t1_position')=-1 and extgbdata('t1_holding')<0 then begin
tsellshort(1,ss,mkt);
tbuy(1,ss,mkt);
extgbdataset('t1_position',1);
extgbdataset('t1_holding',ss);
extgbdataset('t1_enterbarpos',barpos);
goto continueline ;
end
//持有多頭
if spk and extgbdata('t1_position')=1 and extgbdata('t1_holding')>0 then begin
tsell(1,ss,mkt);
tbuyshort(1,ss,mkt);
extgbdataset('t1_position',-1);
extgbdataset('t1_holding',-ss);
extgbdataset('t1_enterbarpos',barpos);
goto continueline ;
end
END//if ISLASTBAR
if time>=151300 then begin
tsell(extgbdata('t1_holding')>0,ss,mkt);
tsellshort(extgbdata('t1_holding')<0,ss,mkt);
extgbdataset('t1_position',0);
extgbdataset('t1_holding',0);
end
continueline@ 資產:tasset,linethick0;
position:=extgbdata('t1_position');
t1holding:=extgbdata('t1_holding');
debugfile('d:\debug\803555.txt','position=%.0f' ,position) ;
debugfile('d:\debug\803555.txt','t1holding=%.0f' ,t1holding) ;
有思路,想編寫各種指標公式,程序化交易模型,選股公式,預警公式的朋友
可聯系技術人員 QQ: 262069696 進行 有償 編寫!(不貴!點擊查看價格!)
相關文章
-
沒有相關內容