[警告关闭!]任何新手问题,为了不给论坛添乱。专业人士,不要走过。没有你,哪里都不能去。 - 页 404

 
Vinin писал(а)>>

用另一种方式检查,更容易、更快捷。

速度更快。逻辑上复杂的表达式比简单的表达式需要更长的时间来执行。乘法的速度比逻辑的速度快

谢谢Vinin,那交易的数量呢,能不能写成只有1.2...N,越过MA后。

 
Vinin >>:

Пересечение проще и быстрее проверять по другому

Скорость работы выше. Логические сложные выражение выполняются дольше простых. Умножение быстрее логического

另一个选项,但我认为提问者还不会理解它

 
Stanislav.exe писал(а)>>

谢谢Vinin,那么交易的数量呢,是否可以只写1.2...N,在MA交叉之后

显然,我们需要考虑额外的入境条件。

并计算空缺职位的数量。

但它将与跨界的关系不大。

因为也许在一个案例中只有一个信号,在第二个案例中有10个信号。

但我们应该先确定额外进入的条件。

 
Vinin писал(а)>>

显然,还有其他的入境条件需要考虑。

并计算空缺职位的数量。

但它与跨界的关系不大。

因为也许在一种情况下只有一个信号,在第二种情况下--10个。

但首先我们应该定义附加条目的条件

好的,我将尝试深入研究,非常感谢 Vilin和sanyooooook的帮助。

 

double Lots;
double m = 0.1;


for (m = 0.1; AccountFreeMarginCheck(Symbol(),OP_SELL,m)>150; m = m + 0.1)
{
Lots = m;
}

为什么我的Lots总是变成了零?

 
Noterday >>:

double Lots;
double m = 0.1;


for (m = 0.1; AccountFreeMarginCheck(Symbol(),OP_SELL,m)>150; m = m + 0.1)
{
Lots = m;
}

Почему у меня Lots всегда оказывается равен нулю?


循环是否被执行,或者是否立即被条件退出?

https://docs.mql4.com/ru/basis/operators/for

表达式1描述了循环的初始化。表达式2是对循环终止条件的检查。如果为真,则执行循环体for。一切都在重复进行,直到表达式2为假。如果它是假的,循环就会终止,控制权就会交给下一个操作者。表达式3在每次迭代后被计算。
for(expression1; expression2; expression3)
经营者。

 
显然,它是直接出来的...在循环中放一个警报--没有什么...
 

晚上好。我的终端机有问题,我无法用任何方式解决它。

我加载MT4,加载一个模板,绘制趋势线,当我切换TF时,线条消失了,包括它们也不显示在原始时间框架上。同时,图表的其他部分(水平线、垂直线、通道、所有的Fibos,等等)工作正常。在一个干净的("无模板")图表上,布局被完全保留了下来,以前在同一个指标上一切都很正常。专家顾问和专家顾问已被禁用。我主要在图表上工作,请帮助我!!。

 

你好。

如何让我的EA在3分钟前不关闭交易?

谁能告诉我们该开什么药,在哪里开?

 
Vinin писал(а)>>

你必须从逻辑开始。你想得到什么,你想如何得到它。

嗯,逻辑在评论中...

我拿出回报,情况是这样的。

//попытка сделать функцию: отключение всех  индикаторов и разрешение только Бай или Селл в зависимости от того, 
//что закуплено, когда баланс снижается на заданный процент
//второй вариант:

bool fOffInd(){
int i, b, s;
   if( UT_AutoOf==1){
   //если баланс снизился на LossIndikator процентов
       if( gProfit<=((-1.0)* LossIndikator*AccountBalance())/100.0){
          Print ("Включен автореверс UT_!");
          UT_ON=0; //выключатель индикатора, 0-контроль отключен
          VRF_ON=0;//выключатель индикатора, 0-контроль отключен
     //выбираем открытые ордера Бай       
   for( i=1; i<=OrdersTotal(); i++){        
      if(OrderSelect( i-1, SELECT_BY_POS)==true){   
           if(OrderType()==OP_BUY && OrderSymbol()==Symbol()){ b= b+1;}
          }   
        }
   //выбираем открытые ордера Селл     
   for( i=1; i<=OrdersTotal(); i++){        
      if(OrderSelect( i-1, SELECT_BY_POS)==true){   
           if(OrderType()==OP_SELL && OrderSymbol()==Symbol()){ s= s+1;}
          }   
        }
   //если открытых Бай больше чем Селл, то включаем запрет торговли Бай     
       if( s>= b){ CloseAllBuyNow  = true;
        MaxCount = b;
         Print ("Автореверс. Работаем только Селл!");
          }
       else{
   //если открытых Селл больше чем Селл, то включаем запрет торговли Селл    
       if( b>= s){ CloseAllSellNow = true;
        MaxCount = s;
         Print ("Автореверс. Работаем только Бай!");
             }
           }
           return(false);
         }
       }
       else{
       //все индикаторы должны быть включены и запрет на Бай и Селл снят
          UT_ON=1;
          VRF_ON=1;
          CloseAllBuyNow  = false;
          CloseAllSellNow = false;
    }
   return(0);    
} 
它似乎可以工作,但我不知道代码是否正确...如果有什么不对,有人能纠正吗?
原因: