用了程序化交易一段时间,提些建议:
1:对于Tbuy,Tsell等函数建议增加提示字段。
主要因为程序中如果有多个Tbuy,Tsell等语句时,无法分清是哪条语句下的单,调试,运行及事后分析都有很大的障碍,建议增加提示字段,可以标志是哪条语句下的单。
2:监控窗口建议增加资产,持仓,开仓价格,开仓历时等重要字段(或给用户自己选择字段更好)。
主要理由在于程序化交易虽然有Debugout等指令,在一个小小窗口看起来很不方便,而监控时仅仅需要一些认为关键的数据而已。
如果在窗口能加上第1条所示是哪条语句下的单就更好了。
以前也提过一些建议,例如:在本地预警窗口的预警时间建议精确到秒数,现价/盈亏 对期货没有必要,应该去掉。
以上建议望斟酌。
1、
IF 开仓条件1 THEN BEGIN
DEBUGOUT('开仓1,浮动盈亏为%
END
谢谢。
关键是在那个小窗口查看不方便,另外也增加程序的复杂程度。例如需要监控5个变量时,需要重复多次语句(多个开平仓指令时尤为如此)。
并且如果每个指令有“识别码”,可以方便的监控多系统,多品种的交易,呵呵,扯远了,自己又会有MT4 的习惯性思维了。。。
监控5个变量,应该只是调试初期需要的,可以用DEBUGFILE('D:\TEST.TXT',str,1234)
当然增加一个字符串写入更好,这样只在需要时写入
m_log_str='浮动盈亏:'+NUMTOSTR(TOPENPROFIT,1)+' 未成交:'+NUMTOSTR(TISREMAIN(0),0)+' 持仓为:%.0f';
//添加进记录文件
IF COMD THEN BEGIN
DEBUGFILE('D:\交易记录01.txt',m_log_str,THOLDING);
END
就行了
谢谢。
这样的灵活性很大,如果从易用角度考虑,增加类似平常程序调试时的Debug窗口会更理想。
如果灵活性更大些,增加指令标志,程序的可控性会更好。
谢谢。
顺便请教一下:Sendmail 是否可以将 字符串串起来发送?以前试了一下,没有发送信息(流程调通了)。
如果不行,建议Sendmail 也可以按上面格式书写。
谢谢。
以前也建议过,增加系统状态的判断,例如断线,账户没打开,没有数据进来等等异常情况。
某些关键变量,异常情况,系统状态的监控,是每时每刻都需要的,呵呵,个人意见。