任何菜鸟问题,为了不给论坛添乱。专业人士,不要路过。没有你就无处可去 - 6. - 页 255

 
lottamer:


谢谢,不能检查....,首先顾问出现故障(没有回应代码中的道歉)。决定重新启动mt4--终端打开时干净得像孩子的眼泪....。没有账户,没有图表,没有EA....

这一定是个征兆 今天就到此为止。 :)))

谢谢你的耐心....:)

徘徊,在三棵松下。

这里是I.Kim的功能,整理一下吧

//+------------------------------------------------------------------+
//| Дивергенции MACD основной линии                                  |
//| Параметры:                                                       |
//|   nb - номер бара                                                |
//|   ms - массив сигналов                                           |
//+------------------------------------------------------------------+
void DivergenceMACDMain(int nb, double& ms[]) {
  double mu1, mu2, md1, md2;
  double pu1, pu2, pd1, pd2;
  double tt[];
  int    sh;

  ArrayResize(tt, BarsForCheck);
  // Заполнение массива точек.
        for (sh=0; sh<BarsForCheck; sh++) {
                tt[sh] = iMACD(NULL, 0, FastEMAPeriod, SlowEMAPeriod, MACDSMAPeriod, PRICE_CLOSE, MODE_MAIN, nb+sh);
        }
  // Определение ключевых точек.
        mu1=0; mu2=0; pu1=0; pu2=0;
        for (sh=0; sh<BarsForCheck; sh++) {
                if (tt[sh+1]<tt[sh+2] && tt[sh+2]>tt[sh+3]) {
                        if (mu1!=0 && mu2==0) {
                          mu2 = tt[sh+1];
                          pu2 = High[nb+sh];
                        }
                        if (mu1==0 && tt[1]<tt[2] && tt[2]>tt[3]) {
                          mu1 = tt[sh+1];
                          pu1 = High[nb+sh];
                        }
                }
        }
        md1=0; md2=0; pd1=0; pd2=0;
        for (sh=0; sh<BarsForCheck; sh++) {
                if (tt[sh+1]>tt[sh+2] && tt[sh+2]<tt[sh+3]) {
                        if (md1!=0 && md2==0) {
                          md2 = tt[sh+1];
                          pd2 = Low[nb+sh];
                        }
                        if (md1==0 && tt[1]>tt[2] && tt[2]<tt[3]) {
                        md1 = tt[sh+1];
                          pd1 = Low[nb+sh];
                        }
                }
        }

  // Сигнал на покупку
  if (pd1<pd2 && md1>md2 && md1<0 && md2<0) {
    ms[0] = Low[nb] - ArrowInterval * Point;
    ms[4] += 4;
  }

  // Сигнал на продажу
  if (pu1>pu2 && mu1<mu2 && mu1>0 && mu2>0) {
    ms[1] = High[nb] + ArrowInterval * Point;
    ms[4] += 4;
  }
}
 
gyfto:
mzk_3om6u 这里有 一个枢纽上的BASIC转换器,你可以当场翻译。

你可以用记事本打开它,然后用ANSI格式保存它。如果你需要预先用程序编码,那就是另一回事了。
 
lottamer:
我添加THIS....它又打印出了5__13。 不是应该已经有指标值了吗?
   double max=MACDBuffer[ArrayMaximum(MACDBuffer)];
   double min=MACDBuffer[ArrayMinimum(MACDBuffer)];
 
Integer:

你可以用记事本打开它,然后用ANSI格式保存它。如果你需要以编程方式预先编码,那就是另外一回事了。

这就是软件预编码的问题。
 
gyfto:
mzk_3om6u 这里有 一个枢纽上的BASIC转换器,你可以当场翻译。

呃,如果我是一个熟练的孩子,但我所知道的是如何拉动功能))))。
 
mzk_3om6u,可以更简单--那里的vbs-script已经差不多准备好了,只输入Scripting.FileSystemObject来处理这个txt(读-转换-写回,代码的中心部分已经在那里了),通过WinExec从turkey(或者你有的什么)运行vbs-script,sleep(1000),然后通过mql4-code打开已经转换的txt。这里是 FSO。我想这么做,但我自己长期缺乏时间......
 
mzk_3om6u:

这就是问题所在,在程序上。

创造一个主题,否则你会厌倦和整个人群一起坐在这个盒子里......我在php中找到了一个函数翻译,将 "РРєśś†Ð×׆†Ð׆Ð׆Ð׆Ð׆Ð׆Ð׆Ð׆Ð׆Ð׆Ð׆Ð׆Ð׆Ð׆Ð׆Ð׆Ð׆Ð׆Ð׆Ð׆Ð׆Ð׆Ð׆Ð׆Ð׆Ð׆Ð׆Ð׆Ð׆Ð׆Ð׆Ð׆Ð׆Ð׆Ð׆是这种情况还是我的函数有错误?
 
Integer:

经济
可能有D0 AD,字母E,但#&HAD是html &shy;--Win1251中的软转移,所以Win1251的第一个字符是重复的,你会得到D0 D0,在utf-8中不是一个单一的字符...
 
gyfto:
最有可能的是D0 AD,字母E,但#&HAD是html &shy;- Win1251中的软转移,由于这个原因,Win1251的第一个字符被重复了,你得到了D0 D0,在utf-8中不对应任何字符...


尝试了字母 "E "和 "e"--转换正常,可能是 "A "的情况。把功能放在这里
 
Integer:

试了一下字母 "A "和 "e"--它转换正常,肯定是用 "A "转换的。把功能放在这里

有一个A,谢谢你的功能。