任何菜鸟问题,为了不给论坛添乱。专业人士,不要路过。没有你就无处可去 - 6. - 页 383

 
clubsmi:

请告知如何在MQL4中计算百分比

例如,x=10+3%,如何用程序写?

我在参考书中找不到它。



x=10*1.03
 
r772ra:


x=10*1.03



好的!但我不会每次都重新计算它们,我需要一个能自己计算出百分比的函数。

y=3; // 数字随着每一个刻度 不断变化

x=10+yP; //代替P,你需要一个百分比,我不能用mql写。

 
if(Line_7 > Lines_1 && Lines_1 > Line_6)
{
OrderSend(Symbol(),OP_BUY,Lots_Typ,Ask,5,0,0);
}
if(AccountProfit() > 50)
{ 
OrderClose(Symbol(),5,Ask,0);
}
逻辑代码链。

1 如果第7行高于第1行,第1行高于第6行,
2 然后
3 以Lots_Typ成交量开出买单,可能滑落5点,没有SL和TP,以收盘价。

1 如果这个账户的潜在利润高于50美元,
2 然后
3 所有的订单都被关闭,无论其属性如何(数量、买入/卖出,...)。

逻辑链的排列是正确的,但逻辑链上的代码却不正确。

OrderClose(Symbol(),5,Ask,0);
错就错在这里。
如果我们建立一个逻辑链,相对于上述代码,我们会得到。
平仓5手订单,平仓价和可能的滑点为0点。

如何纠正?请告知。
 
clubsmi:



好的!我不能每次都重新计算,我需要一个能自己计算出百分比的函数。

y=3; //数字随着每一个刻度不断变化

x=10+yP; //我们需要百分比而不是P,我不能用mql写。

与什么有关?
 
clubsmi:



好的!我不能每次都重新计算;我需要一个能自己计算出百分比的函数。

y=3; //数字随着每一个刻度不断变化

x=10+yP; //代替P,我们需要百分比。

//+----------------------------------------------------------------------------+
double Percent(double x, double y) {return(x*0.01*y);}
//+----------------------------------------------------------------------------+

x - 数字,y - 需要的百分比

传递数字x和百分比y,输出是数字x的百分比y。

 
Link_x:
逻辑代码链。

1 如果第7行高于第1行,第1行高于第6行。
2然后
3 在收盘价的基础上,以Lots_Typ成交量开出买单,可能出现5个点的滑点,没有SL和TP,。

1 如果这个账户的潜在利润高于50美元。
2然后
3、所有的订单都将被关闭,不管它们的属性是什么(数量、买/卖,...)。

逻辑链是正确的,但逻辑链的代码却不正确。

错就错在这里。
如果我们建立一个逻辑链,相对于上述代码,我们会得到。
平仓5手订单,平仓价和可能的滑点为0点。

如何纠正?请告知。

亲爱的先生,请仔细阅读文件。

具体而言

BoolOrderClose( int ticket, double lots, double price, int slippage, color Color=CLR_NONE)
关闭职位。如果函数成功完成,返回TRUE。如果函数失败,返回FALSE。要获得有关错误的信息,请调用函数GetLastError()
参数。
门票 - 订单的唯一序列号。
许多 - 要关闭的地段数量。
价格 - 收盘价。
滑移 - 最大滑点的数值,单位是点。
颜色 - 图表上收盘箭头的颜色。如果缺少该参数或其值为CLR_NONE,则箭头不会显示在图表上。
例子。
 if(iRSI(NULL,0,14,PRICE_CLOSE,0)>75) { OrderClose(order_id,1,Ask,3,Red); return(0); }

 
r772ra:

亲爱的先生,请仔细阅读文件。

特别是

BoolOrderClose( int ticket, double lots, double price, int slippage, color Color=CLR_NONE)
关闭职位。如果函数成功完成,返回TRUE。如果函数失败,返回FALSE。要获得有关错误的信息,请调用函数GetLastError()
参数。
门票 - 订单的唯一序列号。
许多 - 要关闭的地段数量。
价格 - 收盘价。
滑移 - 最大滑点的数值,单位是点。
颜色 - 图表上收盘箭头的颜色。如果缺少该参数或其值为CLR_NONE,则箭头不会显示在图表上。
例子。

我知道这一切。
我怎样才能使所有的订单都被关闭,不管它们的特性如何?
 
Link_x:
我知道这一切。
我怎样才能使所有的订单都被关闭,不管它们的特性如何?

你知道,对你有好处。

OrderClose(Symbol(),5,Ask,0) //зто твое

OrderClose(order_id,1,Ask,3,Red); // А зто пример из документации

// Найди отличие
 
artmedia70:

x - 数字,y - 所需百分比

通过数字x和所需的百分比y,输出是数字x的百分比y。



这正是我所需要的,非常感谢你... 太简单了,我想了半天!再次感谢你

 
r772ra:

你知道,对你有好处。


在我的例子中:随机订单号,成交量5,收盘价,滑点0,没有箭头。 在文件的例子中:订单号按订单_id计算,成交量为1,按收盘价计算,有滑点3,箭头为红色。 1 有order_id计算--没有order_number计算 2 volume (1) - volume (5) 3 slippage (3) - slippage (0) 4 arrow red - no arrow 发现差异。 现在让我们回到任务上来。 任务1 编写代码,无例外地关闭所有未结订单。 我的理由是。 写这种代码是可能的,但问题是:"如何写? 1 - 创建一个代码,跟踪所有未结订单(总数量、订单群编号、买入/卖出、允许的滑点)。 2 - 创建打开订单的代码,并将数据发送到监控所有这些订单的代码(一种数据库被创建)。 3 - 创建的代码在某些条件下关闭所有订单,只从 "奇特的数据库 "中获取未使用的数据。 这些数据不会被重复使用。 我们可以这样做,但我认为还有另一种不太麻烦的变体。 这就是为什么我问 "如何?"。