任何程序員專家願意接受並將其改為MQ4?
- 室內輪廓初始化程序
- 定義室內輪廓屬性和室內參數
- TODO:添加數值參數的最小值和最大值以及商店的默認顏色
函數Init()
室內:名稱(CUMULATIVE VOLUME INDEX);
室內:描述(累積體積指數);
室內:必需來源(core.Bar);
室內:類型(core.Oscillator);
indoor.parameters:ADDGROUP(選擇器);
當地貨幣= {美元,歐元,英鎊,瑞士法郎,日元,澳元,新西蘭元,加元};
當地的我;
indoor.parameters:添加字符串(貨幣,基礎貨幣,貨幣[1]);
對於i = 1,8,1,做
indoor.parameters:添加字符串替代(貨幣,貨幣,貨幣);
結束
indoor.parameters:ADDGROUP(風格);
indoor.parameters:添加顏色(顏色,CVI的顏色,CVI的顏色,core.rgb(255,0,0));
結束
- 室內實例初始化程序
- 處理室內參數並創建輸出流
- TODO:優化每個輸出流的第一個週期計算。
- TODO:計算所有常量,創建所有後續內存的實例並加載所有必需的庫
- 參數阻止
當地第一;
本地來源=零;
- Stre街區
本地Out = {};
當地貨幣;
local loading = {};
local List = {};
當地伯爵;
本地RawList,RawCount;
local SourceData = {};
local pauto =(%a%a%a)/(%a%a%a);
當地的顏色;
當地主人;
局部偏移;
當地週末;
當地MA = {};
- 常規
功能準備(nameOnly)
Method = instance.parameters.Method;
Color = instance.parameters.color;
Currency = instance.parameters.Currency;
host = core.host;
offset = host:execute(getTradingDayOffset);
weekoffset = host:execute(getTradingWeekOffset);
source = instance.source;
first = source:first();
local name = profile:id()..(.. source:name()..,.. Currency ..);
例如:姓名(名稱);
當地的crncy1,crncy2;
RawList,RawCount = getInstrumentList();
當地的我;
本地FLAG = false;
計數= 0;
對於i = 1,RawCount,1做
FLAG = false;
crncy1,crncy2 = string.match(RawList,pauto);
如果(crncy1 == Currency)或(crncy2 == Currency)那麼
FLAG = true;
結束
如果FLAG那麼
Count = Count 1;
List [Count] = RawList
結束
結束
對於i = 1,Count,1 do
SourceData = core.host:execute(getSyncHistory,List,source:barSize(),source:isBid(),0,200 i,100 i);
loading = true;
結束
if(not(nameOnly))然後
CVI = instance:addStream(CVI,core.Line,name,CVI,Color,first);
結束
結束
function getInstrumentList()
local list = {};
local count = 0;
本地行,枚舉;
enum = core.host:findTable(offers):enumerator();
row = enum:next();
而行〜=零
count = count 1;
list [count] = row.Instrument;
row = enum:next();
結束
返回清單,計數;
結束
local Advancing = 0;
local Declining = 0;
- 室內計算程序
- TODO:添加計算輸出值的代碼
功能更新(期間,模式)
如果期間LT;首先是否來源:hasData(句號)然後
返回;
結束
前進= 0;
下降= 0;
對於i = 1,Count,1 do
如果加載那麼
返回;
結束
結束
當地的我;
當地的;
對於i = 1,Count,1 do
p =初始化(i,期間)
計算(i,p,句號);
結束
結束
函數計算(i,p,句點)
如果不是那麼
返回;
結束
當地人數= {0,0,0,0,0,0,0,0};
當地的j;
當地的crncy1,crncy2;
crncy1,crncy2 = string.match(List,pauto);
如果crncy1 ==貨幣然後
如果SourceData.close gt; SourceData.close [p-1]然後
前進=前進 SourceData.volume;
elseif SourceData.close lt; SourceData.close [p-1]然後
下降=下降 SourceData.volume;
結束
elseif crncy2 ==貨幣然後
如果SourceData.close gt; SourceData.close [p-1]然後
下降=下降 SourceData.volume;
elseif SourceData.close lt; SourceData.close [p-1]然後
前進=前進 SourceData.volume;
結束
結束
CVI [期間] = CVI [期間-1] (前進 - 下降);
結束
- 異步操作完成時調用該函數
函數AsyncOperationFinished(cookie)
當地的我;
對於i = 1,Count,1 do
如果cookie == 100 我那麼
loading = true;
elseif cookie == 200 我然後
loading = false;
實例:updateFrom(0);
結束
結束
return core.ASYNC_REDRAW;
結束
函數初始化(i,句點)
當地的蠟燭;
Candle = core.getcandle(source:barSize(),source:date(period),offset,weekoffset);
如果加載或SourceData:size()== 0那麼
返回虛假;
結束
如果期間LT;來源:first()然後
返回虛假;
結束
local p = core.findDate(SourceData,Candle,false);
- 找不到蠟燭
如果p < 0然後
返回虛假;
否則返回p;
結束
結束