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

 
ALXIMIKS:

Se i dati sono cambiati, dovremmo mettere il puntatore al posto dove lo sovrascriveremo con fileseek, sovrascriverlo con il metodo standard filewrite..., ricordare la fine del file e tagliarlo con la funzione WinApi

O usando il metodo standard, scrivere la posizione alla fine del file, dove finiscono le informazioni utili, e poi leggere questa posizione. (Potete scrivere la posizione in un altro file).

Ma comunque, è meglio tagliarlo, e non c'è uno strumento di taglio standard ((

questo èZhunko12.09.2014 20:19#

Sarebbe interessante avere le stesse funzioni di WinApi.

Che tristezza, è così complicato.

 
C'è qualche semplice esempio di sovrascrittura di una stringa?
 
VOLDEMAR:
C'è qualche semplice esempio di sovrascrittura di una stringa?
Cosa c'è che non va nell'esempio della guida?
 
AlexeyVik:
Cosa c'è di sbagliato nell'esempio nella guida?
O è complicato o non funziona ...
 

Aiuta a modificare lo script per trasferire il rapporto al grafico. Non riesco a trovare il motivo per cui non rende...

Collegamento alla base di codice.

Versione leggermente modificata che ho nel trailer. |

\ | /

\ /

\/

File:
 

int RegisterWindowMessageA (stringa param);

Probabilmente c'è un problema con questo, dovremo giocarci un po'.

 
Heroix:

Aiuta a modificare lo script per trasferire il rapporto al grafico. Non riesco a trovare il motivo per cui non rende...

Illink è alla base del codice.

Versione leggermente modificata da me nel trailer.

1. Non c'è nessun PostMessageA nell'importazione, ma ce n'è uno nel codice.

2. Il formato è cambiato nella comunicazione con api (ecco un esempio funzionantePavlick28.07.2014 17:24#)

 

Buon pomeriggio, per favore aiutatemi. Sto usando un indicatore CCI con periodo 34 e con periodo 170. Devo controllare se il CCI 170 incrocia la linea zero del CCI 34. In altre parole, voglio vedere quando il CCI 34 attraversa la linea dello zero prima, e il CCI 170 attraversa la linea dello zero dopo. In quel momento, CCI 170 può avere qualsiasi valore, e le linee zero di questi indicatori non coincidono sul grafico.

Come si fa? Ho bisogno di usare operatori grafici? Quali e come? Grazie mille in anticipo.

 
VOLDEMAR:
O è complicato o non funziona.

Qual è la difficoltà? Mettere un puntatore di file all'inizio della stringa? O sostituire la lettura delle linee con la scrittura?

Ecco, hai un indizio.

r772ra:

FileSeek() per aiutare.

Recupera dall'aiuto:

//--- откроем файл
   int file_handle=FileOpen(InpDirectoryName+"//"+InpFileName,FILE_READ|FILE_TXT|InpEncodingType);
//////////////////////////////////

//--- получим позицию начала для каждой строки в файле
      GetStringPositions(file_handle,pos);
// Эту функцию возьми в справке.
///////////////////////////////////////

//--- сдвинем позицию на начало этой строки
      if(FileSeek(file_handle,pos[ind],SEEK_SET)==true)
// Здесь надо pos[ind] заменить на ArrayMaximum(). Это будет последняя строка.

////////////////////////////////////

//--- прочитаем и распечатаем строку с номером ind
         PrintFormat("Текст строки с номером %d: \"%s\"",ind,FileReadString(file_handle));
// А это замени на uint  FileWrite()
///////////////////

 
Zeta:

Buon pomeriggio, per favore aiutatemi. Sto usando un indicatore CCI con periodo 34 e con periodo 170. Devo controllare se il CCI 170 incrocia la linea zero del CCI 34. In altre parole, voglio tracciare il momento 1.in cui il CCI 34 attraversa la linea dello zero prima, e poi il CCI 170 attraversa lalinea dello zero. A questo punto CCI 170 può avere qualsiasi valore, le linee zero di questi indicatori sul grafico non coincidono.

Come si fa? 2.ho bisogno di usare operatori grafici? Quali e come? Molte grazie in anticipo.


2. Perché?iCCI(......);

Un'opzione è:

1. Avviare un contatore. Uno o due sono opzionali.

Poi l'algoritmo per un contatore:

1. Inizializzare 0.

Determina quando si verifica il passaggio a zero della CCI(34) e avvia un contatore. Per esempio, se incrocio UP, allora +1, se DN -1.

3. Se il contatore = 0 - aspetta la prossima barra.

4. Se il valore del contatore è diverso da 0 - Verificare l'attraversamento di CCI(170).

4.1 Se non c'è stato crossover, aumentare il valore del contatore UP/diminuire il valore del contatore DN.

4.1 Se UP - Controllare il valore del contatore: se diverso da zero e inferiore al valore richiesto (ad esempio, ci aspettiamo un incrocio CCI(170) entro 5 barre da un incrocio CCI(34) - allora è richiesto un valore di 5).

4.1.2 Se tutte le condizioni sono soddisfatte sulla barra corrente o se è passato più del numero previsto di barre - si resetta il contatore a 0 .

4.1.3 Se le condizioni non sono soddisfatte - aumentare il valore del contatore.

4.2 Se DN - analogamente, solo per valori negativi.

Motivazione: