模板参数=void*的编译器错误 - 页 14

 

只有托架。只有浣熊。仅限硬核!!!1111

#define    cmp(D1,D2)          \
  ((t_flp(D1)||t_flp(D2))?(((D1)>=(D2))?(((D1)-(D2))>=EPS(D1)?1:0):(((D2)-(D1))>=EPS(D1)?-1:0)):(((D1)>(D2))?1:(((D1)<(D2))?-1:0)))
 
Ilya Malev:

只有托架。只有浣熊。仅限硬核!!!1111

只有在#define中,编译器才不会产生相应的警告, 也很好

顺便说一下,这里的括号是不必要的。

(((D1)<(D2))?-1:0)
 

上帝不允许你在宏中使用括号。在那里你不能没有他们。

Igor Makanu:

因为在将代码移植到其他编程语言时,它不会改变。

在其他语言中(如BASIC或Pascal),你的位操作符和条件操作符是无效的,所以这是一个虚假的问题,MQ在过去搞乱了优先级并不是一个指标)。

 
A100:

只有在#define中,编译器才不会产生相应的警告,这也是不错的

但首先要在一个特定的代码中使用它,它给出了这样的提示,即它不应该放在它认为可疑的地方,而是放在代码中从定义的符号被写的地方。我认为这算是一种提示,让你保留你的浣熊,不要滥用他们的预处理程序)

 
Ilya Malev:
顺便说一句,你在代码中不使用空格是一个原则问题吗?这里 有另一个例子。 我不知道如果所有的代码都是这种风格,你怎么能理解这样一个杂乱的字符。
 
Alexey Navoykov:
顺便说一下,你在代码中不使用空格吗? 是另一个例子。 我不知道如果所有的代码都是这种风格,人们怎么能理解这样一堆字符。

在定义中,是的,我不使用它们,因为我不认为它们是代码,它们只是宏,它们应该尽可能的紧凑。而这个例子被特别选为所有库中最适合浣熊的例子))

至于这个例子,在2分钟内写完,缩进在那里,我想展示重要的部分--OnStart中的调用del,其他的是次要的,而且比起保持缩进,文章不占半页更重要。

 
Ilya Malev:

...只是宏,它们应该尽可能的紧凑。

...帖子不占半页的篇幅比缩进更重要。

我不明白你的逻辑和优先次序 )
 
A100:

你为什么不自己把它们挂起来?我懒得去看你的资料。

它应该是这样的。

你们宣布了一件事,但你们的所作所为恰恰相反。

如果连支架的信徒自己都不放,这就是他们无用的最好证明

唉,你作为例子引用的我的代码,是我很久以前写的,我想是4年前。

我的帖子是关于欢迎算术/逻辑表达式中的不含糊性和括号允许实现它,现在我一般都尝试写不含糊的条件,这对我来说更容易,而且不可能出错,你已经引用了一个代码片段,我在计算虚拟订单,现在我这样写这个问题。

allorders = OrdersCount(all_buy,all_sell);
if(allorders==0){
   // если торговля одним ордером выставим ордер и выход
   if(MA1>MA2) { BUY();  return;}
   if(MA1<MA2) { SELL(); return;}
.......   

// или так
   if(all_buy==0){
      if(MA1>MA2) { BUY();  return;}
   }
   if(all_sell==0){
      if(MA1<MA2) { SELL();  return;}
   }

//ф-ция подсчета ордеров
int OrdersCount(int &buy_,int &sell_)
{
   buy_=0; sell_ =0;
.............   
   return(buy_+sell_);

}

我不擅长使用括号,但我是单值算法的支持者,这将与交易策略的解读方式相同

;)

PS:我不再参加这个合唱了,即使@fxsaber 写的括号有助于避免错误,那也没什么好讨论的,因为他知道如何写出这样紧凑的代码,这个论坛上这样的人只有2倍多,简洁是人才的姐妹--这是对@fxsaber 的评价


Ilya Malev:

只有托架。只有浣熊。只有铁杆!!!1111

然后我明白了为什么Metacquotes不在MQL中提供完整的指针....在你的宏和代码中加入传递指针、将指针解构到函数中的内容。硬核是非常温和的,下一个BDSM是什么?))))

 
Igor Makanu:

因为他能写出如此紧凑的代码,在这个论坛上这样的人屈指可数,简洁是人才的姐妹--这是对@fxsaber 的评价。

(大括号堆在大括号上面,是人才的姐妹吗?) 好吧,每个人都有权利发表自己的意见。
 
Alexey Navoykov:
(充满了不必要的括号是人才的姐妹吗?但每个人都有权发表自己的意见。

它们不是多余的!它们有助于读懂表达方式的逻辑。

括号的数量是否影响速度?- 除非它影响打字速度,但没有人看....每个用户在互联网上一天的括号数量是一个突出的例子 ))))