谁来为5WMZ写个剧本吧。 - 页 17

 

奇怪的是,有没有人遇到这样的问题:当你第一次启动已安装的终端并在线连接EA时,它就会交易,但只要你重新打开MT4终端,EA就会停止交易。

这种情况很愚蠢,每次我都要寻找新的经纪公司的终端,并保持终端开放数天,在关闭电脑时使用 "切换到睡眠模式",并通过在编辑器中替换移动平均线和MACD样本的代码来测试专家顾问。操作系统是Win2000 SP4。

而主要问题是,是否有可能教专家顾问考虑英镑和欧元的预测。例如,对日元的预测nv=yen,专家顾问执行买入交易,但对英镑和欧元的预测在B中 显示出更多的下降趋势,执行卖出交易将是正确的。

if ( DayOfWeek()==3){//если сегодня четверг
if ( Hour() == 23)  {//если - 22 часа терминального времени
if ( NumberOfPositions("USDJPY" ,OP_BUY, Magic )==0 ) { //если  нет о
  if ( Close[1]>=Open[24] && Close[23]<=Open[48] && Close[47]<=Open[72]) { 
        //покупаем 
      SL=0;TP=0;
      if(StopLoss>0 && StopLoss>StopLevel )    SL=Bid-Point*StopLoss;
      if(TakeProfit>0 && TakeProfit>StopLevel) TP=Bid+Point*TakeProfit;
      if(StopLoss  <StopLevel && StopLoss>0)   SL = Bid-Point*StopLevel; 
      if(TakeProfit<StopLevel && TakeProfit>0) TP = Bid+Point*StopLevel; 
   ticket=WHCOrderSend("USDJPY",OP_BUY,lotsi,Ask,3,SL,TP,"Regulest_JPY",Magic,0,clOpenBuy );
   if(ticket < 0) {
            Print("Ошибка открытия ордера SELL #", GetLastError()); 
            Sleep(10000);  prevtime = Time[1];   return (0); 
                  } 

        }}}} 

//  при ННВ он проводит сделку BUY, но если GBP и EUR сегодня ВВВ, то нужна SELL сделка
if ( Close[1]>=Open[24] && Close[23]>=Open[48] && Close[47]>=Open[72])
if ( Close[1]>=Open[24] && Close[23]>=Open[48] && Close[47]>=Open[72])

如果今天的英镑和欧元是BBB,那么就需要卖出交易。

 
Profitabl:

奇怪的是,有没有人遇到这样的问题:当你第一次启动已安装的终端并在线连接EA时,它就会交易,但只要你重新打开MT4终端,EA就会停止交易。

这种情况很愚蠢,每次我都要寻找新的经纪公司的终端,并保持终端开放数天,在关闭电脑时使用 "切换到睡眠模式",并通过在编辑器中改变基本的移动平均线和MACD样本代码来测试专家顾问。操作系统是Win2000 SP4。

而主要问题是,是否有可能教专家顾问考虑英镑和欧元的预测。例如,对日元的预测nv=yen,专家顾问执行买入交易,但对英镑和欧元的预测在B中 显示出更多的下降趋势,执行卖出交易将是正确的。

如果今天英镑和欧元处于BBB状态,则需要进行卖出交易。


问题出在终端设置

 
Profitabl:

这种情况很愚蠢,每次我都要寻找新的经纪公司的终端,每次都要保持终端开放几天,在电脑关闭时使用 "切换到睡眠模式",通过替换编辑器中的基本移动平均线和MACD样本代码来测试专家顾问。操作系统是Win2000 SP4。

当我的硬盘空间用完时,我就需要买几张新的磁盘......然后是几台新电脑。

好好看看你周围,看看你的环境,特别是终端的所有按钮,尤其是F1键。

给人的印象是,如今做一个傻瓜是正常的,甚至是时尚和酷的。如果有人不像你一样得到它,他就是一个真正的傻瓜。

ps.当单位没有更多的空间来容纳新的电脑时......好吧......我们得换个新单位了。

 
Profitabl:

奇怪的是,有没有人遇到这样的问题:当你第一次启动已安装的终端并在线连接EA时,它就会交易,但只要你重新打开MT4终端,EA就会停止交易。

这种情况很愚蠢,每次我都要寻找新的经纪公司的终端,并保持终端开放数天,在关闭电脑时使用 "切换到睡眠模式",并通过在编辑器中改变基本的移动平均线和MACD样本代码来测试专家顾问。操作系统是Win2000 SP4。

而主要问题是,是否有可能教专家顾问考虑英镑和欧元的预测。例如,对日元的预测nv=yen,专家顾问执行买入交易,但对英镑和欧元的预测在B中 显示出更多的下降趋势,执行卖出交易将是正确的。

如果今天的英镑和欧元是BBB,那么就需要卖出交易。

服务 - 设置 - 图表。设置最大2个下限字段,历史和窗口中的最大条数。问题是,当你重新启动终端时,只有那里规定的条数会被显示。显然,你所指定的数字是不够的。
 
Profitabl:

价格是最终的,一个微不足道的任务意味着5分钟。 啁啾,啁啾,剧本写好了。


你相信有奇迹吗?
 
if ( DayOfWeek()==5){//если сегодня вечер вторника
if ( Hour() == 0 && Minute()==30)  {//если - 22 часа терминального времени
if ( NumberOfPositions("USDCHF" ,OP_SELL, Magic )==0 ) { //если  нет о
   if ( Close[1]>= Open[48] && Close[49]<=Open[96] && Close[97]<=Open[144]) {//н/ввв=н/н н/ввн=В/В в/ннн=В/н в/ннв=в/В
        //покупаем 
      SL=0;TP=0;
      if(StopLoss>0 && StopLoss>StopLevel )    SL=Ask+Point*StopLoss;
      if(TakeProfit>0 && TakeProfit>StopLevel) TP=Ask-Point*TakeProfit;
      if(StopLoss  <StopLevel && StopLoss>0)   SL = Ask+Point*StopLevel; 
      if(TakeProfit<StopLevel && TakeProfit>0) TP = Ask-Point*StopLevel; 
   ticket=WHCOrderSend("USDCHF",OP_SELL,lotsi,Bid,3,SL,TP,"Regulest_CHF_sl=120=tp",Magic,0,clOpenBuy );
   if(ticket < 0) {
            Print("Ошибка открытия ордера SELL #", GetLastError()); 
            Sleep(10000);  prevtime = Time[1];   return (0); 
                  } 
        }}}} 

大家好。谁知道如何将条件中的开始时间替换成只有30分钟的图表条?问题是,如果没有"&&Minute()==30",只是在Hour()==0的情况下,一组中的8个EA在00.00到00.59的第一个小时内的任何时候都会打开8个头寸,因此如果( Hour() ==0 &&Minute()==30)在00.30的一分钟内,设法从8个EA中打开2-3个,它们只工作一分钟。如何使它们像小时一样,在30分钟的第二小节从00.30到00.59开始?

在我看来,如果( Hour() == 0 && Minute()== 30)的时间可以以当天的30M条数为条件,例如它是第一小时的第二条,而这个如果( Hour() == 0 && Minute()==0)是第一小时的第一条。

如果( DayOfWeek()==5){/如果今天是星期五

如果 ( ????????? ) {//如果第二条杠在图表上是30分钟,这与时间相对应,如果 ( Hour() == 0 && Minute()==30)

应该用什么来代替(????????),有人知道吗?

 

所有的感谢,这就是解决方案。

                if ( DayOfWeek()==5){//  вот так стартует с 18.00 до 18.29
if ( Hour() == 18.00 && Minute()<=29) 

                if ( DayOfWeek()==5){ //  вот так будет стартовать с 18.30 до 18.59
if ( Hour() == 18.00 && Minute() >=30)