以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://222.73.7.161/bbs/index.asp)
--  公式模型编写问题提交  (http://222.73.7.161/bbs/list.asp?boardid=4)
----  请问马丁是否能用图表交易  (http://222.73.7.161/bbs/dispbbs.asp?boardid=4&id=174159)

--  作者:markss
--  发布时间:2020/2/5 13:14:57
--  请问马丁是否能用图表交易
请问马丁是否能用图表交易,能的话需要设置吗
我回测可以正常开仓,但是实盘一次性直接把最大手数开进去了

--  作者:FireScript
--  发布时间:2020/2/5 13:20:31
--  
请问你用的这个是系统自动的策略吗?全称是什么呢?我这边搜索马丁 没看到这个么。
--  作者:markss
--  发布时间:2020/2/5 14:44:46
--  
不是系统自带的,是自己写的
--  作者:FireScript
--  发布时间:2020/2/5 14:52:46
--  
那请提供下你的代码语句,看下 手数参数是如果写的。通常固定手数的情况下肯定不会出现 你说的按照最大仓位开出去的情况。
--  作者:wenarm
--  发布时间:2020/2/5 14:53:14
--  
建议你可以先模拟交易看下实际情况之后,然后再进行实盘。
--  作者:markss
--  发布时间:2020/2/5 15:01:40
--  
好,我再检查检查,可能有问题。感谢。
还有,请问市价、现价用什么函数。比如我需要计算出开仓价与现价、市价的差,这个现价用哪个函数,我没有找到。
[此贴子已经被作者于2020/2/5 15:03:05编辑过]

--  作者:FireScript
--  发布时间:2020/2/5 15:07:10
--  
现价就用c表示的。 最新K上的C就是最新价的。
一般求持仓价和最新价价差
c-ENTERPRICE
或者
c-AvGENTERPRICE  (一般有加仓时候用这个)

[此贴子已经被作者于2020/2/5 15:07:18编辑过]

--  作者:markss
--  发布时间:2020/2/5 15:08:25
--  
谢谢
--  作者:markss
--  发布时间:2020/2/5 16:56:23
--  
我把代码改了还是会一次性下最大手数。
之前把逻辑写在一起,现在把加仓条件分开写了结果还是一样的,我把系统自带的那个改了一下,下面是代码,会一次下四手。
之前把逻辑写在一起做了最大手数限制,比如是10手就会一次下10手。
input : 止盈点数(200,100,1000,100);
input : 止损点数(200,100,1000,100);
input:间距(20,10,1000,10);
VARIABLE:POSITIONCOUNT=1;
VARIABLE:ENTANDEXITSIGN=1,entpoint=0,EXITPOINT=0;//
VARIABLE:盈损标准=0;
VARIABLE:止盈=0;
VARIABLE:止损=0;


jjjj:=间距*MINDIFF();
if c>=止盈 and holding>0 then 
begin
   平多盈:sell(1,holding,market);
   POSITIONCOUNT:=1;
end
if c<= 止损 and holding>0 then
begin
   平多损:sell(1,holding,market); 
    POSITIONCOUNT:=1;
end

entpoint:=ENTERBARS+1; 
IF entpoint=ENTANDEXITSIGN THEN BEGIN{头寸成功} 
POSITIONCOUNT:=POSITIONCOUNT+1;{头寸计数} 

END 
IF POSITIONCOUNT=1 THEN BEGIN{第一头寸} 

开1:BUY(holding=0,1,MARKET);{在20日新高STOP指令买进}
 盈损标准:=ENTERPRICE;
   
止盈:=盈损标准+止盈点数*MINDIFF;
止损:=盈损标准-止损点数*MINDIFF;
END 
IF POSITIONCOUNT=2 THEN BEGIN{如到第二头寸} 

开2:BUY(c<=ENTERPRICE-jjjj*MINDIFF,1,MARKET);
END 
IF POSITIONCOUNT=3 THEN BEGIN{如到第三头寸} 

开3:BUY(c<=ENTERPRICE-jjjj*MINDIFF,1,MARKET);
END 
IF POSITIONCOUNT=4 THEN BEGIN 

开4:BUY(c<=ENTERPRICE-jjjj*MINDIFF,1,MARKET); 
END 



当前持仓:HOLDING,COLORGRAY,LINETHICK0;
当前资产:ASSET,NOAXIS,COLORGRAY;