- 精华
- 0
- 在线时间
- 194 小时
- UID
- 38084
- 积分
- 323
- 帖子
- 71
- 阅读权限
- 50
- 注册时间
- 2011-5-6
- 最后登录
- 2022-1-26
- 精华
- 0
- UID
- 38084
- 积分
- 323
- 帖子
- 71
- 主题
- 26
- 阅读权限
- 50
- 注册时间
- 2011-5-6
- 最后登录
- 2022-1-26
|
我写了一个交策略但无法实验请求指点
主要有几个问题追踪止盈只用SetDollarTrailing函数能及时平仓吗?
他会不会低于开盘价平仓 具体怎么使用放在什么位置不明白
能通过他的平仓及时开仓怎么配置使用
追踪止损setstoploss怎么使用
开仓后两个函数同时用怎么用一个负责追踪止盈监视,一个负责追踪止损的监视。哪一个条件先满足就先执行。
当然我都知道他们的含义和但是不知道在程序里面放在什么地方用哪个在前哪个在后。需要那些函数公用
我按我的理解写了一下希望斑竹跟我指点一下怎么用才合理
我测试了一下每根K线都开平几次仓找不出原因来
见笑了刚学了1各月学前班及恳求各位老师知道
Params
Numeric lots(1); //开仓数量
Numeric windots(1000);// 追踪盈利回撤点数
Numeric lossdots(500);//追踪止损点数
Vars
Bool Condition1;
Numeric count; //比如这个用来保存全局变量
Begin
If(BarStatus==0) //前公式应用商品当前Bar的状态值。
{
SetGlobalVar(0,0); //设置某个索引的全局变量值。
} //初始化全局变量,值为0
Condition1 = (Close[1]>Open[1]) ; //设置开仓条件
if (Condition1 and GetGlobalVar(0)==0) //这里进行控制,在全局变量为0的时候才下单
{
SellShort(1,Close);
SetGlobalVar(0,1) ; //下单后,设置全局变量为1
}
Commentary("Close[0]>Close[1 " + Text(Close));
If( MarketPosition == 1) //如果当前持有空仓
{
If ( MarketPosition == 1) //如果当前持有空仓
{
SetStopLoss(lots,lossdots, False); //追踪止损平仓 这个函数方的对吗?
}Else
{
SetDollarTrailing(lots,False); //追踪止盈平仓
}
}Else If( MarketPosition == - 1) //如果当前持有空仓
{
If ( MarketPosition == - 1) //如果当前持有空仓
{
SetStopLoss(lots,lossdots, False); //追踪止损平仓
}Else
{
SetDollarTrailing(lots,False); //追踪止盈平仓
}
}Else If( MarketPosition == 0); //如果当前没有仓位
{
If(Close > (AvgEntryPrice + lossdots)) //开多仓条件
{
Buy(lots,High); //开多仓
}Else if(Close < (AvgEntryPrice - lossdots))//开空仓条件
{
SellShort(lots,Low ); //开空仓
}
}
End |
|