[存档!]任何菜鸟问题,为了不使论坛变得混乱。专业人士,不要路过。没有你,哪里都不能去 - 4. - 页 477 1...470471472473474475476477478479480481482483484...631 新评论 Dimka-novitsek 2012.10.30 13:36 #4761 是啊...对。 Dimka-novitsek 2012.10.30 13:38 #4762 这是不可行的。啊,我会把狗在新的EA中一块一块地编出来的 PapaYozh 2012.10.30 13:41 #4763 Dimka-novitsek: 不起作用。啊,我会在新的EA中一块一块地编排狗的。 这就是我在这种情况下的做法。 - 我把函数的所有文字都注释出来。 - 我把评论分门别类地记下来,编译后等待错误的出现。 Михаил 2012.10.30 13:50 #4764 if (strela1>strela2&&BUY==0&&SELL==0) { OrderSend( Symbol( ), OP_BUY, lot, Ask, 3, NormalizeDouble( Bid- (stoplos*Point),Digits), NormalizeDouble( Ask+( takeprofit*Point),Digits), NULL, magicnumber, 0, CLR_NONE); Print( "strela1>strela2&&BUY==0&&SELL==0 " , GetLastError() ," Ask ",Ask, " NormalizeDouble( Bid- (stoplos*Point),Digits) ", NormalizeDouble( Bid- (stoplos*Point),Digits), " NormalizeDouble( Ask+( takeprofit*Point),Digits) ", NormalizeDouble( Ask+( takeprofit*Point),Digits)); } 那么 for( int A=0; A<100 ; A++) { double strela1 = iCustom(NULL, taymfreym, "индикатор", 2, A); double strela2 = iCustom(NULL, taymfreym, "индикатор", 3, A); int BUY=0,SELL=0;int ticket; Print ( A, " strela1 " , strela1 , " strela2 " , strela2 ); for(int i=1; i<=OrdersTotal(); i++) { if (OrderSelect(i-1,SELECT_BY_POS)==true) // Если есть следующий { // Анализ ордеров: if (OrderSymbol()!=Symbol( ) )continue; // Не наш фин. инструм if (OrderMagicNumber( ) !=magicnumber)continue; if (OrderType()==0){ BUY++; ticket=OrderTicket( );} if (OrderType()==1) {SELL++;ticket=OrderTicket( );} } } } 像这样 if (strela1<strela2&&BUY==0&&SELL==0) { OrderSend( Symbol( ), OP_SELL, lot, Bid, 3, NormalizeDouble( Ask- (stoplos*Point),Digits), NormalizeDouble( Bid+( takeprofit*Point),Digits), NULL, magicnumber, 0, CLR_NONE) ; Print( "strela1<strela2&&BUY==0&&SELL== " , GetLastError() ," Bid ",Bid, " NormalizeDouble( Ask- (stoplos*Point),Digits) ", NormalizeDouble( Ask- (stoplos*Point),Digits), " NormalizeDouble( Bid+( takeprofit*Point),Digits) ", NormalizeDouble( Bid+( takeprofit*Point),Digits)); } 以此类推 Print ( " Конец " ); 提示1:用缩进的方式构造你的程序提示2:在搜索此类错误以及其他许多错误时,使用代码部分的注释/* */ - 语法错误很快就会被发现。 Михаил 2012.10.30 13:59 #4765 Dimka-novitsek: 谢谢你!!!。我最好看一下代码...我还在一张纸上画了括号--平衡!!!。 零敲碎打并不意味着正确 - 必须遵循嵌套规则 Михаил 2012.10.30 14:01 #4766 Dimka-novitsek: 分支点在哪里?还是我很笨...我的意思是,我们只是在条件下开了一个订单! if运算符是一个分支运算符,但你的代码中缺少第二个分支(else)。 Dimka-novitsek 2012.10.30 14:06 #4767 谢谢你!!!。你知道,没有这一行,它也能编译。Print( "strela1<strela2&&BUY==0&&SELL== " , GetLastError(), " Bid ", Bid, " NormalizeDouble( Ask- (stoplos*Point),Digits) ", NormalizeDouble( Ask- (stoplos*Point),Digits), " NormalizeDouble( Bid+( takeprofit*Point),Digits) ", NormalizeDouble( Bid+( takeprofit*Point),Digits);而且我不认为这是犯罪!!!。我是把整个EA分成若干部分,分别进行编译,直到找到根基为止,可以说是把整个EA转移到了这里。 Михаил 2012.10.30 14:11 #4768 Dimka-novitsek:谢谢你!!!。你知道,没有这一行,它也能编译。而且我不认为这有什么不对!!。可以说,是我把整个EA分成若干部分,分别进行编译,直到找到根基。缺少打印 的结尾括号Print( "strela1<strela2&&BUY==0&&SELL== " , GetLastError(), " Bid ", Bid, " NormalizeDouble( Ask- (stoplos*Point),Digits) ", NormalizeDouble( Ask- (stoplos*Point),Digits), " NormalizeDouble( Bid+( takeprofit*Point),Digits) ", NormalizeDouble( Bid+( takeprofit*Point),Digits)); [Excluído] 2012.10.30 14:26 #4769 下午好...我已经写了一个简单的指标(见附件)。 简而言之,该指标的本质:该指标由3条线组成。 1条线 显示了两个MAs在Close上的差值,其中a 和b 的周期 (有条件的)。 第2 行显示了两个MAs在Close上的差异,其中c 和d 的周期 (有条件的);a≠b≠c≠d。 第3行 显示线1和线2之差的MA,即某一时期的MA(线1-线2)。 问题:为什么线3(黑色)在图中显示为一条直线? 图片说明:上图显示的是期望的结果,下图显示的是我创建的指标 注:如果有人能找到更多的错误,我将非常感谢你的提示。P.S. 为了不在论坛上乱扔垃圾,提前感谢您的反馈意见 附加的文件: aom3.mq4 12 kb Михаил 2012.10.30 14:47 #4770 首先,尝试将第四个不可显示的缓冲区ExtMapBuffer4与指示器缓冲区连接起来SetIndexBuffer(3,ExtMapBuffer4);因为你写 IndicatorBuffers(4); //устанавливаем общее количество всех индикаторов, участвующих в расчете всех индикаторных линий 在开始时,你描述了3条线/缓冲区顺便说一下,那么你就不需要把它声明为一个时间序列,并对它进行检查。 1...470471472473474475476477478479480481482483484...631 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
不起作用。啊,我会在新的EA中一块一块地编排狗的。
这就是我在这种情况下的做法。
- 我把函数的所有文字都注释出来。
- 我把评论分门别类地记下来,编译后等待错误的出现。
那么
像这样
以此类推
提示1:用缩进的方式构造你的程序
提示2:在搜索此类错误以及其他许多错误时,使用代码部分的注释/* */ - 语法错误很快就会被发现。
谢谢你!!!。我最好看一下代码...我还在一张纸上画了括号--平衡!!!。
零敲碎打并不意味着正确 - 必须遵循嵌套规则
分支点在哪里?还是我很笨...我的意思是,我们只是在条件下开了一个订单!
谢谢你!!!。
你知道,没有这一行,它也能编译。
而且我不认为这是犯罪!!!。我是把整个EA分成若干部分,分别进行编译,直到找到根基为止,可以说是把整个EA转移到了这里。
谢谢你!!!。
你知道,没有这一行,它也能编译。
而且我不认为这有什么不对!!。可以说,是我把整个EA分成若干部分,分别进行编译,直到找到根基。
缺少打印 的结尾括号
下午好...我已经写了一个简单的指标(见附件)。
简而言之,该指标的本质:该指标由3条线组成。
1条线 显示了两个MAs在Close上的差值,其中a 和b 的周期 (有条件的)。
第2 行显示了两个MAs在Close上的差异,其中c 和d 的周期 (有条件的);a≠b≠c≠d。
第3行 显示线1和线2之差的MA,即某一时期的MA(线1-线2)。
问题:为什么线3(黑色)在图中显示为一条直线?
图片说明:上图显示的是期望的结果,下图显示的是我创建的指标
注:如果有人能找到更多的错误,我将非常感谢你的提示。
P.S. 为了不在论坛上乱扔垃圾,提前感谢您的反馈意见
首先,尝试将第四个不可显示的缓冲区ExtMapBuffer4与指示器缓冲区连接起来
因为你写
在开始时,你描述了3条线/缓冲区
顺便说一下,那么你就不需要把它声明为一个时间序列,并对它进行检查。