Hình trên:
Lý do là khi học chiến lược hai đường thẳng, không có cách nào trực quan để quan sát các giao dịch, nghiên cứu điểm giao dịch, và viết mã, và là mã không trực quan khi kiểm tra với đĩa, và quay lại để kiểm tra các tiêu đề nhật ký. Tôi rất muốn viết một biểu đồ hiển thị trực quan, dựa trên ví dụ mã lớn Z, viết một mẫu biểu đồ đơn giản, bây giờ chức năng rất đơn giản, chỉ hiển thị đường K thời gian thực, hiển thị điểm mở, điểm dừng. Các chức năng khác chưa được thêm vào (ví dụ như một số Các chỉ số tự viết cho thấy kết thúc đường dây, hiển thị trong K đường dây, vv), dự định tham gia từ từ. Vì điều này chưa được thử nghiệm nhiều, vì vậy cung cấp cho tất cả mọi người để học, thực tế thận trọng. Cách sử dụng đơn giản: Có hai hàm xuất tạm thời:
$.SignOP(time,price,amount,state)
$.Draw(records)
Chức năng $.SignOP ((time,price,amount,state) được sử dụng ngay sau khi mở giao dịch để đánh dấu giao dịch mở giao dịch để sử dụng vào dòng K, có 4 tham số. $.Draw (records) là một hàm để vẽ ra các chuỗi K. Chức năng này cần phải được đặt vào đầu vòng chính của chính sách, và các tham số có thể được truyền vào null để cho phép hàm tự lấy.
Dưới đây là một ví dụ về 30 dòng mã với kích thước lớn Z, sử dụng mẫu này để truy cập mã. Chỉ có 3 câu được thêm vào trong mã.
function main(){
var STATE_IDLE = -1;//空闲状态
var state = STATE_IDLE;
var opAmount = 0;
var initAccount = $.GetAccount();
Log(initAccount);//输出账户初始信息
while(true){
---------------------------------------------------------------------------------------------
$.Draw(null);// 画图表K线
--------------------------------------------------------------------------------------------
if(state === STATE_IDLE){
var n = $.Cross(FastPeriod,SlowPeriod);
if(Math.abs(n) >= EnterPeriod){
opAmount = parseFloat((initAccount.Stocks * PositionRatio).toFixed(3));
var obj = n > 0 ? $.Buy(opAmount) : $.Sell(opAmount);
if(obj){
opAmount = obj.amount;
state = n > 0 ? PD_LONG : PD_SHORT;
Log("开仓详情",obj,"交叉周期",n);
}
---------------------------------------------------------------------------------------------
$.SignOP((new Date()).getTime(),obj.price,obj.amount,(n > 0 ? 1 : 2) ); //标记买入 卖出 开仓
---------------------------------------------------------------------------------------------
}
}else{
var n = $.Cross(ExitFastPeriod,ExitSlowPeriod);
if(Math.abs(n) >= ExitPeriod && ((state === PD_LONG && n < 0 ) || (state === PD_SHORT && n > 0))){
var obj = state === PD_LONG? $.Sell(opAmount) : $.Buy(opAmount);
---------------------------------------------------------------------------------------------
$.SignOP((new Date()).getTime(),obj.price,obj.amount,0); //标记平仓
---------------------------------------------------------------------------------------------
state = STATE_IDLE;
var nowAccount = $.GetAccount();
LogProfit(nowAccount.Balance - initAccount.Balance,"钱:",nowAccount.Balance,"币:",nowAccount.Stocks,"平仓详情:",obj,"交叉周期",n);
}
}
Sleep(Interval*1000);//暂停10秒
}
}
Mã vẫn chưa hoàn thiện, chào mừng đại thần Axe, hoàn thiện.
leilmlTốt!
Những nhà phát minh định lượng - những giấc mơ nhỏHãy tiếp tục cải thiện~~ để nền tảng của chúng tôi được sử dụng tốt hơn~~