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

 

mql4如何确保返回正确的值而不是错误/空值?

 
Xopb:

弗拉基米尔,谢谢你!我有#include <MT4Orders.mqh>的附件。 它工作得很好--也许代码很乱,但它不是用于真正的账户。我不明白为什么测试器中的任何货币对设置只对嵌入多货币EA的3位数货币对正常工作。如我设置一个5位数的对子,它也能工作,但以不同的(相邻的)价格打开,即违反了工作原则,可能是什么原因?

我们在某处犯了一个错误。以下是工作代码。

#include <MT4Orders.mqh>

input string inSymb = "USDJPY";

TICKET_TYPE Buy( const string Symb )
{
  const double Ask = SymbolInfoDouble(Symb, SYMBOL_ASK);
  
  return(OrderSend(Symb, OP_BUY, 1, Ask, 0, 0, 0));
}

void OnTick()
{
  if (!OrdersTotal())
  {
    Buy(_Symbol);
    Buy(inSymb);
  }
}


你的代码可以随时在模拟账户上快速检查。


SZZY 请记住,并不是所有的论坛成员的地位或评级都表明有足够的能力。

 
你能告诉我如何在mt4中使用Canvas吗?也许有人有一个绘制文字和形状的简单例子?
 
Yevhenii Levchenko:
你能告诉我如何在mt4中使用Canvas吗?也许有人有一个简单的绘制文字和形状的例子?

实际上与MT5的情况相同。请看现有的例子并照做。什么不起作用--问吧,人们会告诉你。

 

你好。什么是错误?在for循环中,int排在i之前。

 
Vladimir Makhnin:

你好。什么是错误?在for循环中,int排在i之前。

int i=0;

for(i=OrdersTotal()-1; ...) {
 if(...) {
 
Vitaly Muzichenko:

为什么?那里可能没有#property strict,或者说这不是第一个错误。

 
Vitaly Muzichenko:
Artyom Trishkin:


谢谢
我在int count = 0之后加了一行int i=0
错误已经消失了

 
Vladimir Makhnin:

谢谢
我在int count = 0之后加了一行int i=0
错误消失了

封装的怪癖,如果我理解正确的话,变量的可见性只在它被声明的函数中,它在下一个函数中不再可见。而在函数将在所有中可见。你可以把第二个int放在if中。而foe和iff是独立的函数。

 
你好!你能告诉我如何启用蜡烛收盘时的警报 吗?例如,这意味着:例如在TF5中,信号穿过MA,但它是在第二分钟的某个地方触发的,警报应该在当前蜡烛的收盘时发挥作用....
原因: