這個FMZ還是很不錯的,五星好評,回測方便。
只不過JavaScript的一些內置的函數 代碼風格竟然是大駝峯,難受啊!
不過這些都是小細節,C++也有to_string這樣風格的函數,忽略之。
主程序·輪詢結構
function onTick(){
// 策略邏輯
}
function main(){
while(true){
onTick();
Sleep(1000); // 休眠時間,單位爲毫秒(1秒=1000毫秒)
}
}
function onexit(){
Log("exit!退出! @"); // 如果在字符串後面加上@字符,則消息會進入推送隊列,推送到使用綁定的微信賬號上
}
function onerror(){
// 比如數組訪問越界,後面就不執行了,程序就停止了
Log("error!異常錯誤!");
}
function init(){
Log("init!開始初始化程序!");
}
交易所exchang對象
function main() {
for(var i = 0; i < exchanges.length; i++) {
Log("添加的交易所對象索引(第一個爲0):", i, "名稱:", exchanges[i].GetName(), "標籤:", exchanges[i].GetLabel())
// 標籤就是okex1號,okex2號
}
}
獲取行情
市場行情由exchange.GetTicker()
函數返回。
function main(){
var ticker = exchange.GetTicker()
/*
可能由於網絡原因,訪問不到交易所接口(即使託管者程序所在設備能打開交易所網站,但是可能API接口訪問不通)
此時ticker爲null,當訪問ticker.High時,會導致錯誤,所以測試時,確保可以訪問到交易所接口
*/
Log("High:", ticker.High, "Low:", ticker.Low, "Sell:", ticker.Sell, "Buy:", ticker.Buy, "Last:", ticker.Last, "Volume:", ticker.Volume)
}
{
Info : {...}, // 請求交易所接口後,交易所接口應答的原始數據,回測時無此屬性
High : 1000, // 最高價
Low : 500, // 最低價
Sell : 900, // 賣一價
Buy : 899, // 買一價
Last : 900, // 最後成交價
Volume : 10000000, // 最近成交量
Time : 1567736576000 // 毫秒級別時間戳
}