COCO研究院

 找回密碼
 註冊
搜索
查看: 3449|回復: 9

請問以下的句子如何轉成AmiBroker的語法

[複製鏈接]
發表於 11-6-21 14:05 | 顯示全部樓層 |閱讀模式
狀況如下:

如果 A>B
C=A-B
否則
C=B-A

我把它寫成

if (A-B>0)
  C=A-B
else
{
C=B-A
}

結果出現了錯誤如下:
condition in IF, WHILE, FOR statements has to be Numeric or Boolean type.
You can not use array here, please use [] (array subscript operator) to access array elements.

請問我要怎樣把它改成正確的語法, 謝謝了!
發表於 11-6-21 14:12 | 顯示全部樓層

  這個要請專業的來了

  樓下繼續
發表於 11-6-21 14:19 | 顯示全部樓層
試試看, 可不可以

  1. C = IIf( A > B
  2.        , A - B
  3.        , B - A
  4.        );
複製代碼

評分

參與人數 1金錢 +5 收起 理由
kilroy + 5 專業的來了~ 讚!

查看全部評分

發表於 11-6-21 14:26 | 顯示全部樓層
這麼專業簡單的問題
就請樓下的大大指導了
發表於 11-6-21 14:28 | 顯示全部樓層
這麼專業簡單的問題
就請樓下的大大指導了
jason66899 發表於 11-6-21 02:26 PM



   樓上大大是真的專業的程式寫作者
   小弟是認真的說  
 樓主| 發表於 11-6-21 14:42 | 顯示全部樓層
剛亂湊竟然湊出來, 不知道對不對

for( i = 1; i < BarCount; i++ )
{
   if ( A[ i ] > B[ i ] )
   {
       C[ i ]=A[ i ]-B[ i ];
   }
   else
   {
       C[ i ]=B[ i ]-A[ i ];
   }
}

沒有出現錯訊, 不知這樣對不對....
發表於 11-6-21 17:22 | 顯示全部樓層
abs()能嗎?
abs()能嗎?
發表於 11-6-21 21:26 | 顯示全部樓層
我試了一下,沒有錯誤訊息

  1. A=100;
  2. B=50;
  3. if (A-B>0)
  4.   C=A-B;
  5. else
  6. {
  7. C=B-A;
  8. }
複製代碼
 樓主| 發表於 11-6-21 21:50 | 顯示全部樓層
我試了一下,沒有錯誤訊息
afala 發表於 11-6-21 09:26 PM


因為我的A和B是變數, 不能直接用那公式.......
發表於 11-6-25 15:02 | 顯示全部樓層
因為我的A和B是變數, 不能直接用那公式.......
OHYAOH 發表於 11-6-21 09:50 PM


應該說大大的A, B & C是"陣列"變數,

condition in IF, WHILE, FOR statements has to be Numeric or Boolean type.
You can not use array here, please use [] (array subscript operator) to access array elements
以上是講述在IF, WHILE, FOR 判斷式需使用數字或布林格式做判斷,不能用"陣列"~~

所以後面大大,if ( A[ i ] > B[ i ] ) 是可以用的~~
A[ i ] or B[ i ] 是傳回一個值而非一個陣列~~

但...Buy = A > B 卻可以用喔!!
您需要登錄後才可以回帖 登錄 | 註冊

本版積分規則

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

GMT+8, 24-11-22 23:16

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

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