云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > EA编程实训课程 - 图文

EA编程实训课程 - 图文

  • 62 次阅读
  • 3 次下载
  • 2025/6/21 1:13:02

输入参数:

输出参数:9-无信号

0- 买入开仓信号 1- 卖出开仓信号 2- BuyLimit信号 3- SellLimit信号 4- BuyStop信号 5- SellStop信号 6- 买入单平仓信号 7- 卖出单平仓信号

算法: /*

Int iTradingSignals() {

Int myReturn=9;//预定义返回变量

iDrawSign(“Dot”,0,Ask,Green,241);标注买入开仓信号 iDrawSign(“Dot”,0,Bid,Red,242);//标注卖出开仓信号 return(myReturn); }

函数:显示交易信息 输入参数: 输出参数: 算 法: */

Void iShowInfo() {

//统计持仓单数据

BuyGroupOrders=0;SellGroupOrders=0;//买入、卖出组成交持仓单数量总计

BuyGroupFirstTicket=0;SellGroupFirstTicket=0;//买入、卖出组持仓单第1张单订单号 BuyGroupLastTicket=0;SellGroupLastTicket=0;//买入、卖出组最后1张单的订单号 BuyGroupLots=0;SellGroupLots=0;//买入、卖出组成交单持仓量 BuyGroupProfit=0;SellGroupProfit=0;//买入、卖出组成交单利润

BuyLimitOrders=0;SellLimitOrders=0;//买入、卖出限制挂单数量总计 BuyStopOrders=0;SellStopOrders=0;//买入、卖出停止挂单数量总计 If(OrdersTotal()>0) {

ArrayResize(OrdersArray,OrdersTotal());//重新界定数组 ArrayInitialize(OredrsArray,0.0);//初始化数组 For(cnt=0;cnt<=OrdersTotal()-1;cnt++) {

iWait();

//选中当前货币对相关持仓订单

If(OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES && OrderSymbol()==Symbol() && OrderComment()==MyOrderComment)

{

OrdersArray[cnt][0]=OrderOpenTime(); OrdersArray[cnt][1]=OrderTicket(); OrdersArray[cnt][2]=OrderType(); //买入持仓单

If(OrderType()==OP_BUY) {

BuyGroupOrders=BuyGroupOrders+1;//买入组订单数量 BuyGroupLots=BuyGroupLots+OrderLots();//买入组开仓量 BuyGroupProfit=BuyGroupProfit+OrderProfit();//买入组利润

}

//卖出持仓单

If(OrderType()==OP_SELL) {

SellGroupOrders=SellGroupOrders+1;//卖出组订单数量 SellGroupLots=SellGroupLots+OrderLots();//卖出组开仓量 sellGroupProfit=SellGroupprofit+OrderProfit();//卖出组利润

}

//Limit挂单数量

If(OrderType()==OP_BUYLIMIT)

BuyLimitOrders=BuyLimitOrders+1;

If(OrderType()==OP_SELLLIMIT)

SellLimitOrders=SellLimitOrders+1; //Stop挂单数量

If(OrderType()==OP_BUYSTOP) BuyLimitOrders=BuyStopOrders+1;

If(OrderType()==OP_SELLSTOP)

SellLimitOrders=SellStopOrders+1;

}) }

//重新定义持仓单数组边界 Double myTempArray[][3]; Int

myTrallingOrders=BuyGroupOrders+SellGroupOrders+BuyLimitOrders+SellLimitOrders+BuyStopOrders+SellStopOrders; If (myTrallingOrders>0) {

ArrayResize(OrdersArray,myTrallingOrders);//重新界定数组 //ArrayInitialize(ordersArray,0.0);//初始化数组

ArrayResize(myTempArray,myTrallingOrders);//重新界定临时数组 ArrayInitialize(myTempArray,0.0);//初始化临时数组

}

//按订单开仓时间降序排列,重组订单数组-----冒泡排序 For(i=0;i

For(j=myTrallingOrders-1;j>i;j--) {

If(OrdersArray[j][0]>OrdersArray[j-1][0]) {

myTempArray[0][0]=OrdersArray[j-1][0]; myTempArray[0][1]=OrdersArray[j-1][1]; myTempArray[0][2]=OrdersArray[j-1][2]; myTempArray[j-1][0]=OrdersArray[j][0]; myTempArray[j-1][1]=OrdersArray[j][1]; myTempArray[j-1][2]=OrdersArray[j][2]; myTempArray[j][0]=OrdersArray[0][0]; myTempArray[j][1]=OrdersArray[0][1]; myTempArray[j][2]=OrdersArray[0][2];

} } }

//买入卖出组第1单、最后1单变量赋值 For(cnt=0;cnt

If(OrdersArray[cnt][2]==0) {

BuyGroupLastTicket=StrToInteger(DoubleToStr(OrdersArray[cnt][1],0)); Break;

} }

For(cnt=0;cnt

If(OrdersArray[cnt][2]==1) {

SellGroupLastTicket=StrToInteger(DoubleToStr(OrdersArray[cnt][1],0)); Break;

} }

For(cnt=myTrallingOrders-1;cnt>=0;cnt--) {

If(OrdersArray[cnt][2]==0) {

BuyGroupFirstTicket=StrToInteger(DoubleToStr(OrdersArray[cnt][1],0)); Break;

}

}

For(cnt=myTrallingOrders-1;cnt>=0;cnt--) {

If(OrdersArray[cnt][2]==1) {

SellGroupFirstTicket=StrtoInteger(DoubleToStr(OrdersArray[cnt][1],0)); Break;

} } }

//显示订单信息

iDisplayInfo(Symbol()+”-BuyGroup”,”买入组”,1,70,70,12,”Arial”,Red);

iDispalyInfo(Symbol()+”-Ask”,DoubleToStr(Ask,Digits),1,70,90,12,”Arial”,Red); iDispalyInfo(Symbol()+”-SellGroup”,”卖出组”,1,5,70,12,”Arial”,Green);

iDisplayInfo(Symbol()+”-Bid”,DoubleToStr(Bid,Digit),1,5,90,12,”Arial”,Green); //显示买入组信息

iDisplayInfo(Symbol()+”-BuyGroup”,”买入组”,1,70,70,12,”Arial”,Red);

iDispalyInfo(Symbol()+”-Ask”,DoubleToStr(Ask,Digits),1,70,90,12,”Arial”,Red);

iDispalyInfo(Symbol()+”BuyOrders”,BuyGroupOrders,1,80,110,10,”Arial”,iObjectColor(BuygroupProfit));

iDisplayInfo(Symbol()+”buyGroupLots”,DoubleToStr(BuyGroupLots,2),1,80,125,10,”Arial”,iObectColor(BuyGroupProfit));

iDisplayInfo(Symbol()+”buyGroupProfit”,DoubleToStr(BuyGroupProfit,2),1,80,140,10,”Arial”,iObectColor(BuyGroupProfit)); //显示卖出组信息

iDisplayInfo(Symbol()+”-SellGroup”,”卖出组”,1,5,70,12,”Arial”,Green);

iDispalyInfo(Symbol()+”-Bid”,DoubleToStr(Bid,Digits),1,5,90,12,”Arial”,Green);

iDispalyInfo(Symbol()+”SellOrders”,SellGroupOrders,1,10,110,10,”Arial”,iObjectColor(SellGroupProfit));

iDisplayInfo(Symbol()+”SellGroupLots”,DoubleToStr(SellGroupLots,2),1,10,125,10,”Arial”,iObectColor(SellGroupProfit));

iDisplayInfo(Symbol()+”SellGroupProfit”,DoubleToStr(SellGroupProfit,2),1,10,140,10,”Arial”,iObectColor(SellGroupProfit)); return(0); } /*

函数:交易繁忙,程序等待,更新缓存数据 输入参数: 输出参数: 算法说明:

搜索更多关于: EA编程实训课程 - 图文 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

输入参数: 输出参数:9-无信号 0- 买入开仓信号 1- 卖出开仓信号 2- BuyLimit信号 3- SellLimit信号 4- BuyStop信号 5- SellStop信号 6- 买入单平仓信号 7- 卖出单平仓信号 算法: /* Int iTradingSignals() { Int myReturn=9;//预定义返回变量 iDrawSign(“Dot”,0,Ask,Green,241);标注买入开仓信号 iDrawSign(“Dot”,0,Bid,Red,242);//标注卖出开仓信号 return(myReturn); } 函数:显示交易信息 输入参数: 输出参数: 算 法: */ Void iShowInfo() {

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com