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

 
嗯,有人能帮助我吗?
 
Chiripaha:

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

我知道,但外部变量在用户函数内不起作用,他们声明自己的变量,这就是问题所在。

而且我无法摆脱这个功能。有一个修改的顺序....

 
solnce600:
而在这之上,只有 "开始",没有其他东西。

啊哈哈哈哈--我们来了......。我把它放在了错误的地方--我应该把一个变量放在一个括号后面。

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 );// действия если условие соблюдено 
    }

   return(0);
  }

而且底部还有额外的,还有 一个大括号。你没有遵循你的文本的边距和单一的结构(风格)。当你正确书写一切时,所有的错误(不一致之处)都会立即显现。写代码时要小心。- 它不应该骂人。

 

这很奇怪。我从你的代码中得到这个错误

'bool' - 分号预期C:\Documents and Settings\User\My Documents\FxClub\TeleTRADE\experts\dot.mq4(33,4)。

实际上,在bool have = true上。

 
正是如此。否则就是逻辑上的转折--else,或者--函数通过给出零来完成其工作,或者什么?
 
Chiripaha:

啊哈哈哈--有了,找到了......。错误的地方--我应该把变量放在托架后面。

而且底部还有额外的,还有一个方形支架。你在写作时不尊重边际。当你把所有的东西都放对了,所有的错误(不一致的地方)都会立即显现。要注意你的代码编写方式。- 这不应该是一种责骂。


非常感谢你......,没有你我该怎么办.....,上帝保佑你.....,其余的你将在利润上购买....。
 
lottamer:

我知道,但外部变量在用户函数内不起作用,他们声明自己的变量,这就是问题所在。

而且我无法摆脱这个函数。它修改了order....。

为什么它不工作?- 如果你把任何全局变量 带入一个用户函数,它将按照里面声明的那样工作。但内部变量的数据只对这个函数可见--进一步说,其作用是有限的。而全局(extern 变量的值对整个程序都是可见的。这就是区别。但如果是外部的--同样是外部的 -- ,这个变量也会出现在设置中。- 这是一本教科书。重读它,它有帮助。: ))当然,在声明一个外部变量时,必须在函数内部引用这个全局变量。并确保这些名字不完全相同。否则,你将以相同的名称声明外部和内部。- 虽然你可以这样做,但我认为函数会取内部变量的值--我不太记得了。这就是你必须通过教科书的地方。如果你想做实验,就自己动手吧。我通常给出不同的名字,以避免混淆,仅此而已。
 
Chiripaha:
为什么它不工作?- 如果你把任何全局变量带入一个自定义函数,它将像里面声明的那样工作。内部变量的数据只对这个函数可见--进一步说,它的作用是有限的。而全局(extern 变量的值对整个程序都是可见的。这就是区别。但如果是外部的--同样是外部的 -- ,这个变量也会出现在设置中。- 这是一本教科书。重读它,它有帮助。: ))当然,在声明一个外部变量时,必须在函数内部引用这个全局变量。并确保这些名字不完全相同。否则,你将以相同的名称声明外部和内部。- 虽然可以这样做,但似乎函数会取内部变量的值--我不太记得了。这就是你必须通过教科书的地方。如果你想做实验,就自己动手吧。我通常给出不同的名字,以避免混淆,仅此而已。


非常感谢......我想,如果里面的东西在外面看不到,那么外面的东西在里面也看不到......
 

你好。我已经写了一个 简单的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)。

 
Pr0t0tip:
嗯,有人能帮助我吗?

让我们来看看 - 我不是很有经验。但我们会试一试...: ))

同时,你应该学会使用SRC 按钮--它允许 正确、漂亮、清晰地插入代码。所以那些将帮助你的人(现在和将来),读起来会比较容易。如果你这样做,你可能会弄坏你的眼睛。: ))