[存档]任何菜鸟问题,为了不使论坛变得杂乱无章。专业人士,不要与它擦肩而过。没有你,哪里都不能去 - 5. - 页 361

 
如果一个参数 在一个用户函数里面,如何优化 它?
 

优化的含义是什么?与测试器中的机器人一起,进行优化。

你能告诉我什么'(' - 不兼容的类型 C:\Documents and Settings\User\My Documents\FxClub\TeleTRADE\experts\Constructor.mq4 (68, 39)
相对返回(errorcomment);?

 
lottamer:
如果一个参数在一个用户函数里面,如何优化它?

把它放在extern
 

我正在尝试编译代码,这是由FAQ善意建议的。

但编译器抵制这种做法,要求在赋值运算符后加上分号(用黄色标注)。

'bool' - 预计分号 C:\Program Files\Alpari NZ MT4\experts\GRAAL-1.mq4 (5, 3)

但我把它们放在....,它仍然问、问、问......、问....。

告诉我他是什么意思?

谢谢你。

  int start()
  
  bool have = true ;
        
  for(int i=0;i<10;i++)
  {

   if(Low[i]<=Low[i+1])
   {have=false; 
   break;} 

} 

if(have == true )
{

OrderSend(Symbol(),OP_SELL,0.1,Bid,1,Ask+1500*Point,Ask-1510*Point,"jfh",123 );// действия если условие соблюдено 

}
else
{

 return(0);
}
 

我在其中一个代码中看到了这个。

if (StringSubstr(AccountCurrency(), 0, 3) == "JPY") 
    {
      ld_24 = MarketInfo("USDJPY" + StringSubstr(Symb, 6), MODE_BID);
      if (ld_24 > 0.1) ld_16 = ld_24;
      else ld_16 = 82;
    }

你能告诉我这是用来做什么的吗?- 我想既然它提到了账户的货币,就应该有一个换算成其他货币的系数。但是......为什么它是固定的?- 这个系数取决于什么?- 在这种情况下,这个数字是82。

而这句话看起来很有意思--它的意思我完全不明白。

MarketInfo("USDJPY" + StringSubstr(Symb, 6), MODE_BID)

因为如果你把 "EURUSD "加到 "USDJPY",例如,但对于第6个字母,你得到的是零--那么为什么要加它呢?嗯...

这对我来说是一些胡言乱语,但为了获得经验,我想了解从一种货币转换到另一种货币的原理。我认为,如果人们使用它(在我的实践中,我没有非美元账户),这不是因为愚蠢的原因。这意味着,它是有意义的。

谢谢你的澄清!我认为这不仅对我来说是有趣的。: ))

 

你好。我写了一个 简单的EA(我正在尝试自己学习)。机器人只打开交易卖出,但不想买入。我明白我没有正确地拼写购买条件或没有正确地划分它们。我在请求帮助。在这里,它是。

外来的int tp=100。

外来的int sl=100。

外部int H=14。

外来的int M=00。

双重的ma1,ma2。

int start()

{

ma1=iMA(NULL,0,18,0,MODE_SMA,PRICE_CLOSE,0)。

ma2=iMA(NULL,0,36,0,MODE_SMA,PRICE_CLOSE,0)。

如果(OrdersTotal ()==0 &&iStochastic (NULL,0,50,30,3,0,1,MODE_MAIN,4)<iStochastic (NULL,0,50,30,3,0,1,MODE_SIGNAL,4) &&ma1<ma2)

OrderSend ("EURUSD", OP_SELL,0.1,Bid,0,Ask+sl*Point,Ask-tp*Point,",123,Red) 。

if (OrdersTotal ()==0 &&iStochastic (NULL,0,50,30,3,0,1,MODE_MAIN,4)>iStochastic (NULL,0,50,30,3,0,1,MODE_SIGNAL,4) &&ma1>ma2)

OrderSend ("EURUSD", OP_BUY,0.1,Ask,0,Bid+sl*Point,Bid-tp*Point,",123,Red);

}

返回(0)。

 
r772ra:

把它放在extern


如何做到这一点?

该函数通过设置止损和止盈来修改订单。这里需要对它们进行优化。

 
solnce600:

我正在尝试编译代码,这是由FAQ向我提出的好意。

但编译器抵制这种做法,要求在赋值运算符后加一个分号(用黄色标出)。

'bool' - 预计分号 C:\Program Files\Alpari NZ MT4\experts\GRAAL-1.mq4 (5, 3)

但我把它们放在....,它仍然问、问、问......、问....。

告诉我他是什么意思?

谢谢你。

另外,在其他地方的代码上面的分号也没有放。编译器只是说到此为止,它在某处丢失了。

而这个代码似乎有所有的标点符号都是正确的。

 
Chiripaha:

或者,代码中的某个地方缺少一个分号。编译器只是说到此为止的某个地方少了一个分号。

但这段代码似乎有所有的标点符号都是正确的。


而上面只有START,没有其他。
  int start()
  
  bool have = true;
  {
  for(int i=0;i<10;i++)
  {

   if(Low[i]<=Low[i+1])
   {
   have=false; 
   break;
   } 

} 

if(have )
{

OrderSend(Symbol(),OP_SELL,0.1,Bid,1,Ask+1500*Point,Ask-1510*Point,"jfh",123 );// действия если условие соблюдено 

}
else
{

 return(0);
}
 
lottamer:


如何才能做到这一点呢?

该函数通过设置止损和接管来修改订单,因此需要对它们进行优化。


好吧,确切地说是Pr0t0tip的 代码(好吧,还有昵称--我累了,要重新打:))。)这些变量extern int sl=100;(等)被映射。因此,你需要声明一个变量,然后它就会出现在owl设置中,然后它的值可以被改变和优化。