[存档]任何菜鸟问题,为了不使论坛变得杂乱无章。专业人士,不要路过。没有你就无处可去 - 3. - 页 418 1...411412413414415416417418419420421422423424425...652 新评论 elmucon 2011.12.09 08:17 #4171 sss2019: 谢谢你。所以M1期对应的是值1,M5期对应的是值5,所以原来H1期对应的是值60,H4期对应的是值240对吗? 是的,这是正确的。 PERIOD_M1 1 1 минута PERIOD_M5 5 5 минут PERIOD_M15 15 15 минут PERIOD_M30 30 30 минут PERIOD_H1 60 1 час PERIOD_H4 240 4 часа PERIOD_D1 1440 1 день PERIOD_W1 10080 1 неделя PERIOD_MN1 43200 1 месяц 0 (ноль) 0 Период текущего графика [ARCHIVE] Any rookie question, I can't find the Metatrader Mobile How to melnikas 2011.12.09 08:18 #4172 你好! 请帮助我理解。我想写一个简单的指标,但不知为何它给出的是空值。 在我看来,错误似乎就在这个地方的某个地方 ExtVolumesBuffer[i]=dVolume; 因为这个操作在ExtVolumesBuffer数组中的字段并没有改变任何东西。 我明白,在某处我犯了一个错误,但我不明白在哪里。 提前感谢! #property indicator_separate_window #property indicator_minimum 0 #property indicator_buffers 1 #property indicator_color1 Black //---- indicator buffers double ExtVolumesBuffer[]; double emaExtVolumesBuffer[]; //+------------------------------------------------------------------+ int init() { //---- indicator buffers mapping SetIndexBuffer(0,emaExtVolumesBuffer); //---- drawing settings SetIndexStyle(0,DRAW_LINE); //---- sets default precision format for indicators visualization IndicatorDigits(0); //---- name for DataWindow and indicator subwindow label IndicatorShortName("emaVolumes"); SetIndexLabel(0,"emaVolumes"); //---- initialization done return(0); } //+------------------------------------------------------------------+ int start() { int i,nLimit,nCountedBars; //---- bars count that does not changed after last indicator launch. nCountedBars=IndicatorCounted(); //---- last counted bar will be recounted if(nCountedBars>0) nCountedBars--; nLimit=Bars-nCountedBars; //---- for(i=0; i<nLimit; i++) { double dVolume=Volume[i]; ExtVolumesBuffer[i]=dVolume; emaExtVolumesBuffer[i]=iMAOnArray(ExtVolumesBuffer,0,10,0,MODE_EMA,i); Print(Volume[i],Volume[i+1],Volume[i+2],Volume[i+3]); Print(ExtVolumesBuffer[i],ExtVolumesBuffer[i+1],ExtVolumesBuffer[i+2],ExtVolumesBuffer[i+3]); } //---- done return(0); } //+------------------------------------------------------------------+ elmucon 2011.12.09 08:27 #4173 sss2019: 谢谢你。所以,值1对应的是M1期,值5对应的是M5期,所以它意味着值60对应的是H1期,值240对应的是H4期,对吗? 我需要这样的结构:当选择M1期时,情况是1,当选择M15期时,情况是15。这能行吗?还是必须按顺序进行案例1、案例2、案例3? int CurrentGrafPeriod () { int Ba; int GrafPeriod = Period(); switch(GrafPeriod) { case 1 : Ba = 60; break; case 5 : Ba = 12; break; case 15 : Ba = 4; break; case 30 : Ba = 2; break; case 60 : Ba = 1; break; } return(Ba); } if(CurrentGrafPeriod () == 1){ваше исполнение} if(CurrentGrafPeriod () == 5){ваше исполнение} и так далее... 但这只是一个理论--我不知道它是否会成功.... PapaYozh 2011.12.09 08:30 #4174 sss2019: 谢谢你。所以M1期对应的是值1,M5期对应的是值5,所以这意味着H1期对应的是值60,H4期对应的是值240,对吗?我希望这个结构能够发挥作用:当周期M1被设置为情况1,当周期M15被设置为情况15。它能这样工作吗,还是有必要让案例1案例2案例3--依次进行? 首先,你最好使用命名的常数,而不是数字1、5等: PERIOD_M1、PERIOD_M5,等等。 第二,你的例子中存在一个错误。Ba 变量将永远取值为1。 ilunga 2011.12.09 08:30 #4175 sss2019: 谢谢你。所以M1期对应的是值1,M5期对应的是值5,所以这意味着H1期对应的是值60,H4期对应的是值240,对吗?我希望这个结构能够发挥作用:当周期M1被设置为情况1,当周期M15被设置为情况15。它是否会起作用,或者是否有必要让案例1案例2案例3--按顺序进行?1) 如果你在每一行中添加一个断句,就可以工作。 2) 与其用1、5、15,不如用PERIOD_M1、PERIOD_M5、PERIOD_M15等。 [删除] 2011.12.09 09:43 #4176 下午好,刚刚遇到了一个事实,即交易机器人在达到盈利时没有平仓,大约50次就有一次。然后它必须关闭所有的东西,包括挂单和所有的东西,并重新设置。不关闭会造成订单混乱和缩减。 你能想象吗,有时会发现一个订单,肯定是在takeprofit时关闭的,其订单closeprice等于零!!!!!。 在这里,看看截图,这里是底部的第五行;这个订单,传统上称为49,在TakeProfit上关闭。而在底部的第九行 Orderclosepriche等于零!!!!! asasusa 2011.12.09 11:17 #4177 PapaYozh: 第二,你的例子中存在一个错误。变量Ba 将永远取值1。 为什么呢?它是否缺少休息? Владимир Тезис 2011.12.09 12:00 #4178 dkfl.zrjdktdbx:下午好,刚刚遇到了一个事实,即交易机器人在达到盈利时没有平仓,大约50次就有一次。然后它必须关闭所有的东西,包括挂单和所有的东西,并重新设置。不关闭会造成订单混乱和缩减。 你能想象吗,有时会发现一个订单,肯定是在takeprofit时关闭的,其订单closeprice等于零!!!!!。你可以在下面的截图中看到,这里是第五行;名义上称为49的订单在TakeProfit上关闭。而在从底部开始的第九行,Orderclosepriche等于零!!!!!。 这不是orderclossepriche - 是Clowes Price - 订单的收盘价。 你的专家顾问的代码需要被纠正。它是一个正在战斗的人。 [删除] 2011.12.09 12:09 #4179 我明白了。代码中又没有什么特别复杂的东西...... 我现在就把它贴出来。 当我下订单时,我把时间保存在wremjapomnim。 一旦有任何订单以当前利润关闭,我就删除所有订单,并再次在wremjapomnim变量中记住时间,并设置它们。 for ( i=OrdersHistoryTotal();i>0;i--){ OrderSelect(i-1,SELECT_BY_POS,MODE_HISTORY ); Alert( "wremjapomnim " ,wremjapomnim, " OrderCloseTime( ) ", OrderCloseTime( ), " ",i , " OrderTakeProfit( ) " ,OrderTakeProfit( ), " OrderClosePrice( ) ",OrderClosePrice( ) ); if ( OrderTakeProfit( )==OrderClosePrice( )&&wremjapomnim<OrderCloseTime( )|| (NormalizeDouble(OrderClosePrice()-OrderTakeProfit(), Digits)<2*Point) &&wremjapomnim<OrderCloseTime( )|| (NormalizeDouble(OrderClosePrice()-OrderTakeProfit(), Digits)>-2*Point)&&wremjapomnim<OrderCloseTime( )){C=0;A=1 ; Alert("C",C,"A",A); for ( int ii=OrdersTotal();ii>0;ii--){ OrderSelect(ii-1,SELECT_BY_POS ); if( OrderMagicNumber( )==2000 &&OrderSymbol()==Symbol()|| OrderMagicNumber( )==1000 &&OrderSymbol()==Symbol()){ OrderDelete(OrderTicket( )) ; Alert ("OrderDelete-vse", GetLastError( ) ); stsBUY=0;stsSELL=0; OrderClose( OrderTicket( ), OrderLots( ), OrderClosePrice( ) , 0, CLR_NONE);Alert ("OrderClose-vse", GetLastError( ) ); C=0; } } } } melnikas 2011.12.09 12:44 #4180 melnikas: 你好! 请帮助我理解这一点。我想写一个简单的指标,但不知为何它给出的是空值。 在我看来,错误似乎就在这个地方的某个地方 因为这个操作在ExtVolumesBuffer数组中的字段并没有改变任何东西。 我明白我在某处犯了错误,但我不明白在哪里。 提前感谢! 我的案子有这么复杂吗? 1...411412413414415416417418419420421422423424425...652 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
谢谢你。所以M1期对应的是值1,M5期对应的是值5,所以原来H1期对应的是值60,H4期对应的是值240对吗?
是的,这是正确的。
你好!
请帮助我理解。我想写一个简单的指标,但不知为何它给出的是空值。
在我看来,错误似乎就在这个地方的某个地方
因为这个操作在ExtVolumesBuffer数组中的字段并没有改变任何东西。
我明白,在某处我犯了一个错误,但我不明白在哪里。
提前感谢!
谢谢你。所以,值1对应的是M1期,值5对应的是M5期,所以它意味着值60对应的是H1期,值240对应的是H4期,对吗?
我需要这样的结构:当选择M1期时,情况是1,当选择M15期时,情况是15。这能行吗?还是必须按顺序进行案例1、案例2、案例3?
谢谢你。所以M1期对应的是值1,M5期对应的是值5,所以这意味着H1期对应的是值60,H4期对应的是值240,对吗?
我希望这个结构能够发挥作用:当周期M1被设置为情况1,当周期M15被设置为情况15。它能这样工作吗,还是有必要让案例1案例2案例3--依次进行?
首先,你最好使用命名的常数,而不是数字1、5等: PERIOD_M1、PERIOD_M5,等等。
第二,你的例子中存在一个错误。Ba 变量将永远取值为1。
谢谢你。所以M1期对应的是值1,M5期对应的是值5,所以这意味着H1期对应的是值60,H4期对应的是值240,对吗?
我希望这个结构能够发挥作用:当周期M1被设置为情况1,当周期M15被设置为情况15。它是否会起作用,或者是否有必要让案例1案例2案例3--按顺序进行?
1) 如果你在每一行中添加一个断句,就可以工作。
2) 与其用1、5、15,不如用PERIOD_M1、PERIOD_M5、PERIOD_M15等。
下午好,刚刚遇到了一个事实,即交易机器人在达到盈利时没有平仓,大约50次就有一次。然后它必须关闭所有的东西,包括挂单和所有的东西,并重新设置。不关闭会造成订单混乱和缩减。
你能想象吗,有时会发现一个订单,肯定是在takeprofit时关闭的,其订单closeprice等于零!!!!!。
在这里,看看截图,这里是底部的第五行;这个订单,传统上称为49,在TakeProfit上关闭。而在底部的第九行
Orderclosepriche等于零!!!!!
第二,你的例子中存在一个错误。变量Ba 将永远取值1。
下午好,刚刚遇到了一个事实,即交易机器人在达到盈利时没有平仓,大约50次就有一次。然后它必须关闭所有的东西,包括挂单和所有的东西,并重新设置。不关闭会造成订单混乱和缩减。
你能想象吗,有时会发现一个订单,肯定是在takeprofit时关闭的,其订单closeprice等于零!!!!!。
你可以在下面的截图中看到,这里是第五行;名义上称为49的订单在TakeProfit上关闭。而在从底部开始的第九行,Orderclosepriche等于零!!!!!。
这不是orderclossepriche - 是Clowes Price - 订单的收盘价。
你的专家顾问的代码需要被纠正。它是一个正在战斗的人。
我明白了。代码中又没有什么特别复杂的东西...... 我现在就把它贴出来。
当我下订单时,我把时间保存在wremjapomnim。 一旦有任何订单以当前利润关闭,我就删除所有订单,并再次在wremjapomnim变量中记住时间,并设置它们。
你好!
请帮助我理解这一点。我想写一个简单的指标,但不知为何它给出的是空值。
在我看来,错误似乎就在这个地方的某个地方
因为这个操作在ExtVolumesBuffer数组中的字段并没有改变任何东西。
我明白我在某处犯了错误,但我不明白在哪里。
提前感谢!
我的案子有这么复杂吗?