COND1&&N=0&&BKVOL=0,BPK(10);
COND2&&N=0&&SKVOL=0,SPK(10);
COND1&&N=1&&BKVOL=0,BPK(20);
COND2&&N=1&&SKVOL=0,SPK(20);
COND1&&N=2&&BKVOL=0,BPK(40);
COND2&&N=2&&SKVOL=0,SPK(40);
请问老师,我如何对这三笔交易分别定义止赢价格及手数?
比如说第一笔为多单,则设置成,7手止赢价,成交价+20跳,3手止赢价,成交价+30跳
第一笔为空单,则设置成,7手止赢价,成交价-20跳,3手止赢价,成交价-30跳
第二笔 15手 5手
这样
以第一部分为例参考:
COND1&&N=0&&BKVOL=0,BPK('A',10);
COND2&&N=0&&SKVOL=0,SPK('A',10);
C>BKPRICE+20*MINPRICE,SP('A',7);
C>BKPRICE+30*MINPRICE,SP('A',3);
C<SKPRICE-20*MINPRICE,SP('A',7);
C<SKPRICE-30*MINPRICE,SP('A',3);
COND1&&N=1&&BKVOL=0,BPK('B',20);
COND2&&N=1&&SKVOL=0,SPK('B',20);
COND1&&N=2&&BKVOL=0,BPK('C',40);
COND2&&N=2&&SKVOL=0,SPK('C',40);
加减仓模型,最多支持编写60个指令行。
这个有办法解决吗?
您1楼的思路加上止盈止损18行就够了
COND1&&N=0&&BKVOL=0,BPK('A',10);
COND2&&N=0&&SKVOL=0,SPK('A',10);
C>BKPRICE+20*MINPRICE,SP('A',7);
C>BKPRICE+30*MINPRICE,SP('A',3);
C<SKPRICE-20*MINPRICE,SP('A',7);
C<SKPRICE-30*MINPRICE,SP('A',3);
在这6行指令上,有办法精简吗?
60行,好像真的有点紧张,不知道会有会有办法能解决
参考:
NOT(BKVOL>0)&&COND1&&N=0&&BKVOL=0,BPK('A',10);
NOT(SKVOL>0)&&COND2&&N=0&&SKVOL=0,SPK('A',10);
A:C>BKPRICE+20*MINPRICE;
B:C>BKPRICE+30*MINPRICE;
E:C<SKPRICE-20*MINPRICE;
F:C<SKPRICE-30*MINPRICE;
K:=IF(A||E,7,IF(B||F,3,NULL));
A||B||E||F,SP('A',K);
TRADE_AGAIN(10);
NOT(BKVOL>0)&&COND1&&N=0&&BKVOL=0,BPK('A',10);
NOT(SKVOL>0)&&COND2&&N=0&&SKVOL=0,SPK('A',10);
A:C>BKPRICE+20*MINPRICE;
B:C>BKPRICE+30*MINPRICE;
E:C<SKPRICE-20*MINPRICE;
F:C<SKPRICE-30*MINPRICE;
K:=IF(A||E,7,IF(B||F,3,NULL));
A||B||E||F,SP('A',K);
TRADE_AGAIN(10);
老师,能把这个翻译一下吗?
8楼就是简单的条件判断与赋值
其中:K:=IF(A||E,7,IF(B||F,3,NULL));//表示A或者E情况时止盈手数7,B或者F情况止盈手数3
其中如果还有您不熟悉的函数可以双击函数说明了解一下
同样是1楼的3个平仓反手开仓指令,是否可以写成这样:
比如:
第1个指令触发了开多10手,止赢设置为:开仓价+20跳,平多7手。
但价格下跌触发了第2指令,平10手多,开20手空。此时:撤掉平多7手的挂单(因为之前的10手已经平掉了,所以之前设置的止赢就撤掉)。设置新的止赢:开仓价-30跳,平空15手。
价格继续下跌,触发了止赢,平空15手,此时剩余5手空单。将这5手空单设置止损为开仓价-5跳。
此时交易完成一个循环,下次从第1指令开始触发,与之前完成的交易完全不影响,各自独立。
也就是说,当触发过止赢后,一个循环结束。
之前剩余的5手空单设置好止损以后,只要不触发就一直存在,之后的交易不影响。即使交易所先开先平的原则导致单子平掉,但是设置的止损依然存在。