请版主帮我写个可以用于精英版自动交易股票的简单策略。 [MC]
-
MC用户求助:
购买了精英版,奈何对MC都不怎么了解,别谈精英版了,竑廷说,你都没适用过就买软件了啊?我心想没办法,因为一直想实现股票轮动的操作。想实现一个股票轮动操作的简单策略。请版主帮忙。
不用选股,我会自己每天往左侧的股票池里面加股票。
策略要做到的就是按照既定规则操作。规则如下:
1、突破近期N根K线的最高点,开仓买入股票。(N可以自定义,我需要根据每只股票的情况,自己在每个股票上设定N值)
2、买入后,自动设定止损价。止损价=建仓价格-2ATR(这里就是采用海龟的止损方法,2ATR中的2可自定义。)
3、当价格上涨大于建仓价与2ATR之和时,止损价上移至建仓价格。(2ATR中的2可自定义。)
4、当价格继续上涨后,止盈位为最高价回落2ATR。(2ATR中的2可自定义。)(其实就是追踪止盈)
5、每个股票建仓后,5根K线后,当前价格-建仓价小于2ATR,自动平仓。(这里的5,可以自定义参数,2也可以)
6、每个股票占有总账户资金的十分之一。(十分之一也可以自定义)。假如有20万资金,那每个股票根据自己的股价,可以买入2万左右,因为股价不一样,只能是买入最接近2万的那个数值的手数。不能大于2万元。懂我的意思吗?比如一个股票16元,那就买入2万/16元=1250股,舍去百位后面的数字,就是买入12手,市值19200元。假如一个股票价格17元,那就买入2万/17元=1176.4股,即11手,市值18700元。
复杂吗?可以写吗?求版主帮忙。一直想实现股票轮动。还有一些细节再说一下。
按照每个股票占有总资金十分之一,那么就是说,我的账户最多只能买10个股票。(是这样吗?)当所有的资金都被占用(即:满仓)后,股票池内即使有新的股票发出买入信号,都不会进来。直到有在仓的股票平仓后,新发生信号的股票才能进入。
每个股票仅操作一次,(是不是买入并卖出的股票,会自动从股票池里面离开?)
跪谢版主!
-
MC回复讨论一:
抱歉,下午在开会,才看到,您的问题下个星期会及时处理。
-
MC回复讨论二:
第一、您的PT策略代码如下:
//左侧的策略代码,名称为:ygnh123inputs: N(10), n_atr(2);
variables: var0( 0 ), var_atr(0), mp(0), cur(0);
mp=marketposition;
var0 =highest(close,N)[1];
cur=T_Plus_1_Extension; //这个函数可以在官网下载“均线金死叉策略 (股票)”,这个模板中有
pmm_set_my_named_num("close",close);
condition2 = CurrentBar > 1 and close cross above var0 and marketposition=0;
if condition2 then
pmm_set_my_named_num("condition2",1)
else pmm_set_my_named_num("condition2",0);
Buy ( "MA3CrsLE" ) next bar at market ;
if mp[1]=0 and mp=1 then
var_atr=AvgTrueRange(10);
if cur>=100 then
setdollartrailing(currentcontracts*bigpointvalue*2*var_atr);
//资金管理信号,名称为:ygnh123_PMM
input: max_entry(10), account_per(10);
var: contr(0);
array: strategy_arr_index[](0);
value1=max_entry-portfolio_currententries;
array_setmaxindex(strategy_arr_index,max_entry-1);
pmms_strategies_deny_entries_all;
value3=0;
if value1>0 then begin
for value2=0 to value1-1 begin
if pmms_get_strategy_named_num(value2,"condition2")=1 then begin
strategy_arr_index[value3]=value2;
value3=value3+1;
end;
end;
end;
for value4=0 to value3-1 begin
value7=strategy_arr_index[value4];
pmms_strategy_allow_entries(value7);
contr=intportion(0.01*account_per*(portfolio_netprofit+initialcapital)/(100*pmms_get_strategy_named_num(value7,"close")))*100;
pmms_strategy_set_entry_contracts(value7,contr);
end;
第二、以上策略的关键字等在这里就不一一说明,您可以在策略星学院搜索课程“轮动选牛股”就可以找到相关的讲解;您的PT策略没有排序,当同一时间有超过10个股票满足进场条件时,只会选择最开始的10个股票进场;由于您的策略需要针对不同的股票设置不同的参数,那么您可以使用不同的策略组(因为每个策略组中的策略都是相同的参数),设置如下:
第三、除了以上的说明之外,您的策略中有手动操作的部分:手动添加股票和手动删除交易过的股票;这种情况下,您每次添加和删除的时候需要停止自动交易,然后再开启自动交易;但是,若您停止自动交易时策略有持仓,那么有几个地方需要注意一下:
1、每次重启自动交易,手动输入当天的可卖股数及价格;这样挺麻烦。
2、勾选策略属性中的“使用经纪商实际部位”,但是这种情况下,您需要在收盘后操作(即停止自动交易,然后重启自动交易) -
MC回复讨论三:
为版主的职业精神点赞!对于您第三里面的说明,我添加股票都是收盘以后,也需要停止自动交易然后再开启吗?也需要手动输入可卖股数及价格吗?还有,为什么要删除股票?股票不是自动进入交易后,一次买卖后自动删除吗?
-
MC回复讨论四:
为版主的职业精神点赞!对于您第三里面的说明,我添加股票都是收盘以后,也需要停止自动交易然后再开启吗?也需要手动输入可卖股数及价格吗?还有,为什么要删除股票?股票不是自动进入交易后,一次买卖后自动删除吗?
有思路,想编写各种指标公式,程序化交易模型,选股公式,预警公式的朋友
可联系技术人员 QQ: 511411198 进行 有偿 编写!(不贵!点击查看价格!)
相关文章
-
没有相关内容