Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. En ninguna parte sin ti - 6. - página 255

 
lottamer:


gracias, no se puede comprobar.... primero el asesor glitched (no respondió a las disculpas en el código). decidió reiniciar mt4 - el terminal se abrió limpio como la lágrima de un niño.... sin cuentas, sin gráficos, sin EAs....

esto debe ser una señal - ES SUFICIENTE POR HOY. :)))

gracias por su paciencia.... :)

Vagando, en tres pinos.

Aquí está la función de I. Kim, ordénala

//+------------------------------------------------------------------+
//| Дивергенции 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 ,aquí hay un convertidor de BASIC en el centro, puedes traducirlo en el momento.

Puedes abrirlo en el bloc de notas y guardarlo en ANSI. Otra cosa es que haya que codificarla previamente de forma programada.
 
lottamer:
Agrego THIS.... y vuelve a imprimir 5__13. ¿No debería haber ya valores indicadores?
   double max=MACDBuffer[ArrayMaximum(MACDBuffer)];
   double min=MACDBuffer[ArrayMinimum(MACDBuffer)];
 
Integer:

Puedes abrirlo en el bloc de notas y guardarlo en ANSI. Otra cosa es que haya que codificarla previamente de forma programada.

Esta es la cuestión de la precodificación del software.
 
gyfto:
mzk_3om6u ,aquí hay un convertidor de BASIC en el centro, puedes traducirlo en el momento.

Eh, si fuera un niño hábil, pero todo lo que sé hacer es tirar de las funciones))))
 
mzk_3om6u, puede ser más simple - allí vbs-script está casi listo, introduzca sólo Scripting.FileSystemObject para trabajar con este txt (leer-reconvertir-escribir de nuevo, la parte central del código ya está allí), ejecute vbs-script de pavo (o lo que tenga) a través de WinExec, sleep(1000), y luego por mql4-código abrir el txt ya convertido. Aquí está el FSO. Yo lo haría, pero tengo una falta de tiempo crónica...
 
mzk_3om6u:

Esa es la cuestión, programáticamente.

Crea un tema, de lo contrario te cansarás de estar sentado en este palco con toda la gente... Encontré una función en php traducida, la línea "РРєÐśÐśÐ†Ð××ІІІІа"ÐµÐЅÐґÐ°ÑЂЊ - ÐђÐЅÐ°Ð° ÑÑ'ÐЅÐ°" se convierte en "CalendarioEconómico- Análisis de Mercado". ¿Fue este el caso o hay un error en mi función?
 
Integer:

Económico
Probablemente hay D0 AD, la letra E, pero #&HAD es html &shy; - transferencia suave en Win1251, por lo que el primer carácter de Win1251 se duplica y se obtiene D0 D0, que en utf-8 no es un solo carácter...
 
gyfto:
Lo más probable es que haya D0 AD, letra E, pero #&HAD es html &shy; - transferencia suave en Win1251, debido a esto el primer carácter de Win1251 está duplicado y se obtiene D0 D0, que en utf-8 no corresponde a ningún carácter...


Probado "E" y "e" - convierte normalmente, puede ser así con "A". Ponga la función aquí.
 
Integer:

Probé la letra "A" y la "e" - se convierte normalmente, debe hacerlo con la "A". Ponga la función aquí.

había una A, gracias por la función.