您好,欢迎来到独旅网。
搜索
您的当前位置:首页期货TB编程:日内交易系统

期货TB编程:日内交易系统

来源:独旅网
期货TB编程:日内交易系统

日内交易系统

(网摘)

请帮我建个模型:日内交易,使用5日和30日均线交*为触发点,开盘后10分种开始开仓,上一个交易时间金*为开多平空,上一个交易时间死*为平多开空,收盘前10分种全部平仓。止损假定10个点,止赢假定30个点。 有下列问题:

1、如果我设了止损单,已经成交,后面又发出平仓指标,是否有问题

2、如果我第一次止损单发出后,系统自己根据信号平仓了,以后就会有多个空仓和多仓的止损单,价位各不相同,是否会影响交易以后的交易。

3、进行交易时,屏幕电源关闭是否可以,进入屏保状态是否可以。 4、如果这个帐户在进行模型交易的同时,是否可以进行手动交易。

5、请问止损单以市价单开吗,如果我以10手开仓,可是行情变动太快止损时只平了2手,那么还有8手系统平仓数就不够了,不就一直不能平了吗。 //

您这里指的止损、止赢都需要用代码写在公式里面,在这种情况,您的系统其实是有1个入口,即交叉条件,4个出口,1-交叉反转。2-止损,3-止赢,4-收盘平仓。 下面来逐条回复您的问题:

1、不会出问题,因为,止损平仓之后,您就已经没有仓位了,交叉之后只会反向开仓。 2、这个系统不会用交易师的止损单和获利单,全部是在公式中编写的代码来进行控制。 3、关闭电源当然可以的。但是屏保还是不要设定的好,因为设定屏保会将TB程序的系统资源占用。

4、如果您没有使用A_XXXX(账户函数),这样做是没有问题。

5、止损单的价格是您自行设定的,在公式里面编写,至于价格滑点的问题,您可以配合使用交易助手。 //

您的系统做日内交易是可行的么?

5日,30日的均线在1个月可能只有1,2次交易,然后您希望用这个信号做日内

您的意思应该是5个周期,30个周期的1分钟线吧? //

是指5个周期,你可以按3分钟来编,谢谢。

我主要想用这个指标来对你们的系统熟悉一下,看看有什么问题。

如果你们的止损是要编入公式的,请帮我按100个点止损,和300个点止赢设计, 以后我会自己再调整的。谢谢

//没有3分钟数据,只能按照1分钟或5分钟交易

如果用一分钟,就是将5,30放大3倍,变成15,90周期的均线交叉。 稍后帮您写个模板,您自行调整

编好了,在ru0801上好像还可以。 Params

Numeric shortLength(15); Numeric longLength(90); Numeric StopPoint(100); Numeric ProfitPoint(300); Vars

NumericSeries AvgClose1; NumericSeries AvgClose2; Numeric lots(1);

Numeric myExitPrice;

Begin

AvgClose1 = AverageFC(Close,shortLength); // 短均线 AvgClose2 = AverageFC(Close,longLength); // 长均线

If(Time > 0.0910 && Time < 0.1450) // 时间

{

If(MarketPosition !=1 && CrossOver(AvgClose1,AvgClose2)) // 当前无持仓或有空仓,才可以开多(会自动平空)

{

Buy(lots,NextOpen,True); // K线走完才发单 }

If(MarketPosition !=-1 && CrossUnder(AvgClose1,AvgClose2))// 当前无持仓或有多仓,才可以开空(会自动平多)

{

SellShort(lots,NextOpen,True);// K线走完才发单 } }

// 止损

If(MarketPosition == 1) {

If(Low < AvgEntryPrice - StopPoint * MinMove*PriceScale) {

myExitPrice = AvgEntryPrice - (StopPoint+1) * MinMove*PriceScale; myExitPrice = max(low,myExitPrice); Sell(lots,myExitPrice); }

}Else If(MarketPosition == -1) {

If(High > AvgEntryPrice + StopPoint * MinMove*PriceScale) {

myExitPrice = AvgEntryPrice + (StopPoint+1) * MinMove*PriceScale; myExitPrice = min(high,myExitPrice); BuyToCover(lots,myExitPrice); } }

// 止赢

If(MarketPosition == 1) {

If(High > AvgEntryPrice + ProfitPoint * MinMove*PriceScale) {

myExitPrice = AvgEntryPrice + ProfitPoint * MinMove*PriceScale; Sell(lots,myExitPrice); }

}Else If(MarketPosition == -1) {

If( Low < AvgEntryPrice - ProfitPoint * MinMove*PriceScale) {

myExitPrice = AvgEntryPrice - ProfitPoint* MinMove*PriceScale; BuyToCover(lots,myExitPrice); } }

If(BarStatus == 2) // 收盘平仓

{

If(Time >= 0.1455 && MarketPosition != 0) {

Sell;

BuyToCover; } }Else {

SetExitOnClose; } End

//有点问题,重新修改了代码

{

myExitPrice = AvgEntryPrice - ProfitPoint* MinMove*PriceScale; Sell(lots,myExitPrice); } }

If(BarStatus == 2) // 收盘平仓

// 止损

If(MarketPosition == 1)

{

If(Low < AvgEntryPrice - StopPoint * MinMove*PriceScale)

{

myExitPrice = AvgEntryPrice - (StopPoint+1) * MinMove*PriceScale;

myExitPrice = max(low,myExitPrice);

Sell(lots,myExitPrice);

}

其中一句: myExitPrice = max(low,myExitPrice); 卖平是否应该用min(low,myExitPrice);低价优先? 如果用市价平,如何写? //

用比市价低2个点卖出平仓是不是这样写: Sell(lots,close-2);

//在V4.2.3版本中编译通不过呢?

//那个东西是老版本的,肯定不兼容,函数都不同了。希望版主能更新一下以供参考。

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- dcrkj.com 版权所有 赣ICP备2024042791号-2

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务