int Total_BUY=0, Total_SELL=0; // новые переменные как счетчики ордеров//---Раздельный учёт открытых ордеровfor(int i=OrdersTotal()-1; i>=0; i--) // Цикл перебора ордеров
{
// OrderSelect() надо выбирать с помощью ifif(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)); // Если найден ордер, то:
{
if(OrderSymbol()!=Symbol() || OrderMagicNumber()!=Magic) continue;
else
{
if(OrderType()==OP_BUY) Total_BUY++; // считает открытые позиции на покупкуif(OrderType()==OP_SELL) Total_SELL++; // считает открытые позиции на продажу
}
}
}
而你的母亲不允许阅读文件?例如,SendMail
是的,这个功能我当然知道,我的意思是--在终端窗口的一个标签,(交易、资产、账户历史、新闻、警报、邮件等)当邮件来到那里(在内部邮件终端)发送短信或电子邮件(例如接收关于服务器重启的消息等)?
是的,这个功能我当然知道,我的意思是--在终端窗口的一个标签,(交易,资产,账户历史,新闻,警报,邮件等)当邮件来到那里(在内部邮件终端)发送短信或电子邮件(例如接收关于重新启动服务器的消息,等等)?
因此,在思考这个问题的时候,要把问题表述清楚。
如果你想得很清楚,你就会想得很清楚......。
你好。我不明白我的错误是什么,或者说我的程序中的这块有什么缺陷。
//--未结订单的单独核算
for(int i=OrdersTotal()-1;i>=0;i--)//OrdersTotal()-1;i>=0;i-- //Loop of orders
{
OrderSelect(i,SELECT_BY_POS,MODE_TRADES)。// 如果找到了一个订单,那么。
{
if(OrderSymbol()!=符号()||OrderMagicNumber()!=Magic) 继续;
}
{
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==Magic)
if(OrderType()==OP_BUY)
Total++;
}
return;
}
//----
for(int i=OrdersTotal()-1;i>=0;i--)
{
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
{
if(OrderSymbol()!=符号()||OrderMagicNumber()!=Magic) 继续;
}
{
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==Magic)
if(OrderType()==OP_SELL)
Total++;
}
return;
}
//----
该EA在策略测试器和模拟账户中稳定运行,但在编译时产生了两个警告:"OrderSelect "的返回值应被检查,我无法克服。如果可能的话,请告诉我我写错了什么或不完整。
你好。我不明白我的错误是什么,或者说我的程序中的这块有什么缺陷。
//--未结订单的单独核算
for(int i=OrdersTotal()-1;i>=0;i--)//OrdersTotal()-1;i>=0;i-- //Loop of orders
{
OrderSelect(i,SELECT_BY_POS,MODE_TRADES)。// 如果找到了一个订单,那么。
{
if(OrderSymbol()!=符号()||OrderMagicNumber()!=Magic) 继续;
}
{
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==Magic)
if(OrderType()==OP_BUY)
Total++;
}
return;
}
//----
for(int i=OrdersTotal()-1;i>=0;i--)
{
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
{
if(OrderSymbol()!=符号()||OrderMagicNumber()!=Magic) 继续;
}
{
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==Magic)
if(OrderType()==OP_SELL)
Total++;
}
return;
}
//----
该EA在策略测试器和模拟账户中稳定运行,但在编译时显示一个警告:应检查 "OrderSelect "的返回值,我无法克服这个问题。如果可能的话,请告诉我我写错了什么或不完整。
你好。我不明白我的错误是什么,或者说我的程序中这块的不足之处。
...1) 要在这里正确粘贴代码,请点击SRC,然后在方框中复制你的代码(如下图)。
2) 试试这个代码。
我怎样才能获得警报
Alert(OrderOpenPrice());
显示订单的开盘价,小数点后5位?NormalizeDouble(OrderOpenPrice(),Digits)没有帮助,(订单是预先选择的)。
我怎样才能获得警报
显示小数点后5位的订单开盘价?NormalizeDouble(OrderOpenPrice(),Digits)没有帮助,(订单是预先选择的)。
你好,亲爱的!
请帮助翻译寻找两条线段的交点坐标的算法
摘自文章。
这很简单!
x1,y1和x2,y2是第一段的顶点的坐标。
x3,y3和x4,y4是第二段的顶点的坐标。
为了找到交点,我们要做直线的方程。
第一个方程式。
(x-x1)/(x2-x1)=(y-y1)/(y2-y1);
第二方程
(x-x3)/(x4-x3)=(y-y3)/(y4-y3);
这些方程定义了一条通过两点的直线,这就是我们需要的。
从这些方程中,我们通过以下公式找到x和y。
x:=((x1*y2-x2*y1)*(x4-x3)-(x3*y4-x4*y3)*(x2-x1))/((y1-y2)*(x4-x3)-(y3-y4)*(x2-x1));
y:=((y3-y4)*x-(x3*y4-x4*y3))/(x4-x3);
由于我们的线相交,它们有一个共同的交点,坐标为(x,y),我们需要找到这个交点。
为了使交点属于我们的线段,我们需要对其进行约束,即检查条件。
如果
(((x1<=x)and(x2>=x)and(x3<=x)and(x4>=x))或((y1<=y)and(y2>=y)and(y3<=y) and(y4>=y))
则这些线段有一个交点,如果没有,则没有交点。
你还应该用角度系数检查这些线段的平行度。
k1:=(x2-x1)/(y2-y1)。
k2:=(x4-x3)/(y4-y3)。
其中k1和k2是线段的斜角与轴ОХ的正方向的切线,如果k1=k2,那么线段是平行的,所以它们没有交点。
也许有人在档案馆里有一个现成的?
在MT4 中是否有任何可能性或功能,通过短信或电子邮件将信息重定向到内部终端邮件(关于杠杆变化、服务器重新启动等)。
P.s 终端窗口的一个标签,(交易、资产、账户历史、新闻、警报、MESSAGE 等)?