编程问题 (文华财经随身行Android   5.4.2(237))

投资者咨询:编程问题 (文华财经随身行Android   5.4.2(237))
来源:文华财经  日期:2018-7-30 19:37
你好!我想问一下关于开仓平仓的一些编程方式,拜托啦:
1.当开仓信号出现,但是入场日期距离合约调整日期7天以内,不允许入场,怎么编成程序化?
2.当开仓信号出现,以第二天开盘价进场,怎么编成程序化?
3.以做多为例子,当开仓信号出现,如果第二天开盘价高于布林线上轨,等到价格与布林线上轨交叉时开仓;如果开盘价低于布林线上轨,以开盘价开仓,怎么编成程序化?
4.当获利达到盈亏比1:3的时候平掉3分之1仓位,怎么编成程序化?
5.当持仓到达合约调整日期前一天时平掉3分之1仓位,怎么编成程序化?
6.当持仓到达合约调整日期前一天时平掉全部仓位,怎么编成程序化?
技术人员回复
日期:2018-7-30 20:35
 1,5,6 请您具体说下什么是合约调整日期

2.模型添加 SETALLSIGPRICETYPE(NEW_ORDER); 就能开盘价进场了

3.

REF(A,1)&&O>TOP&&C<=TOP,BK;
REF(A,1)&&O<TOP,BK;
MULTSIG(0,0,1,0);//A是开仓条件

4.盈亏比是总盈利/总亏损,这是个统计值,按照您说的盈亏比1:3的时候平掉3分之1仓位

您应该是对盈亏比理解错了,因为同一时间不能又盈利有亏损

请您具体解释下您说的盈亏比是什么
投资者咨询:编程问题 (文华财经随身行Android   5.4.2(237))
来源:文华财经  日期:2018-7-30 19:37
hi你好!
1 5 6所指的合约调整日期是指比如说主力合约从三月份调整到六月份合约的日期,在1的情况下我是空仓状态,现在主力合约是三月份合约,距离主力调整为六月份合约还有不到七天时间的时候,入场信号出现了,怎么编程才可以是这个信号被过滤掉呢?5和6的意思是,我现在在主力合约里持仓,主力合约为三月份合约,在转天主力合约就要被调整成六月份合约时,怎么编程才可以在这天平掉3分之1仓位,以及怎么编程才可以在这天平掉所有仓位?
2. 在第二条问题那里,我的意思是比如说今天星期二我的入场信号出现了,我想在明天星期三的开盘价入场,请问怎么把"转天"和"以开盘价"这两个东西编程出来?
4.这个盈亏比我想表达的意思是,比如说我以破布林线上轨为入场点,以布林线中轨为止损点,入场当天假设上轨到中轨的距离是100个价位,
投资者咨询:编程问题 (文华财经随身行Android   5.4.2(237))
来源:文华财经  日期:2018-7-30 19:37
那我的想法是在行情真的朝我预期方向走的话,怎么编程可以在盈利达到300个价位的时候平掉3分之1的仓位,这个数字是假设值,实际数值将根据入场点与入场时中轨距离计算。
麻烦你啦,希望我这么表达能解释清楚我的想法,多谢多谢!
技术人员回复
日期:2018-7-31 16:46
1.首先主力合约换月时间是不可控的,是收盘后根据合约持仓量成交量共同确定的,没办法预知时间,所以这部分平仓暂时实现不了


2.收盘价模型添加 SETALLSIGPRICETYPE(NEW_ORDER); 就能开盘价进场了 您试下即可

 SETALLSIGPRICETYPE(NEW_ORDER); 
ISUP,BK;
ISDOWN,SP;
AUTOFILTER;

3.平掉1/3仓位编写如下

C>TOP,BK(9);
C>REF(TOP-MID,BARSBK)*3+BKPRICE,SP(BKVOL/3);
C<=MID,SP(BKVOL);
投资者咨询:编程问题 (文华财经随身行Android   5.4.2(237))
来源:文华财经  日期:2018-7-30 19:37
hello你好!
1.那就是说这个合约换月时间也无法软件里得到提示吗?只能我自己去比较主力合约和下个合约的持仓量成交量,如果下个合约的量接近当前主力合约就说明快要换了,但是具体时期无法预测?这个东西能靠程序化来做出个预测模型吗哈哈?
2.我目前的模型是以当价格即时突破布林线上下轨的时候立刻入场,所以是以multsig(0,0,1,0)结尾的,那再添加setallsigpricetype(new_order)之后会有冲突吗?
3.我现在的模型是autofilter的过滤型,因为开仓只想一开,但是平仓想多平,这个怎么办阿,如果像您建议的加入了手数的话,就没法加autofilter去控制开仓次数了。
4.还有个问题就是,请问在使用setallsigpricetype函数的时候,我确保了可以在开盘价入场,但是如果我想把原贴里的第三个问题加进来,就是加上了当开盘价高于布林线上轨以布林线为入场价的条件之后,这两者会有冲突吗?
谢谢你哈!
技术人员回复
日期:2018-7-31 17:46
 1.主力合约换月时间是未知的,并不能用公式计算出

2.您用了 multsig(0,0,1,0)就不能用2楼给您的方式开盘价下单了

这种情况下,您把所有开仓条件都写成REF(条件,1),BK;  这种形式就能延后下单了

3.autofilter是一开一平过滤模型,不能多次平仓的,只能在加减仓模型中实现

4.第四个一般是没有冲突的,您可以根据您模型加载信号具体说下您的问题
投资者咨询:编程问题 (文华财经随身行Android   5.4.2(237))
来源:文华财经  日期:2018-7-30 19:37
好的好的谢谢你!
关于第二和第三点我在复盘的时候去看一下,到时有什么具体问题我再跟你咨询哈。
第4点的情况就是,比如说我的信号出现在今天,我想明天再入场做多,那这时候我就先用ref(a,1)先把“今天是符合入场条件的这天,但是我明天入场"这个条件给定义出来,对吧?然后明天如果开盘价高于布林线上轨,我想等到价格回到布林线上轨与它交叉之后进场,如果开盘价低于布林线上轨,我想直接以开盘价入场。因为两种情况一个以布林线一个以开盘价入场,所以我不知道到底是用setallsigpricetype函数还是用multisig函数?
技术人员回复
日期:2018-8-1 16:28
 参考

REF(C>TOP,1)&&O<TOP,BK;
REF(C>TOP,1)&&O>TOP&&C<=TOP,BK;
MULTSIG(0,0,1,0);
投资者咨询:编程问题 (文华财经随身行Android   5.4.2(237))
来源:文华财经  日期:2018-7-30 19:37
麻烦你能不能再帮我看一下就是:在做多情况下平掉三分之一仓位的方式是这样的
C>TOP,BK(9);
C>REF(TOP-MID,BARSBK)*3+BKPRICE,SP(BKVOL/3);
C<=MID,SP(BKVOL);
你介不介意帮我再把做空情况下的平掉三分之一仓位方式也写出来阿?多谢多谢了