請益多重兩個使用if…else 觸發二個條件

  •   176 
  • 最後發表   Alumi  2023 四月 21
Alumi 發文於   2023/04/18

小幫手您好!!~~~我查找了多重if…else看不太懂也沒找到如何使用搭配不同條件   ~~如像是配合紅二兵+紅四兵 不同條件,我應該要加什麼方式正確表達!

 

if close < 10 then value5 = 1.01

else if close <50 then value5 = 1.01;//連續2bar上漲調整%數

??

if close < 10 then value 6 = 0.01

else if close <50 then value 6 = 0.05;//上漲%每個級距價格

 

Condition1= trueall(close > (close[1] + value5 ),2) ;//二Bar都要是 收盤比前一根收盤高2Tick以上

Condition2= trueall(close > (close[1] + value6 ),4) ; //收盤大於前根紅四兵且收盤每個上漲級距價格

 

value2 = 0;

value3 = 0;

for value1 = 0 to 15 begin

if condition1[value1] and not condition1[1] then value2 += 1;  //當根condition1成立且前一根condition1不成立才紀錄紅二兵次數

if condition2[value1] and not condition2[1] then value3 += 1;  //當根condition2成立且前一根condition2不成立才紀錄紅四兵次數

end;

condition3 = value2 >= 1 and value3 >= 1;   //紅二兵與紅四兵都至少一次

condition4 = value2 <> value2[1] or value3 <> value3[1]; //15Bar的 紅二兵 與 紅四兵 數量有發生變動時

 

if condition3  and condition4  then ret = 1;

 

排序方式: 標準 | 最新
XQ小幫手 發文於   2023/04/19

Hello Alumi,

 

小幫手看不懂您想問的是什麼。

您可以先參考 if 的說明。

 

簡單舉例來說:

if 條件1 then 動作1 else if 條件2 then 動作2 else 動作3;

 

這樣的話就會是:

如果條件1符合,就執行動作1,

若條件1不符合但條件2符合的話,就執行動作2,

若兩者皆不符合的話,就執行動作3。

 

小幫手不知道您查找了什麼,不過如果網站上的教學區看不懂的話,請告訴小幫手您是哪裡看不懂。

除了教學區以外,您也可以參考 3週學會程式交易 這本書,裡面有XS語法的教學。

Alumi 發文於   2023/04/20

謝謝小幫手提供if的解譯!1
我卡關的點~~意思是有使用(陳述式)if..條件二段不同條件value5與value6,~分別會使用在邏輯變數 Condition1和Condition2~~~

編輯不成功應該是叫我直接加上vlaue5 與vlaue6  之間去掉if  直接加上else延續 ,但這樣不會影響後面的程序嗎?

因為後面還有要跑for value1 = 0 to 15 begin這些程序~~不會受影響嗎?

 

 

 

XQ小幫手 發文於   2023/04/21

Hello Alumi,

 

您的錯誤跟 if ... else ... 沒有關係。

單純就是 value6 不能寫成 value 6。(參考附圖)

附加文件

發表回覆
Close