[存档!]任何菜鸟问题,为了不给论坛添乱。专业人士,不要与它擦肩而过。没有你,哪里都不能去 - 2. - 页 143

 
todem:

选择性订单与此有什么关系?

我们从指标中获取数据,这里不涉及订单。


您使用OrderSymbol() -- 返回当前选定订单的金融工具名称。该订单必须使用
OrderSelect()函数 进行预选。

这是你的代码。

double CC1=0,CC2=0;
  if(OrderSymbol()=="EURUSD"){ CC1 = iCustom("EURUSD",60,"CC2",3,6,0,1); CC2 = iCustom("EURUSD",60,"CC2",3,6,1,1); }
  if(OrderSymbol()=="GBPUSD"){ CC1 = iCustom("GBPUSD",60,"CC2",3,6,0,1); CC2 = iCustom("GBPUSD",60,"CC2",3,6,2,1); }
  if(OrderSymbol()=="USDCHF"){ CC1 = iCustom("USDCHF",60,"CC2",3,6,0,1); CC2 = iCustom("USDCHF",60,"CC2",3,6,3,1); }
  if(OrderSymbol()=="USDJPY"){ CC1 = iCustom("USDJPY",60,"CC2",3,6,0,1); CC2 = iCustom("USDJPY",60,"CC2",3,6,4,1); }
  if(OrderSymbol()=="USDCAD"){ CC1 = iCustom("USDCAD",60,"CC2",3,6,0,1); CC2 = iCustom("USDCAD",60,"CC2",3,6,5,1); }
  if(OrderSymbol()=="AUDUSD"){ CC1 = iCustom("AUDUSD",60,"CC2",3,6,0,1); CC2 = iCustom("AUDUSD",60,"CC2",3,6,6,1); }
  if(OrderSymbol()=="NZDUSD"){ CC1 = iCustom("NZDUSD",60,"CC2",3,6,0,1); CC2 = iCustom("NZDUSD",60,"CC2",3,6,7,1); }
  if(OrderSymbol()=="EURGBP"){ CC1 = iCustom("EURGBP",60,"CC2",3,6,1,1); CC2 = iCustom("EURGBP",60,"CC2",3,6,2,1); }
  if(OrderSymbol()=="EURCHF"){ CC1 = iCustom("EURCHF",60,"CC2",3,6,1,1); CC2 = iCustom("EURCHF",60,"CC2",3,6,3,1); }
  if(OrderSymbol()=="EURJPY"){ CC1 = iCustom("EURJPY",60,"CC2",3,6,1,1); CC2 = iCustom("EURJPY",60,"CC2",3,6,4,1); }
这里CC1、CC2接收与所选订单的仪器相对应的数值

如果你给我们整个代码,我们可以确定问题是什么,而不是猜测。

 
100yan:

double MA13=iMA(NULL,..... 等等
所以你想先计算出掩码的值,即某个数字,然后找出它是以什么周期计算的?不,它不是这样的))。
 
eddy:
为什么我的MainBuffer[i] 超过100? 错误在哪里?
MathMax和MathMin 返回条数,而不是极值本身。
 
abolk:


你使用OrderSymbol() -- 返回当前选定订单的金融工具名称。该订单必须使用OrderSelect()进行预选。

这是你的代码。

CC1、CC2得到与所选订单的仪器相对应的数值

如果你引用了所有的代码,你就可以确定问题出在哪里,而不是猜测。

省略ORDER...所以应该是Symbol()
 
Sergey_Rogozin:

有趣的是,它在所有情况下都给出了相同的数值。

也就是说,它对所有字符都给出了相同的值。

double CC1=0,CC2=0;
  if(Symbol()=="EURUSD"){ CC1 = iCustom("EURUSD",60,"CC2",3,6,0,1); CC2 = iCustom("EURUSD",60,"CC2",3,6,1,1); }
  if(Symbol()=="GBPUSD"){ CC1 = iCustom("GBPUSD",60,"CC2",3,6,0,1); CC2 = iCustom("GBPUSD",60,"CC2",3,6,2,1); }
  if(Symbol()=="USDCHF"){ CC1 = iCustom("USDCHF",60,"CC2",3,6,0,1); CC2 = iCustom("USDCHF",60,"CC2",3,6,3,1); }
  if(Symbol()=="USDJPY"){ CC1 = iCustom("USDJPY",60,"CC2",3,6,0,1); CC2 = iCustom("USDJPY",60,"CC2",3,6,4,1); }
  if(Symbol()=="USDCAD"){ CC1 = iCustom("USDCAD",60,"CC2",3,6,0,1); CC2 = iCustom("USDCAD",60,"CC2",3,6,5,1); }
  if(Symbol()=="AUDUSD"){ CC1 = iCustom("AUDUSD",60,"CC2",3,6,0,1); CC2 = iCustom("AUDUSD",60,"CC2",3,6,6,1); }
  if(Symbol()=="NZDUSD"){ CC1 = iCustom("NZDUSD",60,"CC2",3,6,0,1); CC2 = iCustom("NZDUSD",60,"CC2",3,6,7,1); }
  if(Symbol()=="EURGBP"){ CC1 = iCustom("EURGBP",60,"CC2",3,6,1,1); CC2 = iCustom("EURGBP",60,"CC2",3,6,2,1); }
  if(Symbol()=="EURCHF"){ CC1 = iCustom("EURCHF",60,"CC2",3,6,1,1); CC2 = iCustom("EURCHF",60,"CC2",3,6,3,1); }
  if(Symbol()=="EURJPY"){ CC1 = iCustom("EURJPY",60,"CC2",3,6,1,1); CC2 = iCustom("EURJPY",60,"CC2",3,6,4,1); }
这就是正确的方法
 
alsu:
MathMax和MathMin返回条数,而不是极值本身

MathMax返回2个值的最大值--High[i]和0,如果它遇到High[i]大于HighesBuffer[i]-- 它就返回。

MathMin 返回2个值的最小值--Low[i]和9999,如果撞到Low[i]小于LowesBuffer[i] --就会返回。

 
alsu:
所以你想先计算出一个挥手的价值,即一些数字,然后找出它是以什么周期计算的?不,那是行不通的))。

并非如此...是否可以依靠一些MA指标(不一定是数值)。但我不知道如何 ...
 
依靠什么? 为什么?
 
eddy:
指的是什么? 以及为什么?

有一个工作的MA(期限可能不同)。

有一个单独的函数,使用相同的时期。为了解决方案的美观,有必要提及MA,而不是它的时期。

你需要计算出MA的周期...

 
todem:
这还差不多。

О!嗯,你当然是。有东西吸引了我的目光。这是一个多么严重的错误啊!

哦,谢谢你。