新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 - 页 1610

 
Vitaly Muzichenko #:

你能告诉我如何缩短结构 吗?

关键是要切断已经有符号的对子

我有一个关于USDCHF的头寸

===

有一个欧元兑英镑的头寸,信号来自于澳元兑美元 - 我们如何能检测到澳元或美元没有头寸?

瓦莱里有一个正确的思维方式。但我不明白为什么我们要在周期的每一次迭代中确定我们要寻找的货币的顺序货币?而且在我看来,采取保证金货币和利润货币而不是在行内寻找更容易。看一下货币规格......我将这样做

bool Search(string _sy)
 {
  int OT = OrdersTotal();
  string curencyProfit = SymbolInfoString(_sy, SYMBOL_CURRENCY_PROFIT),
         currencyMargin = SymbolInfoString(_sy, SYMBOL_CURRENCY_MARGIN);
  for(int i = 0; i < OT; i++)
   {
    if(OrderSelect(i, SELECT_BY_POS))
     {
      bool res = StringFind(OrderSymbol(), curencyProfit) >= 0 ||
                 StringFind(OrderSymbol(), currencyMargin) >= 0;
      if(res)
        return(true);
     }
   }
  return(false);
 }/******************************************************************/
 
Valeriy Yastremskiy #:

弦乐查找

我认为应该有两条线,同时搜索0和3的位置。要在中间切断一个随机匹配。

SZ

哑巴,有4个条件。

不等于A B和不等于C D

条件A==C或A==D或B==C或B==D

我认为没有人能够写出来)))。

在第二次尝试时就傻眼了。显然,时间已经到了晚上。

 
Vitaly Muzichenko #:

你能告诉我如何缩短结构 吗?

关键是要切断已经有符号的对子

我有一个关于USDCHF的头寸

===

有一个欧元兑英镑的头寸,信号来自澳元兑美元 - 如何检测澳元或美元上没有头寸?

我将在一个数组中收集所有未结订单的货币,并在收到信号时通过该数组。

 
Alexey Viktorov #:

瓦莱里有正确的思想方向。但我不明白为什么我们需要在周期的每次迭代中定义我们要寻找的货币的顺序货币?而且我认为采取保证金货币和利润货币而不是在行内寻找更容易。看一下货币的规格......我将这样做

我明天会检查的。


Taras Slobodyanik#:

我将在一个数组中收集所有未结订单的货币,并在获得信号时查看该数组。

这个想法是相同的,但你还需要一个数组

 

你也可以为每种货币设置一个神奇的1 = AUD, 2 = EUR....。和比较魔法。

关于数组,我认为是合理的,现在3个货币对4个条件,明天33个货币对34个条件?

 
Vitaly Muzichenko #:

我明天会检查的。


重点是一样的,但你还需要一个数组

为什么要等到明天呢?如果你懒得翻阅规范,可以通过所有感兴趣的符号来运行脚本,找到匹配的保证金货币和利润货币。
/********************Script program start function*******************/
void OnStart()
 {

  Comment(SymbolInfoString(_Symbol, SYMBOL_CURRENCY_PROFIT), "\n",
          SymbolInfoString(_Symbol, SYMBOL_CURRENCY_MARGIN)
         );
 }/******************************************************************/
我在写之前没有检查所有的东西,但我没有发现任何匹配的东西......
 
Vitaly Muzichenko #:

意义是一样的,但你还需要一个数组

好吧,重点是快速 - 取出货币代码,在准备好的数组上进行搜索,该数组在交易打开时被更新。

 

对代码的帮助。我需要挂单 沿着趋势线随着新条形的打开而移动。

也就是说,这将是一个永久性的命令和线的交叉。

我们应该知道趋势线的交叉点和时间,以便使其转变。如何计算?

 
Zalevsky1234 挂单 随着趋势线上新条形的打开而移动。

也就是说,这将是一个永久性的命令和线的交叉。

我们应该知道趋势线的交叉点和时间,以便使其转变。如何计算?

下面是计算交点的函数
 

关于X::doJob()方法的静态变量 var的问题。有一个U类,它创建了一个X类型的对象,做了一些工作,然后将其销毁。而且这种情况定期发生。问题:var变量何时被删除?


class X {
public:
   void doJob() {
      static int var = 0;
   }
};

class U {
private:
   X *x;
public:
   U(){

   }
   ~U() {
      delete x;
   }
   void U::dojob(){
      x = new X();
      x.doJob();
      delete x;
   }
};