2011-01-25 62 views
0

新手到C#,編程ninjatrader,我需要開發一個簡單的函數,執行以下操作:陣列評價

  1. 我需要檢查,看是否有庫存高企的價格高於價格前,一般這將通過索引來完成。如高[0]>高[1](因爲零是當前價格)。
  2. 如果當前價格高於需要設置爲索引變量(陣列我猜測),就好像高[0]>高[1],然後變量=高[0]。
  3. 下一個評估和我陷入困境是如何評估當前的高價格是否大於數組中的每個元素。這意味着價格在不斷上漲。
  4. 一旦價格不再增加,函數的輸出將需要是陣列中最高的價格。

  5. 感謝任何人都可以幫助!

+5

gimme teh codez! – jondavidjohn

回答

1

我覺得你的描述是不完整或不正確的,但目前你只是要求在數組中Higest(最大)值。

一個簡單的辦法:

using System.Linq; 


var data = new decimal[10]; 

decimal m = data.Max(); 
0

做一個foreach循環,檢查每個項目的價值超過你的當前值

2

3)

if (High.All(x => currentHighPrice > x)) { ... } 

4)

var highest = High.Max(); 

但兩種選擇s使用LINQ。如果這不是一個選項,只需使用for/foreach循環。

+0

我喜歡這個選項,我將linq添加到聲明中,但它不工作。我不知道忍者是否不支持它。謝謝您的幫助。如果這種情況繼續不起作用,我會嘗試for/each循環。 – Ben

+0

如果您使用的是.NET Framework 3.5或更高版本,並且忍者可以使用常規數組(或使用任何其他IEnumerable 後代實現),它應該可以工作。檢查是否已將「System.Linq」添加到引用的庫中(只需在代碼中添加「使用System.Linq;」行是不夠的)。 – rsenna