maxgenius 發表於 11-2-28 09:19

[請益] 確認訊號出現後才進場的程式碼如何撰寫?

剛接觸 AmiBroker 沒多久,對它的語法邏輯不是很習慣,Help 的說明很多跟我理解的不一樣{:4_93:}還請版上的高手們分享一下~

假設我有 A 與 B 兩組都會獨立產生的訊號
想要找出 A 訊號發生後,B 訊號也發生之後才進場,
(也就是透過 B 訊號來確認 A)
這樣的程式碼該怎麼寫呢?

eclife 發表於 11-2-28 09:31

寫成要同時符合 A和B兩個條件再進場應該就可以了
SignA=xxxxxxxxx;
SignB=xxxxxxxxx;
buy=SignA and SignB;

maxgenius 發表於 11-2-28 10:02

感謝 e 大回應,
但這樣寫應該是某根 Bar 「同時符合」A 與 B條件,買進才成立?
我想嚐試寫的系統,A 與 B 可能在不同 K 棒各自出現
所以才會要有相互確認的問題

ashell 發表於 11-2-28 12:20

SignA=cross(ma(c,5),ma(c,15));
則只有5ma向上突破15ma的那根k才成立。

SignA=ma(c,5)>ma(c,15);
則是只要5ma>15ma,則signA都會成立。
以上,也許可以解決你的問題。

天空藍 發表於 11-2-28 13:36

本帖最後由 天空藍 於 11-2-28 01:41 PM 編輯

回復 3# maxgenius



我不懂AB
所以語法只是表達我的邏輯


但我知道大概是甚麼意思
你應該要用一個 if then 架構

把判斷 A的條件獨立出來
並且多一個變數C
這樣的話,就不需要同時成立
只要A成立的話
接著就等B成立
不知道到這是不是你想要的{:8_561:}



ifA條件then
begin

C = true
end;


ifCand B條件then
begin

執行 你要的動作
end;

天空藍 發表於 11-2-28 13:43

本帖最後由 天空藍 於 11-2-28 01:47 PM 編輯

還是這樣{:8_561:}

if sign A = xxxxx then
begin
      signC = true;
end;

SignB=xxxxxxxxx;
buy=SignB and SignC;

maxgenius 發表於 11-2-28 16:44

回復 6# 天空藍

因為 AB 的語法比較特殊,用一般的 sequential 語法的 if else 是行不通的
必須從「如何找出「所有」符合條件的進場 K bar」這個角度來思考
這也是學 AB 時我覺得邏輯比較難轉換的地方...

maxgenius 發表於 11-2-28 16:46

回復 4# ashell

多謝 ashell 大,
我後來用 Flip 與 ExRem 這兩個 Function 去硬兜出來了,
不過其實原理跟您提的方法是一樣的{:4_160:}

天空藍 發表於 11-2-28 16:50

回復 7# maxgenius


    ㄏ~~是歐
因為我也正想學程交.....................................................................................(不是性交)

聽你這樣說的話
我還學MC 或者 TSㄅ...

ashell 發表於 11-2-28 18:18

回復 8# maxgenius

不用客氣啦,大家都是互相幫助,能解決別人問題的同時,自己也可能長見識,


天空藍大
我提到的概念反而是在一本講ts的書中看到的,
之後才有注意到有這樣的分別。

神準哥 發表於 11-3-1 13:29

請問要去哪裡才能看到完整的語法?

bbdcd 發表於 11-3-26 01:11

您好,煩請不吝分享,感恩喔~
頁: [1]
查看完整版本: [請益] 確認訊號出現後才進場的程式碼如何撰寫?