设为首页 收藏本站 切换语言

/*谁能帮我看一下这个模块有什么问题吗?编译没有问题,为什么调用模块后不起作

| 发表于 2023-4-22 15:24:26 | 显示全部楼层 |复制链接
/*谁能帮我看一下这个模块有什么问题吗?编译没有问题,为什么调用模块后不起作用?
图片是这个模块包含的自定义函数的具体含义*/  

void 户口检查模块()
{
double 历史总下单量=0;
double 历史总盈亏=0;
double 历史下单量=0;
double 历史盈亏=0;
int mbbo=0,mbbprofito=0,msso=0,mssprofito=0,bb=0,bbprofit=0,ss=0,ssprofit=0,bb1=0,bbprofitl=0,ssl=0,ssprofitl=0,
mosl=0,mobs=0,mobl=0,profitmm=0,TOTALLOTS=0,TLOTSS=0,s=0,
ossa=0,osla=0,obsa=0,obla=0,Twbs=0,Twin=0,T1bs=0,Tloss=0,
SLOTS=0,mbb=0,mbbprofit=0,BLOTS=0,mss=0,mssprofit=0,moss=0,
sprofit=0,LastPricebuy=0,LastPricesell=0,tlotsb=0,b=0,
SLASTLOTS=0,bprofit=0,TLOTS=0,oss=0,osl=0,obs=0,obl=0,BLASTLOTS=0;

for (int i=0; i<OrdersHistoryTotal(); i++)  //OrdersHistoryTotal历史已平仓订单的数量
{
if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)==true)
{
if(OrderType()==OP_BUY || OrderType()==OP_SELL)
{
历史总下单量+=OrderLots();
历史总盈亏+=OrderProfit()+OrderCommission()+OrderSwap();
}
if(OrderSymbol()==货币对)
{
历史下单量+=OrderLots();
历史盈亏+=OrderProfit()+OrderCommission()+OrderSwap();

if(OrderType()==OP_BUY)
{
mbbo++;
mbbprofito+=OrderProfit()+OrderSwap()+OrderCommission();}

if (OrderType() == OP_SELL)
{
msso++;
mssprofito+=OrderProfit()+OrderSwap()+OrderCommission();}
}
}
}


for (int cnt=0; cnt<OrdersTotal(); cnt++)
{

if(OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES)==true)
{

if (OrderType()==OP_BUY&&OrderMagicNumber()==MAGIC)
{
bb++;
bbprofit+=OrderProfit()+OrderSwap()+OrderCommission();
}

if(OrderType()==OP_SELL&&OrderMagicNumber()==MAGIC)
{
ss++;
ssprofit+=OrderProfit()+OrderSwap()+OrderCommission();
}

if(OrderType()==OP_BUY)
{bb1++;
bbprofitl+=OrderProfit()+OrderSwap()+OrderCommission();
}

if(OrderType()==OP_SELL)
{ssl++;
ssprofitl+=OrderProfit()+OrderSwap()+OrderCommission();
}

if(OrderType()==OP_SELLSTOP){ossa++;}
if(OrderType()==OP_SELLLIMIT){osla++;}
if(OrderType()==OP_BUYSTOP){obsa++;}
if(OrderType()==OP_BUYLIMIT){obla++;}

if((OrderType()==OP_BUY || OrderType()==OP_SELL)&&(OrderProfit()+OrderSwap()+OrderCommission())>0)

{
Twbs++;Twin+=OrderProfit()+OrderSwap()+OrderCommission();}

if((OrderType()==OP_BUY || OrderType()==OP_SELL)&&(OrderProfit()+OrderSwap()+OrderCommission())<0)
{T1bs++;Tloss+=OrderProfit()+OrderSwap()+OrderCommission();}

if((OrderType()==OP_BUY || OrderType()==OP_SELL))
{TOTALLOTS+=OrderLots();}
if(OrderSymbol()==货币对)
{
if(OrderType()==OP_BUY)

{
BLOTS+=OrderLots();mbb++;

mbbprofit+=OrderProfit()+OrderSwap()+OrderCommission();}

if (OrderType()==OP_SELL)

{
SLOTS+=OrderLots();mss++;
mssprofit+=OrderProfit()+OrderSwap()+OrderCommission();
}

if(OrderType()==OP_SELLSTOP){moss++;}
if(OrderType()==OP_SELLLIMIT){mosl++;}
if(OrderType()==OP_BUYSTOP){mobs++;}
if(OrderType()==OP_BUYLIMIT){mobl++;}

profitmm+=OrderProfit()+OrderSwap()+OrderCommission();
}

if(OrderSymbol()==货币对&&OrderMagicNumber()==MAGIC)
{
if(OrderType()==OP_SELL)
{
TLOTSS+=OrderLots();
s++;SLASTLOTS=OrderLots();
sprofit+=OrderProfit()+OrderSwap()+OrderCommission();
LastPricesell=OrderOpenPrice();
}


if(OrderType()-OP_BUY)

{

tlotsb+=OrderLots();b++;BLASTLOTS=OrderLots();
bprofit+=OrderProfit()+OrderSwap()+OrderCommission();
LastPricebuy=OrderOpenPrice();

}

if(OrderType()==OP_SELL || OrderType()==OP_BUY)
{TLOTS+=OrderLots();}
if(OrderType()==OP_SELLSTOP){oss++;}
if(OrderType()==OP_SELLLIMIT){osl++;}
if(OrderType()==OP_BUYSTOP){obs++;}
if(OrderType()==OP_BUYLIMIT){obl++;}

}
}
}
}
1682148161507.png
1682148179292.png
举报

评论 使用道具

精彩评论12

willyangget
DD
| 发表于 2023-4-22 16:59:01 | 显示全部楼层
我也是学的这本教材
举报

点赞 评论 使用道具

阿龙18888
DDD
 楼主 | 发表于 2023-4-22 17:16:54 | 显示全部楼层
willyangget 发表于 2023-4-22 16:59
我也是学的这本教材

你有源码没有?帮我看这个有什么问题,编译的没有一点问题,开单的时候不起作用
举报

点赞 评论 使用道具

willyangget
DD
| 发表于 2023-4-22 17:27:30 | 显示全部楼层
阿龙18888 发表于 2023-4-22 17:16
你有源码没有?帮我看这个有什么问题,编译的没有一点问题,开单的时候不起作用 ...

这只是检查统计的代码,不开单
举报

点赞 评论 使用道具

阿龙18888
DDD
 楼主 | 发表于 2023-4-22 17:30:18 | 显示全部楼层
willyangget 发表于 2023-4-22 17:27
这只是检查统计的代码,不开单

这个代码可以被调用,就是调用后不起任何作用,语法也没有问题,调用的其它子函数就可以开单
举报

点赞 评论 使用道具

willyangget
DD
| 发表于 2023-4-22 17:35:26 | 显示全部楼层
阿龙18888 发表于 2023-4-22 17:30
这个代码可以被调用,就是调用后不起任何作用,语法也没有问题,调用的其它子函数就可以开单 ...

这段代码我都没用过,如果只是检查一两个数据,另外做就行了。
举报

点赞 评论 使用道具

阿龙18888
DDD
 楼主 | 发表于 2023-4-22 17:42:21 | 显示全部楼层
willyangget 发表于 2023-4-22 17:35
这段代码我都没用过,如果只是检查一两个数据,另外做就行了。

里面的一些自定义函数调用比较方便的,如果自己重新写就比较浪费时间,需要那个功能直接调用哪个不好吗
举报

点赞 评论 使用道具

willyangget
DD
| 发表于 2023-4-22 17:53:45 | 显示全部楼层
阿龙18888 发表于 2023-4-22 17:42
里面的一些自定义函数调用比较方便的,如果自己重新写就比较浪费时间,需要那个功能直接调用哪个不好吗
...

它这个没有return返回数值,是个void,不能直接读值,只是做出来让人参考的。
举报

点赞 评论 使用道具

阿龙18888
DDD
 楼主 | 发表于 2023-4-22 18:04:43 | 显示全部楼层
willyangget 发表于 2023-4-22 17:53
它这个没有return返回数值,是个void,不能直接读值,只是做出来让人参考的。 ...

那要怎么添加返回值,有没有类似这样能用的代码发给我一个,我看的教程上是可以用的,自己写出来的就不行了
举报

点赞 评论 使用道具

willyangget
DD
| 发表于 2023-4-22 18:08:37 | 显示全部楼层
阿龙18888 发表于 2023-4-22 18:04
那要怎么添加返回值,有没有类似这样能用的代码发给我一个,我看的教程上是可以用的,自己写出来的就不行 ...

你看那个"获取输入框的值",那种就是返回数据的。
举报

点赞 评论 使用道具

willyangget
DD
| 发表于 2023-4-22 18:17:39 | 显示全部楼层
willyangget 发表于 2023-4-22 18:08
你看那个"获取输入框的值",那种就是返回数据的。

或者把这段代码直接放在主程序代码中,这些数据才能使用,如果用不了,可能是你打错了一些字母。
举报

点赞 评论 使用道具

阿龙18888
DDD
 楼主 | 发表于 2023-4-22 18:21:05 | 显示全部楼层
willyangget 发表于 2023-4-22 18:17
或者把这段代码直接放在主程序代码中,这些数据才能使用,如果用不了,可能是你打错了一些字母。 ...

我试试看,谢谢
举报

点赞 评论 使用道具

qwe963258
DDD
| 发表于 2023-5-7 21:55:36 | 显示全部楼层
图片里的内容 还是去看官网的文档吧
举报

点赞 评论 使用道具

发新帖
EA交易
您需要登录后才可以评论 登录 | 立即注册

简体中文
繁體中文
English(英语)
日本語(日语)
Deutsch(德语)
Русский язык(俄语)
بالعربية(阿拉伯语)
Türkçe(土耳其语)
Português(葡萄牙语)
ภาษาไทย(泰国语)
한어(朝鲜语/韩语)
Français(法语)