Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 6. - page 255

 
lottamer:


merci, je ne peux pas vérifier.... d'abord le conseiller a glitched (n'a pas répondu aux excuses dans le code). j'ai décidé de redémarrer mt4 - le terminal s'est ouvert propre comme une larme d'enfant.... pas de comptes, pas de graphiques, pas d'EAs....

ce doit être un signe - C'EST ASSEZ POUR AUJOURD'HUI. :)))

merci pour votre patience.... :)

En errance, dans trois pins.

Voici la fonction de I. Kim, faites le tri.

//+------------------------------------------------------------------+
//| Дивергенции 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 , il ya un convertisseur BASIC sur le hub, vous pouvez le traduire sur place.

Vous pouvez l'ouvrir dans le bloc-notes et l'enregistrer en ANSI. C'est une autre affaire si vous devez le précoder de manière programmatique.
 
lottamer:
J'ajoute THIS.... et il imprime à nouveau 5__13. Ne devrait-il pas y avoir déjà des valeurs indicatrices ?
   double max=MACDBuffer[ArrayMaximum(MACDBuffer)];
   double min=MACDBuffer[ArrayMinimum(MACDBuffer)];
 
Integer:

Vous pouvez l'ouvrir dans le bloc-notes et l'enregistrer en ANSI. C'est une autre affaire si vous devez le précoder de manière programmatique.

C'est la question du précodage logiciel.
 
gyfto:
mzk_3om6u , il ya un convertisseur BASIC sur le hub, vous pouvez le traduire sur place.

Eh, si j'étais un enfant doué, mais tout ce que je sais faire c'est tirer des fonctions))))
 
mzk_3om6u, ça peut être plus simple - là vbs-script est presque prêt, entrez seulement Scripting.FileSystemObject pour travailler avec ce txt (lecture-reconversion-écriture en retour, la partie centrale du code est déjà là), exécutez vbs-script à partir de la dinde (ou ce que vous avez) par WinExec, sleep(1000), et ensuite par mql4-code ouvrez le txt déjà converti. Voici l'OFS. Je le ferais bien, mais je manque chroniquement de temps moi-même...
 
mzk_3om6u:

C'est la question, programmatiquement.

Créez un sujet, sinon vous serez fatigué de rester assis dans cette boîte avec toute la foule... J'ai trouvé une fonction en php traduite, la ligne "РРєÐśÐśÐ†Ð×׆І†Ð†Ð°"ÐµÐЅÐґÐ°ÑЂЊ - ÐђÐЅÐ°Ð° ÑÑÑ'ÐЅÐ°" est convertie en "Calendrieréconomique- Analyse du marché". Est-ce le cas ou y a-t-il une erreur dans ma fonction ?
 
Integer:

Économie
Il y a probablement D0 AD, la lettre E, mais #&HAD est html &shy ; - soft transfer dans Win1251, donc le premier caractère de Win1251 est dupliqué et vous obtenez D0 D0, qui en utf-8 n'est pas un caractère unique...
 
gyfto:
Il y a très probablement D0 AD, lettre E, mais #&HAD est html &shy ; - soft transfer dans Win1251, à cause de cela le premier caractère de Win1251 est dupliqué et vous obtenez D0 D0, qui en utf-8 ne correspond à aucun caractère...


J'ai essayé "E" et "e" - convertit normalement, peut-être que c'était comme ça avec "A". Mettez la fonction ici.
 
Integer:

J'ai essayé la lettre "A" et "e" - elle se convertit normalement, elle a dû le faire avec "A". Mettez la fonction ici.

il y avait un A, merci pour la fonction.