初学者的问题 MQL4 MT4 MetaTrader 4 - 页 236

 
s4sha45:

大家好!刚开始从YouTube视频的例子中学习如何写一个简单的交易机器人。 我想写一个脚本来打开第一个买入订单,而且必须在我没有其他未结订单的情况下打开,脚本是这样写的,但订单没有打开,请告知错误在哪里

<

空白的OnTick()

{

如果(OP_SELL==0&&OP_BUY==0)

int ticket=OrderSend(Symbol(,OP_BUY,Lot1,Ask,Slippage,StopLoss,TakeProfit, "My order",MagicNumber,0,clrGreen);

>

你已经写了(俄语逐字记录)。

如果1等于00等于0,那么就开仓。

 
Artyom Trishkin:

你已经写了(俄语逐字记录)。

如果1等于00等于0,那么就开仓。

在视频中,作者把这一行写成了if (b==0&& s==0),而且成功了。在这之前,他没有输入任何变量b和s。
 
bool FindOrder(int eType, int eMagic, string eSymbol)
   {
   for(int i=OrdersTotal()-1; i>=0; i--)
      {
      if(!OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) continue;
      if(OrderCloseTime()>0) continue;
      if(OrderSymbol()!=eSymbol) continue;
      if(OrderMagicNumber()!=eMagic) continue;
      if(OrderType()!=eType) continue;
      return(true);
      }
   return(false);
   }
bool b=FindOrder(OP_BUY,Magic,Symbol());
if(b)
   {
   
   }
 
s4sha45:

大家好!刚开始从YouTube视频的例子中学习如何写一个简单的交易机器人。 我想写一个脚本来打开第一个买入订单,而且必须在我没有其他未结订单的情况下打开,脚本是这样写的,但订单没有打开,请告知错误在哪里

<

void OnTick()

  {

  if (OrdersTotal()==0)   int ticket=OrderSend(Symbol(),OP_BUY,Lot1,Ask,Slippage,StopLoss,TakeProfit,"My order",MagicNumber,0,clrGreen);

  }

如果你需要在没有买入、卖出、止损或限价订单的情况下开立一个订单。

OrdersTotal()
已关闭的订单不在考虑范围之内。
 
Александр:

如果你需要在没有买入、卖出、止损或限价订单的情况下开立一个订单。

已关闭的订单不在考虑范围之内。
谢谢你!
 

晚上好,我有个问题:我需要将每个tick的市场价格与某个csv文件(7列)的价格进行比较,订单被分组为系列,每个系列的订单数量 可能是任意的。我想了解哪种方法更快:是在初始化时花时间创建一个包含每个订单所有数据的数组,然后在tick上迭代数组,还是每次都打开文件并将所有数据复制到游标中。我想知道访问文件和阵列的大概时间是多少,我将获得多少时间。谢谢!

 
Karomos:

晚上好,我有个问题:我需要将每个tick的市场价格与某个csv文件(7列)的价格进行比较,订单被分组为系列,每个系列的订单数量 可能是任意的。我想了解哪种方法更快:是在初始化时花时间创建一个包含每个订单所有数据的数组,然后在tick上迭代数组,还是每次都打开文件并将所有数据复制到游标中。我想知道访问文件和阵列的大概时间是多少,我将获得多少时间。谢谢你!

你写的不是很清楚,但访问内存肯定比从文件中读取快。

 

你好。你能告诉我是否可以用程序调用EA的参数窗口?

问题是,参数只能用常数初始化,我想先用某种算法计算它们

在我的EA参数中,我有BUY_STOP和SELL_STOP水平。实际上,在大多数情况下,专家顾问可以自己计算出这些水平,我只需要检查它们的正确性。

因此,我想让我的EA在启动时计算出这些水平,并将其放入参数中,然后显示参数窗口。如果它们是正确的,我就按下 "确定 "键,EA继续其正常操作。如果我的 "专家顾问 "错误地识别了水平,我会将它们纠正为正确的数值。如果无法以编程方式显示参数窗口,那么建议我们是否可以在显示EA的参数窗口之前,以某种方式初始化参数(我已经写了一个计算参数的函数)。

 

亲爱的专家们!

你能告诉我如何找到搜查令吗?

情况是这样的。

- 我的EA在同一时间开了2个订单。SL是一样的,TP没有设置。

- 然后,在某些情况下,我的EA将关闭第一个订单,我必须在第二个订单中纠正SL。

问题是如何找到二阶?

问题是,可能有几个开放的对子。但是,每一对的开放时间 是不同的。


在我看来,可能有很多变种。如何使之更容易、更正确?

我不想在评论中写票,因为经纪人可能会删除它。

实际上,第二个命令可以赋予另一个魔力。但这并不能解决这个问题。

我们可以按时间或按开盘价搜索。但哪里能保证第二笔订单以同样的价格开出呢?

你有什么建议?

 

MT5的指标用两种颜色画出一条线

行的值都在同一个缓冲区。

在向指标请求数值时,有什么方法可以识别线条的颜色吗?