沒有信號 [金字塔]
- 咨詢內容:
老師,
你好,能否幫忙看看我這段代碼錯誤在哪里?怎么修改都沒有信號發生?謝謝。
variable:Rsum=0; //Rsum紅柱總和
variable:Rlong=0; //Rlong最長紅柱
variable:Rhigh=0; //Rhigh紅柱區域最低價//MACD指標
P:=26;
S:=12;
M:=9;DIFF := EMA(CLOSE,S) - EMA(CLOSE,P);
DEA := EMA(DIFF,M);
macd := 2*(DIFF-DEA);Rnum:=barslast(ref(macd<0,1) and macd>0);//綠轉紅
Rbnum:=barslast(ref(macd>0,1) and macd<0);//紅轉綠if ref(macd,1)<0 and macd>0 then
begin
Rsum:=0; //紅柱開始,清0
Rlong:=0; //紅柱開始,清0
Rhigh:=HIGH; //紅柱開始,初始化
end
if macd>0 then
begin
Rsum:=Rsum+macd; //累加
if abs(macd)<abs(Rlong) then Rlong:=macd;//如果紅柱更長,則記錄
if HIGH>Rhigh then Rhigh:=HIGH; //如果價格更高,則記錄
endrnumb:=max(Rnum,Rbnum)+1;
rcon1:=abs(Rsum)<abs(ref(Rsum,rnumb));//面積小于前一波--面積沒創新低
rcon2:=abs(Rlong)<abs(ref(Rlong,rnumb));//柱子長度小于前一波----長度沒創新低
rcon3:=Rhigh<ref(Rhigh,rnumb);//價格小于前一波-----價格創新低//當紅柱開始收縮時(牛市即將結束,可能反轉向上(或高位盤整)),如果出現低背離,則少量建倉
if all(macd>0,3) and ref(macd,1)>macd and ref(macd,1)>ref(macd,2) then
begin
if rcon1 and rcon2 and rcon3 then buyshort(1,1,market);//低背離,面積沒創新低,長度沒創新低,價格創新低
end//紅柱消失、綠柱開始放出時(上漲行情(或高位盤整)已經結束),如果出現低背離,則加倉
if ref(macd>0,1) and macd<0 then
begin
if rcon1 and rcon2 and rcon3 then 加:buyshort(1,1,market);//低背離,面積沒創新低,長度沒創新低,價格創新低
end - 金字塔客服:
if abs(macd)<abs(Rlong) then Rlong:=macd;//如果紅柱更長,則記錄
這一句看你的意思應該是if abs(macd)>abs(Rlong) then Rlong:=macd;//如果紅柱更長,則記錄
- 用戶回復:
謝謝老師,
有思路,想編寫各種指標公式,程序化交易模型,選股公式,預警公式的朋友
可聯系技術人員 QQ: 511411198 進行 有償 編寫!(不貴!點擊查看價格!)
相關文章
-
沒有相關內容