[存档]任何菜鸟问题,为了不使论坛变得杂乱无章。专业人士,不要路过。没有你就无处可去 - 3. - 页 260

 
ikatsko: 我不明白的是:iTime将给出相对于当前时间移位了多少个小节的开盘时间。这意味着由此获得的时间将始终低于当前时间。随着每一个新条形的出现,它也将被向上移动。而这一切都与??有关。那又怎样?跳过一个酒吧,它将如何运作?

用你的命令的时间替换OrderOpenTime。

f(iTime(Symbol(),period_bar,number_of_bars_to_skip)<your_command_time) 返回

 
paukas:

用你的命令的时间替换OrderOpenTime。

f(iTime(Symbol(),period_bar,number_of_bars_to_pen)<your_command_time) return

我想我已经明白了。time_your_command设置了下一个条形图的开始,而 返回the_bars_to_skip 之后 停止!整洁。谢谢!
 
Bicus:

还有什么能比这更复杂的呢?

数组的第0个元素将有最后一个刻度的价格,第1个元素将有1个刻度之前的价格,第2个元素将有2个刻度之前的价格,等等。

还是我误解了什么,是指其他方面?

我是个新手,我正在自学课本上的知识--你能为我拼一下吗?
#property copyright "Bicus"
#property link      "Bicus"


double aPrices [5]; //мы объявили массив с пятью значениями внутри

void PutStack (double p_Price) //вот мне не понятно. Эта функция выступает как шаблон? Она показывает программе, как работать? Объясните что это плз.
{
  int nCounter; //создали переменную целого числа
  
  for (nCounter = 4; nCounter > 0; nCounter--) //это цикл, который начинается с 4х и идет к нулю (я так понял - он будет сохранять 4 тика)
    aPrices [nCounter] = aPrices [nCounter - 1]; //присваиваем массиву (например) с номером 3 значиние массива с номером  2 (а разве надо не наоборот?). 
    
  aPrices [0] = p_Price; //если p_Price - это тик, то в этой строчке мне все понятно - мы присваиваем первому значению массива настоящий тик.
}

int start()
{
  int nCounter; //опять создали переменную целого числа
  
  PutStack (Bid); //тут не понятно... Putstack=Bid?
  
  for (nCounter = 0; nCounter < 5; nCounter++) //тут создаем цикл, который идет от нуля, чтоб заполнять массив, но почему внутри его нет массива? он не нужен?
    Print (nCounter, "-й тик: ", DoubleToStr (aPrices [nCounter], Digits)); //тут выводим значение
}
 

下午好,亲爱的专家们。

我搜索了所有的帮助,在论坛上没有找到任何答案。问题很简单:MQL4是否有一个简单的功能来报告挂单触发的时间?

从现有资料来看,没有这样的功能。OrderOpenTime()函数显示了挂单执行的时间,但在我看来,如果不使用EA来跟踪账户上的订单状态,我们就无法找出它成为市场订单的时间。

如果有人有一个简单的解决方案,请告知。专家顾问是相当无益的,如果每天只需要它的服务一次或两次,那么长期使用它就没有意义。我们需要更简单的东西,这将是一个内置的函数,它将告知其触发的时间。交易者需要它来按开仓时间正确核算订单,因此,例如,总是可以说目前未平仓或已平仓的订单中,哪一个是最新的开仓时间。在待定的情况下,我们不能这样做。挂单可能是2小时前下的,1小时前关闭,在这1小时的时间间隔内,其他订单可能会打开和关闭,在终端中,已经成为市场订单的挂单打开时间是2小时,但我想知道其触发的实际时间。

我将很高兴得到你的评论。

 
Starting:

下午好,亲爱的专家们。

我搜索了所有的帮助,在论坛上没有找到任何答案。问题很简单:MQL4是否有一个简单的功能来报告挂单触发的时间?

从现有资料来看,没有这样的功能。OrderOpenTime()函数显示了挂单执行的时间,但在我看来,如果不使用EA来跟踪账户上的订单状态,我们就无法找出它成为市场订单的时间。

如果有人有一个简单的解决方案,请告知。专家顾问是相当无益的,如果每天只需要它的服务一次或两次,那么长期使用它就没有意义。我们需要更简单的东西,这将是一个内置的函数,它将告知其触发的时间。交易者需要它来按开仓时间正确核算订单,因此,例如,总是可以说目前未平仓或已平仓的订单中,哪一个是最新的开仓时间。在待定的情况下,我们不能这样做。挂单可能是2小时前下的,1小时前平仓,在这1小时的时间间隔内,其他订单可能会开仓和平仓,在终端中,已经成为市场订单的挂单的开仓时间是2小时,我们需要知道其触发的实际时间。

我将很高兴得到你的评论。

我不明白你为什么对EA不满意,你不会做一个复杂的基于神经网络的自我优化的交易系统,你只需要检查每一个刻度线 是否工作,当它工作时,你会在屏幕上得到一个文本信息或音频或两者,计算器可以做到这一点,没什么可担心的,还是你在写电脑时有问题?
 
CLAIN:
我是这方面的新手,自己从教科书上学习--你能为我拼一下吗?

教科书上 没有回答你的问题吗?
 

结转了。

Pyxlik2009 14.10.2011 03:52

伙计们告诉我这个错误是什么意思(OrderSend函数的参数10是无效的整数),如何解决?

 

大家好,程序代码专家!

如果你能解释一下情况,在我的EA中,下单的整个要点是在某个时间,每天下一个订单。

int H=Hour(),
    M=Minute();
if(H>=21 && M>=40)
{
   {
    Alert("Ордер открыт-",Ticket);
    return(0);
    }
   else 
   {
   Alert("Ошибка№=",GetLastError());
   return(0);
   }
}

但我注意到,if(H>=09 &&M>=40)和if(H>=21 &&M>=40)有相同的条件,事实证明,一天至少会下两次单。

我应该怎样做才能避免这个问题?

谢谢你的支持!

 

Starting:

.... 把专家当做专家是无益的,如果每天需要专家的服务一两次,那么定期请专家是有意义的。


有这样一个剧本。当你需要它时,你就运行它。
 
Valdemar:

...我注意到if(H>=09 &&M>=40)和if(H>=21 &&M>=40)的条件是一样的,事实证明,每天至少会下两次订单。
我还应该做什么来避免这个问题?

请经常查看FAQ,有大量的例子,可能会有帮助。而且你可以在此基础上建立你自己的功能。
isTradeTimeString - 返回允许按时间交易的标志。
isTradeTimeInt - 返回允许按时间交易的标志。