Rss & SiteMap

金字塔客服中心 - 专业程序化交易软件提供商 http://www.weistock.com/bbs/

专业程序化软件提供商
共12 条记录, 每页显示 10 条, 页签: [1] [2]
[浏览完整版]

标题:[求助]编写求助

1楼
曦瓜 发表于:2017/11/9 13:55:59
持有多单当价格跌破20日线平仓位的一半,如果价格再次站上则买回卖出仓位,如果价格跌破30日线则平掉所有仓位,如何编写,谢谢
2楼
FireScript 发表于:2017/11/9 14:17:35

以下先确认下您的需求:

1.程序化交易:图表

2.运行周期:假设为30分钟

3.交易品类:期货-螺纹连续

4.策略思想:

1)在持有多单的情况下,价格跌破20日均线,平掉一半仓位;

2)如果在1)之后价格回升,则重新加仓到原先的仓位;

3)如果价格跌破30日均线,全平。

 

 

[此贴子已经被作者于2017/11/9 14:18:13编辑过]
3楼
yukizzc 发表于:2017/11/9 14:19:09
if c<ma(c,20) then sell(1,50%,marketr),PERTRADER;
if c>ma(c,20) then buy(1,exitvol,marketr);
if c<ma(c,30) then sell(1,0,marketr);
4楼
曦瓜 发表于:2017/11/9 14:20:23
对 图表交易
5楼
曦瓜 发表于:2017/11/9 14:21:16
谢谢
6楼
FireScript 发表于:2017/11/9 14:31:33

3楼的即可:

补充下

1.if c>ma(c,20) then buy(1,exitvol,marketr);//这里需要注意,如果之前的平仓语句不止一条语句的话,则会取最近一次平仓操作的平仓量。

2.你的需求里面没有开仓语句,只有一个补仓的语句。如果半手动,半自动化,图表下你这个需求可能是最终实现不了。因为没有开仓语句,会导致图表上没有初始仓位,后续的一系列操作可能都会失效。

 

7楼
曦瓜 发表于:2017/11/10 8:56:48
我是用自动交易,还有这个能控制一个固定手数吗?例如就用10手。测试看用的是全部资金,所设手数没用。谢谢
8楼
qq代人发帖 发表于:2017/11/10 9:03:55
10手就把下单指令的第二个参数改成10
if c<ma(c,20) then sell(1,10,marketr);
if c>ma(c,20) then buy(1,10,marketr);
if c<ma(c,30) then sell(1,10,marketr);
9楼
曦瓜 发表于:2017/11/10 10:02:53

Input:s(10,1,10,1);

Csc:=cross(close,ma20);

Sc:=cross(close,ma10);

Cxc:=cross(ma20,close);

Xc:=cross(ma10,close);

 

if holding=0 then begin

     if csc   then

         buy(1,s,MARKETR);

end

 

if holding=0 then begin

     if CXC  then

         buyshort(1,s,MARKETR);

end

if holding>0 then begin

     if   CLOSE>ma20  AND XC  then

         sell(1,5,marketr);

end

 IF HOLDING>0 THEN BEGIN

        IF  CLOSE>ma20 AND SC THEN

                 buy(1,5,marketr);

 if holding>0 then begin

     if  CXC  then      

     SELL(1,holding,MARKETR);

     END       

if holding<0 then begin

     if  CLOSE<ma20  AND SC then

        sellshort(1,5,marketr,);

end

 

IF HOLDING<0 THEN BEGIN

         IF CLOSE<ma20  AND XC THEN

                    buyshort(1,5,marketr);

                    END

IF HOLDING<0 THEN BEGIN

         IF CSC THEN

          sellshort(1,holding,MARKETR);

         END

编译通不过,哪里的问题。谢谢

10楼
FireScript 发表于:2017/11/10 10:27:46

通常编译不通过,编辑界面一般都能直接定位到错误所在。

 

 


图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看

这里多了个逗号。

 

此外:

if holding=0 then begin

     if csc   then

         buy(1,s,MARKETR);

end

修改成如下:

if holding=0 and cxc then buyshort(1,s,MARKETR);  

 

其他几个都这样优化下。

共12 条记录, 每页显示 10 条, 页签: [1] [2]


Powered By Dvbbs Version 8.3.0
Processed in 0.01172 s, 3 queries.