if (invertStart == true) // получил событие, о том что есть две позиции и одну можно закрыть.
{
int npos_L1=0; NPos_L1(npos_L1);
if(npos_L1==1)
{
int positions=PositionsTotal();
for(int i=0;i<=positions;i++)
{
ulong ticket=PositionGetTicket(i);
if(ticket!=0 && PositionGetInteger(POSITION_TYPE)== POSITION_TYPE_SELL && POSITION_PROFIT>=50) // 50 допустим...
{
m_trade.PositionClose(ticket);
i--;
invertStart = false;
return;
}
}
}
}
ulong ticket=ULONG_MAX;
double profit=DBL_MIN;
if(invertStart == true) // получил событие, о том что есть две позиции и одну можно закрыть.
{
int positions=PositionsTotal();
for(int i=PositionsTotal()-1; i>=0; i--)
{
ulong tmp_ticket=PositionGetTicket(i);
if(ticket!=0)
{
double tmp_profit=PositionGetDouble(POSITION_PROFIT);
if(tmp_profit>profit)
{
ticket=tmp_ticket;
profit=tmp_profit;
}
}
}
//---if(ticket!=ULONG_MAX)
m_trade.PositionClose(ticket);
}
调整nnc_arr_in数组的大小,比其在结构数组0单元的大小多1。
谢谢你。
问题mql5
有两个敞口头寸 和一个信号(Flag==true)。
该信号只应关闭一个头寸,即有较大利润的头寸。
如何只关闭利润较高的那家?
处理这一事件的最佳方式是什么?
我正在尝试这样做。
最后一个未结头寸将因此被关闭。
请告知如何正确操作,我希望有一个例子。 我读过参考书和入门书,但我并不总是理解其中的奥妙。
问题mql5
有两个敞口头寸 和一个信号(Flag==true)。
该信号只应关闭一个头寸,即有较大利润的头寸。
如何只关闭利润较高的那家?
处理这一事件的最佳方式是什么?
我正在尝试这样做。
最后一个未结头寸将因此被关闭。
请告知如何正确操作,我需要一个例子。 我读过参考书,但我并不总是了解细节。
代码。
代码。
非常感谢,似乎可以工作了。 只是抱怨票据,因为已经有这样一个局部变量。
声明'ticket'隐藏了局部变量 Lim_Stop_03_Sell_pos_06.mq5 299 10
其中一些票可能需要藏在里面。
非常感谢你,它似乎在工作。 只是它抱怨门票,因为已经有这样一个局部变量。
声明'ticket'隐藏了局部变量 Lim_Stop_03_Sell_pos_06.mq5 299 10
其中一些票可能需要藏在里面。
重命名该变量
в
当然,不要忘记在你的代码中重命名它。
重命名该变量
в
当然,不要忘记在代码中也重命名它。
是的,谢谢,我已经把它整理好了......重新命名。
日安!
你能告诉我在哪里可以找到一个EA,如果价格高于顶线,或低于底线(该线是水平的或倾斜的,可以在图表上移动),可以发送电子邮件或推送信件。
也许有人有,请分享。
仅在MT5上
谢谢你!
如果我在EA中连接该指标
然后我用CopyBuffer(ind_handle, 0, 1, 3, buffer1)获得指标缓冲区。
我是否必须读取指标缓冲区 的每一个刻度?
我需要一个答案,最好是来源--文档、文章。
1.指标总是以平行方式计算自己
2.指标只在调用CopyBuffer()的时候计算。
如果我在EA中连接该指标
然后我用CopyBuffer(ind_handle, 0, 1, 3, buffer1)获得指标缓冲区。
我是否必须读取指标缓冲区 的每一个刻度?
我需要一个答案,最好是来源--文档、文章。
1.指标总是以平行方式计算自己
2.指标只在调用CopyBuffer()的时候计算。
在某处有关于在每个刻度上计算指标的信息。据我所知,默认情况下,指标只有在被访问时才会被重新计算,但也有可能让它在每个tick上重新计算。如何做到这一点,你应该在文档中寻找。
伊戈尔,如果指标写得正确,只能改变当前条形图的数值。因此,如果你需要当前值,你应该在使用这些新值之前马上使用CopyBuffer。而如果我们需要历史价值,它们不会改变,也没有理由重新阅读它们。
在某处有一些关于在每个刻度上计算指标的信息。在我的印象中,默认情况下,指标只有在被调用时才会重新计算,但也有可能使其在每一个刻度上都重新计算。如何做到这一点在文档中。
好吧,那么我将不得不测试它,无论如何
问题出在指标的重绘 上,我还不想重写指标。