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

 
谢谢你的回答,但我的意思是可以用什么mql4函数来实现这个?
 
MiroshA:
谢谢你的回答,但我的意思是什么mql4函数可以实现这个?
不同的人。取决于你决定开发的算法。
 

你好,我的专家顾问与很多货币对窗口相连,在最有可能的回撤处买入。 我使用全局变量 在EA的运行副本之间交换信息,数据每秒更新。我曾想过将所有这些信息保存在一个文件中,但我没有这样做,因为这样做会频繁地求助于闪存盘。

我真的想不出一个办法,唯一的办法是将每种货币默认设置为一个特定的数字,并使用相同的全局变量,例如01023334455,其中01是美元,02是欧元,3、4、5是交换的数据。

 
pycha:

你好,我的专家顾问与很多货币对窗口相连,在最有可能的回撤处买入。 我使用全局变量在EA的运行副本之间交换信息,数据每秒更新。我曾想过将所有这些信息保存在一个文件中,但我没有这样做,因为这样做会频繁地求助于闪存盘。

我真的想不出一个办法,唯一的办法是将每种货币默认设置为一个特定的数字,并使用相同的全局变量,例如01023334455,其中01是美元,02是欧元,3、4、5是交换的数据。

变量名称中的符号是什么?因此,如果有这样一个GV变量......。...并且有可能在其中存储一个值。这样一来,我们就有了一个变量,它有两个用途。

 

我只是想让软件更加通用。这样,你可以把01-美元,02欧元放在一个文件中,当你打开usdaud窗口时,它会发现aud不在列表中,并会给它编号为03,保存文件中的信息。

 
AlexeyVik:

但在变量名中插入一个符号怎么办?相应地,如果有这样一个GV变量......。......并且可以将一个值写入其中。因此,我们有一个变量,有两个用途。


我将解释为什么它不起作用。 一旦达到一定的时间,程序就会删除所有的变量,以消除不必要的垃圾,如果有的话。 GV1 GV2等等,直到它用完为止。因此,如果有一个由另一份程序创建的变量,它也会被删除,1秒钟后它们又会恢复。如果我用一个符号命名一个变量,我必须通过所有可能的符号变化来删除所有。



我的问题是--除了GV--变量之外,还有没有其他技巧可以让你通过操作系统将数据从一个程序的一个实例传递到另一个实例?

 
pycha:

我只是想让软件更加通用。这样,你可以把01-美元,02欧元放在一个文件中,当你打开usdaud窗口时,它会发现aud不在列表中,并会给它编号为03,保存文件中的信息。


为什么我需要重新分配它?有一个符号清单。它是独立于排序的。事实证明,你可以在列表中找到符号编号并使用它。
 
好的,谢谢大家
 
pycha:

我将解释为什么它不起作用。一旦达到一定的时间,程序就会删除所有的变量,以清除不必要的垃圾(如果有的话)。 GV1 GV2等等,直到它用完为止。因此,如果有一个由另一份程序创建的变量,它也会被删除,1秒钟后它们会被恢复。如果你用一个符号做一个变量名,你必须通过所有可能的符号变化来删除所有的.



我的问题是--除了GV--变量,还有没有其他的技巧,可以通过RAM将数据从程序的一个副本转移到另一个副本?

那么就试着在图书馆里做一个结构,填充并从那里阅读。
 

晚上好!请帮助我理解下面的代码,卖出是按照同样的原则写的,为什么有三个选项要打开,因为我不得不摆弄一下选项,以避免当时打开一个订单--当订单在当前条上打开,在没有平仓的情况下关闭。

而信号仍然存在并再次打开,所以我不得不这样写。问题是,只有一个买入和卖出订单被打开,其他都是沉默。我在此表示感谢。

//+------------------------------------------------------------------+
//| Open Order Buy                                                   |
//+------------------------------------------------------------------+
if (!OrdersTotal()==true)
{
if (PLO0>S0 && PLO1<=S1 && PLO2<S2)
if (!OrdersHistoryTotal()==true)
{
ticket=OrderSend(Symbol(),OP_BUY,Lot,Ask,3,StopLossBuy,0,NULL,0,0,clrGreen);
RefreshRates();
{
if(ticket<0)
{
Print("OrderSend OP_BUY завершилась с ошибкой #",GetLastError());
}
else
Print("Функция OrderSend OP_BUY успешно выполнена");
}
}
if (OrdersHistoryTotal()==true)
if(OrderSelect(ticket,SELECT_BY_TICKET)>0 && OrderCloseTime()>0 && OrderType()==OP_BUY && OrderSymbol()==Symbol()&& PLO0>S0 && PLO1<=S1 && PLO2<S2 && OrderCloseTime()< Time[0])
{
ticket=OrderSend(Symbol(),OP_BUY,Lot,Ask,3,StopLossBuy,0,NULL,0,0,clrGreen);
RefreshRates();
{
if(ticket<0)
{
Print("OrderSend OP_BUY завершилась с ошибкой #",GetLastError());
}
else
Print("Функция OrderSend OP_BUY успешно выполнена");
}
}
if (OrdersHistoryTotal()==true)
if(OrderSelect(ticket,SELECT_BY_TICKET)>0 && OrderCloseTime()>0 && !OrderType()==OP_BUY && OrderSymbol()==Symbol()&& PLO0>S0 && PLO1<=S1 && PLO2<S2)
{
ticket=OrderSend(Symbol(),OP_BUY,Lot,Ask,3,StopLossBuy,0,NULL,0,0,clrGreen);
RefreshRates();
{
if(ticket<0)
{
Print("OrderSend OP_BUY завершилась с ошибкой #",GetLastError());
}
else
Print("Функция OrderSend OP_BUY успешно выполнена");
}
}
}