量化投資_Multicharts數組操作函數_append()追加函數(自定義)


1. Multicharts中關於數組的操作比較麻煩,而且當中所謂的動態數組的定義並不是像其他語言那種的概念。因此要對數組進行元素“”追加“”的話,需要重新更改數組的索引,然后再最后一個位置添加value。這樣操作是比較繁瑣而且不清晰的。

2. 但是比如像Python語言中,列表的操作,可以直接采用像 變量.appen(值),這樣的方式進行元素的添加,這樣非常的方便。

3. append函數,本人把Multicharts中關於數組元素的追加進行封裝操作。

4. 原先的設計:采用value1簡單的變量進行計數操作,更改Multicharts中數組的索引的更改,但是用簡單變量的話,根據Multicharts的圖表運行邏輯,這個函數運行不運行,這個簡單變量都會進行計數操作。根據Multicharts的運行機制,把這個計數並且勇於更改數組索引的操作,更改為也用幾個簡單數組來進行計數,這樣使得跟圖表的運用邏輯進行隔離,符合條件時才進行計數——加總——更改數組長度——賦值操作。

5. 函數的調用格式:

value1 = append(array,value);

value1 返回當前數組的長度

array:原數組變量名

value:需要追加的值

array:返回追加后的新數組(由於Multicharts函數的格式要求,這里采用的是引用參數,也就是說通過上面的操作,array原數組將變成追加元素后的新數組)

6. 演示:

 

 

 

 

7:公開代碼:

//append函數:仿制其他編程語言的數組添加函數。
//解釋:比如在Python語言中,x.append(value), x是一個列表,這樣可以通過面向對象的方式,追加列
//表的最后一個值。在MC語言中沒有類似的函數,這里制作一個這樣的函數。原先的計數采用value1的序列
//計數,但是采用這種方式,不管函數運行不運行,都會進行加減操作;計數改為用數組計數,這樣復合
//條件,用數組計數,使數組計數同圖表中采用序列變量的形式進行隔離操作。
//用法:value1 = append(array,value);
//返回值:
//value1:表示當前數組的索引長度
//array:需要添加的原數組
//value:需要添加的數值
//備注:array是一個引用參數做為傳值操作,使用這個函數后,array引用參數將返回追加元素后的新數組(數組更新操作),這個函數是一個一維,添加數值的操作函數,其他需要添加或者要改成多維數組添加方式,可以照此進行修改

inputs:
arr[MaxSize]( numericarrayref),
input_value(NumericSimple);

variables:
value1(0);

array:
count0[](0),
count[1](0);

if count[1] = 0 then begin
arr[count[0]] = Close;
count[1] = count[1] + 1;
end;
if count[1] > 0 and count0[0] <> 0 then begin
count[1] = count[1];
array_setmaxindex(arr,count[1]);

arr[count[1]] = Close;
count[1] = count[1] + 1;
end;
count0[0] = count0[0] + 1;

append = array_getmaxindex(arr);

  //========================轉發時請注明出處======================//

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM