Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Da nessuna parte senza di te - 6. - pagina 255

 
lottamer:


grazie, non posso controllare.... prima il consulente ha avuto un glitch (non ha risposto alle scuse nel codice). ho deciso di riavviare mt4 - il terminale si è aperto pulito come la lacrima di un bambino.... niente conti, niente grafici, niente EAs....

questo deve essere un segno - PER OGGI BASTA COSÌ. :)))

grazie per la vostra pazienza.... :)

Vagando, in tre pini.

Ecco la funzione di I. Kim, risolvila

//+------------------------------------------------------------------+
//| Дивергенции 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 ,ecco un convertitore BASIC sull'hub, puoi tradurlo sul posto.

Potete aprirlo in notepad e salvarlo in ANSI. È un'altra questione se avete bisogno di pre-codificarlo programmaticamente.
 
lottamer:
Aggiungo QUESTO.... e stampa di nuovo 5__13. Non dovrebbero esserci già i valori dell'indicatore?
   double max=MACDBuffer[ArrayMaximum(MACDBuffer)];
   double min=MACDBuffer[ArrayMinimum(MACDBuffer)];
 
Integer:

Potete aprirlo in notepad e salvarlo in ANSI. La questione è diversa se si deve pre-codificare programmaticamente.

Questa è la questione della precodifica del software.
 
gyfto:
mzk_3om6u ,ecco un convertitore BASIC sull'hub, puoi tradurlo sul posto.

Eh, se fossi un ragazzo abile, ma tutto quello che so fare è strattonare le funzioni))))
 
mzk_3om6u, può essere più semplice - lì vbs-script è quasi pronto, inserisci solo Scripting.FileSystemObject per lavorare con questo txt (read-reconvert-write back, la parte centrale del codice è già lì), esegui vbs-script da turkey (o qualsiasi cosa tu abbia) attraverso WinExec, sleep(1000), e poi da mql4-code apri il txt già convertito. Ecco FSO. Lo farei io, ma sono cronicamente a corto di tempo...
 
mzk_3om6u:

Questa è la domanda, programmaticamente.

Crea un argomento, altrimenti ti stancherai di stare seduto in questa scatola con tutta la folla... Ho trovato una funzione in php tradotta, la linea "РРєÐśÐśÐ†RґÐ°ÑЂЊ - ÐђÐЅÐааа ÑÑ'ЊÐÐа" viene convertita in "Calendarioeconomico- Analisi di mercato". Era questo il caso o c'è un errore nella mia funzione?
 
Integer:

Economico
Probabilmente c'è D0 AD, la lettera E, ma #&HAD è html &shy; - soft transfer in Win1251, quindi il primo carattere di Win1251 è duplicato e si ottiene D0 D0, che in utf-8 non è un singolo carattere...
 
gyfto:
C'è molto probabilmente D0 AD, lettera E, ma #&HAD è html &shy; - trasferimento morbido in Win1251, a causa di questo il primo carattere di Win1251 è duplicato e si ottiene D0 D0, che in utf-8 non corrisponde a nessun carattere...


Provato "E" ed "e" - converte normalmente, forse era così con "A". Mettete la funzione qui.
 
Integer:

Ho provato la lettera "A" e la "e" - si converte normalmente, deve averlo fatto con la "A". Mettete la funzione qui.

c'era una A, grazie per la funzione.
Motivazione: