只有“KimIV 的有用功能”。 - 页 10

 
borilunad:

增加一个并不难!

你是什么意思?
 

ModifyOrder()函数

这里是代码的开头。

void ModifyOrder(double pp=-1, double sl=0, double tp=0, color cl=CLR_NONE) {
  bool   fm;
  double op, pa, pb, os, ot;
  int    dg=MarketInfo(OrderSymbol(), MODE_DIGITS), er, it;
 
  if (pp<=0) pp=OrderOpenPrice();
  if (sl<0 ) sl=OrderStopLoss();
  if (tp<0 ) tp=OrderTakeProfit();

最初,函数的形式参数 看起来像这样。

pp=-1, но sl=0 и tp=0

如果我们要写得清楚和系统,为了方便起见,可以给每个形式参数分配-1,也就是说,会是这样的。

pp=-1, sl=0 tp=0

问题来了,为什么要把一个形式参数比作,而另一个比作-1,从而使代码如此混乱?我们也可以输入-73...

 
hoz:

ModifyOrder()函数

这里是代码的开头。

最初,函数的形式参数看起来像这样。

如果我们要写得清楚和系统,为了方便起见,可以给每个形式参数分配-1,也就是说,会是这样的。

问题来了,为什么要把一个形式参数比作,而另一个比作-1,从而使代码如此混乱?我们也可以输入-73...


请当面询问作者,小数点后的五位数字要加一!
 

你不能(没有意义)修改开盘价==0的订单,但你应该能够设置零的止损和止盈,所以如果你用心去做(思考),一切都会水到渠成。

ZS.是的,这些函数是在四位数 还存在的时候写的,但这并不能使它们的相关性失效。

 
borilunad:

请当面询问作者,小数点后的5位数字要加一个一!


随着小数点后的数字增多,这样做就更容易了。

if(Digits==3 || Digits==5) pt=10*Point;
 
FAQ:

你不能(没有意义)修改开盘价==0的订单,但你应该能够设置零的止损和止盈,所以如果你用心去做(思考),一切都会水到渠成。

ZS.是的,这些功能是在四位数的时候写的,但这并不意味着它们的相关性失效了。


你应该可以把止损和止盈修改为0,但止损或止盈不应该小于0,开盘价也不应该小于0,所以-10 只是一个形式上的参数,按照我的理解,你可以在任何 整数 下使用它。
 
jurist70:

亲爱的,在哪里排队。


对于除日元对以外的所有货币对,点数是报价的第4位数字的变化。对于日元对来说,它是在第二位数。随着报价精度达到0.1点的引入,出现了5位和3位的报价。

 
hoz:

ModifyOrder()函数

这里是代码的开头。

最初,函数的形式参数看起来像这样。

如果我们要写得清楚和系统,为了方便起见,可以给每个形式参数分配-1,也就是说,会是这样的。

问题来了,为什么要把一个形式参数比作,而另一个比作-1,从而使代码如此混乱?我们也可以输入-73

pp= -1是任何开盘价

如果(pp<=0) pp=OrderOpenPrice(); 这是一个特定的开盘价

 
pako:

pp= -1是任何公开价格

如果(pp<=0) pp=OrderOpenPrice(); 这是定义的开盘价。


你应该在回答问题之前先阅读一下问题。我问为什么正式参数 有不同的默认值。我想重点是,如果我们在没有声明sl和tp的情况下调用该函数,它们将默认为0,即不会改变。

我想不出有什么其他办法。

 
hoz:


你应该在回答问题之前先阅读一下问题。我在问为什么正式参数有不同的默认值。我认为问题的关键在于,如果我们在没有声明sl和tp的情况下调用这个函数,它们将默认为0,也就是说,它们不会改变。

我想不出有什么其他办法。


在这种情况下==0,停止和采取将被清除。事实上,我无法理解这些大惊小怪的事情是什么?这不是标准的语言函数,而是由一个程序员编写的包装器,如果你对它们不满意,那就自己写,或者按你认为合适的方式改变它们,然后使用它们。