问吧! - 页 43

 

好吧,我在问...

我如何使用文件功能,使其将数据附加到文件的末尾,而不是覆盖它。

https://www.mql5.com/en/forum/174700/page77

请在这个链接所指向的主题上回复,我通常在那里阅读。

 

如何使用HistoryTotal()检索指定的已关闭订单?

大家好

有没有一种方法,使用HistoryTotal函数,能够找到一个特定的订单(买入或卖出)关闭?

我试着用这段代码,但它似乎不起作用。

int hstTotal=HistoryTotal();

for(i=0;i<hstTotal;i++)

{

//---- check selection result

if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)==false)

{

if (Debug==true) Print("Access to history failed with error (",GetLastError(),")");

break;

}

if (OrderType()==OP_BUY && OrderComment()=="LONG")

{

..take some action...

}

if (OrderType()==OP_SELL && OrderComment()=="SHORT")

{

..take some action...

}

}

[/code]

And when a buy order was in place using OrderSelect I identified this using "LONG" as comment (and "SHORT" if a sell order) :

[code]

Sell:

..

..

OrderSend(Symbol(),OP_SELL,Lots,Entry,Slippage,StopLoss,TakeProfit,"SHORT",0,0);

..

..

Buy:

..

..

OrderSend(Symbol(),OP_BUY,Lots,Entry,Slippage,StopLoss,TakeProfit,"LONG",0,0);

..

..

也许不支持使用MODE_HISTORY模式的OrderComment?如果是这样,我怎样才能解决这个问题?

非常感谢

天际线

 
skyline:
大家好

有没有一种方法,使用HistoryTotal函数能够找到一个特定的订单(买入或卖出)关闭?

我试着用这段代码,但它似乎不起作用。

int hstTotal=HistoryTotal();

for(i=0;i<hstTotal;i++)

{

//---- check selection result

if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)==false)

{

if (Debug==true) Print("Access to history failed with error (",GetLastError(),")");

break;

}

if (OrderType()==OP_BUY && OrderComment()=="LONG")

{

..take some action...

}

if (OrderType()==OP_SELL && OrderComment()=="SHORT")

{

..take some action...

}

}

[/code]

And when a buy order was in place using OrderSelect I identified this using "LONG" as comment (and "SHORT" if a sell order) :

[code]

Sell:

..

..

OrderSend(Symbol(),OP_SELL,Lots,Entry,Slippage,StopLoss,TakeProfit,"SHORT",0,0);

..

..

Buy:

..

..

OrderSend(Symbol(),OP_BUY,Lots,Entry,Slippage,StopLoss,TakeProfit,"LONG",0,0);

..

..

也许不支持使用MODE_HISTORY模式的OrderComment?如果是这样,我怎样才能解决这个问题?

非常感谢

天际线

天际线。

请注意,经纪人会以不同的理由在订单上附加他们自己的评论,而且总是在订单被SL或TP关闭时附加评论。 查询交易的标准是什么? 一旦你确定了这一点,你就会有解决办法。

 
Nicholishen:
Skyline, 请注意,经纪人会以不同的理由在订单上附加他们自己的评论,而且总是在订单被SL或TP关闭时附加评论。 查询交易的标准是什么? 一旦你确定了这一点,你就会有解决办法。

哦,这不是一个好消息。

无论如何,我想解释一下我的问题:在我的EA中,我有不同种类的买入(或卖出),我有一种只要满足条件就必须打开的订单,在一天中也有很多时间(类似于当价格穿透EMA时就下单),另一种是每天只能触发一次,取决于基于不同EMA的不同条件。所以我必须做的是,让第一种买入/卖出订单在一天内多次打开/关闭,而第二种买入/卖出订单必须每天只打开一次,所以我想,如果我能够以某种方式将历史上的任何一种买入/卖出订单本地化,我可以解决我的问题,但这似乎不可能

 

日线图值

codersguru:
大家好。

我收到很多私人信息,要求我帮助处理一些代码。

在这里,您可以发布与MQL4有关的问题,我将尽力回答。

你好。

我正试图为我的EA获取前一天的高点、低点、开盘、收盘价(格林威治标准时间0点)。在MIG和IBFX中,除了周日,它从周六而不是周五获取周日的数值,其他所有日子都能正常工作。FXDD从星期五的收盘价中获得正确的数值,因为它没有星期六的新栏。

其编码为。

高点[1]、低点[1]、收点[1]等。我如何修复周日的代码,使其仅从周五收盘时获得数值,而不是从周六获得。请帮助我!

 
payal:
你好。

我正试图为我的EA获取前一天的高点、低点、开盘、收盘价(格林威治标准时间0点)。除了周日在MIG和IBFX中可以正常工作,因为它从周六而不是周五获取周日的数值。FXDD从星期五的收盘价中获得正确的数值,因为它没有星期六的新栏。

其编码为。

High[1], Low[1], Close[1]等。我如何修改周日的代码,使其只从周五收盘时获得数值,而不是周六。请帮帮我吧!

从你的描述来看,我想你是在日线图上使用的吧?

为了回答你的问题,我是这样解决这个问题的。

if (DayOfWeek() == 0)

{

High[2], Low[2], Close[2], //etc

}

else

{

High[1], Low[1], Close[1],//etc

)

当然,你可以把高点、低点和收盘价安排在你使用它们的时候。

 
payal:
你好。

我正试图为我的EA获取前一天的高点、低点、开盘、收盘价(格林威治标准时间0点)。除了周日在MIG和IBFX中可以正常工作,因为它从周六而不是周五获取周日的数值。FXDD从星期五的收盘价中获得正确的数值,因为它没有星期六的新栏。

它的编码为。

High[1], Low[1], Close[1] 等。我如何修改周日的代码,使其只从周五收盘时获得数值,而不是周六。请帮帮我吧!

检查这个文件https://c.mql5.com/forextsd/forum/4/fibopiv_v3.mq4

你会在那里找到你问题的答案。

谢谢

凯乐

 

谢谢你

Eaglehawk:
从你的描述来看,我想你是在日线图上使用的吧?

为了回答你的问题,我是这样解决这个问题的。

if (DayOfWeek() == 0)

{

High[2], Low[2], Close[2], //etc

}

else

{

High[1], Low[1], Close[1],//etc

)
当然,你会把高点、低点和收盘价安排在你使用它们的地方

非常感谢你。祝你有个愉快的一天

 

谢谢你

Kalenzo:
检查这个文件https://c.mql5.com/forextsd/forum/4/fibopiv_v3.mq4

你会在那里找到你问题的答案。

谢谢

凯乐

谢谢你,祝你有个愉快的一天

 

是否有任何指标可以在每个柱子的上方或下方向我们显示高低杠的数值?