第一范文网 - 专业文章范例文档资料分享平台

mt4创建智能交易系统的步骤

来源:用户分享 时间:2025/7/24 20:34:18 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

{

o

检测: 账户上的可用保证金...

在分析市场状况之前,检测你的账户上可用的自由保证金可以开仓。

if(AccountFreeMargin()<(1000*Lots)) {

Print(\没有资金.自由保证金 = \AccountFreeMargin()); return(0); }

o

可能是看涨仓位 (BUY)?

进入看涨仓位的条件: MACD 低于零, 向上并且穿过信号线向下。这就是我们在 MQL4中描述的 (注意我们在指标上的业务值保存在先前的变量中):

// 尽可能检测看涨仓位 (BUY)

if(MacdCurrent<0 && MacdCurrent>SignalCurrent && MacdPrevious

MathAbs(MacdCurrent)>(MACDOpenLevel*Point) && MaCurrent>MaPrevious) {

ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,Ask+TakeProfit*Point,

\ if(ticket>0) {

if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print(\开单 : \ }

else Print(\错误 opening BUY order : \ return(0); }

附加的检验‘山丘’的大小上面已经给出了描述。 MACDOpenLevel变量是一个用户指定变量,它不可能改变程序文本,但是却有很大的灵活性。在程序开始我们插入这个变量的描述。

o

能交易示范 2

2010年02月18日 星期四 10:15 ? 可能是卖空仓位(SELL)?

进入卖空仓位的条件: MACD高于零,向上并且穿过信号线向下。注解如下: // 尽可能的检测卖空仓位(SELL)

if(MacdCurrent>0 && MacdCurrentSignalPrevious && MacdCurrent>(MACDOpenLevel*Point) && MaCurrent {

ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,0,Bid-TakeProfit*Point, \ if(ticket>0) {

if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print(\开单 : \ }

else Print(\错误SELL定单开仓 : \ return(0); } return(0); }

? 周期循环检验先前开仓

//进入市场的正确性非常重要 // 但是更重要的是安全退出... for(cnt=0;cnt {

OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES); if(OrderType()<=OP_SELL && // 检验开仓 OrderSymbol()==Symbol()) // 检验货币对 {

\– \是一个循环的变量必须在程序开始指定如下: int cnt = 0;

?

如果是看涨仓位

if(OrderType()==OP_BUY) // 打开看张仓位 {

o

应该平仓吗?

退出看涨仓位的条件: MACD 穿过信号线, MACD 高于零,向上并穿过信号线向下。

if(MacdCurrent>0 && MacdCurrentSignalPrevious && MacdCurrent>(MACDCloseLevel*Point)) {

OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet); //平仓

return(0); //退出 }

o

应该重设追踪止损马?

我们设定追踪止损只有在仓位盈利已经超过追踪水平点,并且新的止损水平点好于先前的水平。

// 检测追踪止损

if(TrailingStop>0) {

if(Bid-OrderOpenPrice()>Point*TrailingStop) {

if(OrderStopLoss() {

OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*TrailingStop,

OrderTakeProfit(),0,Green); return(0); } } }

我们停止操作符。 } ? 如果是卖空仓位 else //卖空仓位 {

?

应该平仓吗?

退出卖空仓位的条件: MACD穿过信号线,MACD低于零,向上并且穿过信号线向下。

if(MacdCurrent<0 && MacdCurrent>SignalCurrent && MacdPrevious(MACDCloseLevel*Point)) {

OrderClose(OrderTicket(),OrderLots(),Ask,3,Violet); //平仓 return(0); // 退出 }

?

应该重设追踪止损吗?

我们设定追踪止损只有在仓位盈利已经超过追踪水平点,并且新的止损水平点好于先前的水平。

// 检测追踪止损

if(TrailingStop>0) {

if((OrderOpenPrice()-Ask)>(Point*TrailingStop)) {

if((OrderStopLoss()>(Ask+Point*TrailingStop)) || (OrderStopLoss()==0)) {

OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*TrailingStop,

OrderTakeProfit(),0,Red); return(0); } } }

关闭所有残留开仓。 } } }

return(0); }

这样一步一步地编写我们的智能交易...

智能交易示范 3

2010年02月18日 星期四 10:16

搜索更多关于: mt4创建智能交易系统的步骤 的文档
mt4创建智能交易系统的步骤.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c9w9pd6a51c7g2499ip734mu7526kg600foi_2.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top