您需要 登录 才可以下载或查看,没有帐号?注册
我编了一段代码,想用此计算交易量,但有错误,请帮忙解决。其思想是根据以前的盈利情况,如没有亏损,则以本金一定比例开仓。如果有亏损,则将亏损部分再加到其上。而如果亏损超过一定值时(30%),则从新计算亏损和本金。
就是亏损小时,以一定比例加仓;亏损大时,承认此次亏损,再从头开始。
但测试时显示错误4051,不知为什么
代码如下
double LotsOptimized()
{
double j=0,k=0,l=0,kuisun,xianjin,lot;
for(int i=OrdersHistoryTotal()-1;i i--)
{
OrderSelect(i, SELECT_BY_POS, MODE_HISTORY);
if(OrderSymbol()==Symbol() )
{
j=j+OrderProfit();
k=k+OrderProfit();
if(j =l) l=j; //l为盈利最大值
kuisun=l-j;//计算亏损
xianjin=k+10000+kuisun;//目前应该的本金额,其中10000为初始本金额
if(kuisun 0.3*xianjin) j=0;l=0; //如果亏损大于本金额的30%,重新计算交易单盈利情况
}
lot=xianjin*1%/500+kuisun/500;
}
return(lot);}
外汇交易有很大的风险性,本站所有资源均来自网络,请选择使用,如若出现亏损,本站不承担任何责任!