COCO研究院

 找回密碼
 註冊
搜索
查看: 4304|回復: 11

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

[複製鏈接]
發表於 11-2-28 09:19 | 顯示全部樓層 |閱讀模式
剛接觸 AmiBroker 沒多久,對它的語法邏輯不是很習慣,Help 的說明很多跟我理解的不一樣還請版上的高手們分享一下~

假設我有 A 與 B 兩組都會獨立產生的訊號
想要找出 A 訊號發生後,B 訊號也發生之後才進場,
(也就是透過 B 訊號來確認 A)
這樣的程式碼該怎麼寫呢?
發表於 11-2-28 09:31 | 顯示全部樓層
寫成要同時符合 A和B兩個條件再進場應該就可以了
SignA=xxxxxxxxx;
SignB=xxxxxxxxx;
buy=SignA and SignB;
 樓主| 發表於 11-2-28 10:02 | 顯示全部樓層
感謝 e 大回應,
但這樣寫應該是某根 Bar 「同時符合」A 與 B條件,買進才成立?
我想嚐試寫的系統,A 與 B 可能在不同 K 棒各自出現
所以才會要有相互確認的問題
發表於 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成立
不知道到這是不是你想要的



if  A條件  then
begin

  C = true
end;


if  C  and B條件  then
begin

  執行 你要的動作
end;
發表於 11-2-28 13:43 | 顯示全部樓層
本帖最後由 天空藍 於 11-2-28 01:47 PM 編輯

還是這樣

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

SignB=xxxxxxxxx;
buy=SignB and SignC;
 樓主| 發表於 11-2-28 16:44 | 顯示全部樓層
回復 6# 天空藍

因為 AB 的語法比較特殊,用一般的 sequential 語法的 if else 是行不通的
必須從「如何找出「所有」符合條件的進場 K bar」這個角度來思考
這也是學 AB 時我覺得邏輯比較難轉換的地方...
 樓主| 發表於 11-2-28 16:46 | 顯示全部樓層
回復 4# ashell

多謝 ashell 大,
我後來用 Flip 與 ExRem 這兩個 Function 去硬兜出來了,
不過其實原理跟您提的方法是一樣的
發表於 11-2-28 16:50 | 顯示全部樓層
回復 7# maxgenius


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

聽你這樣說的話
我還學MC 或者 TSㄅ...
發表於 11-2-28 18:18 | 顯示全部樓層
回復 8# maxgenius

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


天空藍大
我提到的概念反而是在一本講ts的書中看到的,
之後才有注意到有這樣的分別。
發表於 11-3-1 13:29 | 顯示全部樓層
請問要去哪裡才能看到完整的語法?
發表於 11-3-26 01:11 | 顯示全部樓層
您好,煩請不吝分享,感恩喔~
您需要登錄後才可以回帖 登錄 | 註冊

本版積分規則

手機版|Archiver|站長信箱|廣告洽詢|COCO研究院

GMT+8, 24-11-22 17:34

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回復 返回頂部 返回列表
理財討論網站 |