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

 

Sono solo curioso - se l'ordine non viene effettuato, ci deve essere un errore? E probabilmente non puoi leggerlo e correggerlo?

/*mettere un ordine con take e stop a zero, e poi correggerlo, è come se avessero introdotto l'esecuzione ESP*/

 
FAQ:

Sono solo curioso - se l'ordine non viene effettuato, ci deve essere un errore? E probabilmente non puoi leggerlo e correggerlo?

/*Mettere un ordine con zero take e stop, e poi correggerlo.

Non sto cercando di farlo, ma i registri sono puliti!

"Sesi tratta di fermate, è solo un'opzione di assicurazione

 
vall:

Questo è il punto - i tronchi sono puliti!

"Se la domanda riguarda gli arresti, è solo un'opzione di assicurazione in caso di emergenza

Metti un ordine senza stop e takeover e guarda se si è aperto o no!

L'impostazione di stop e take nella vostra società di intermediazione su questo tipo di conto di trading è possibile SOLO modificando i valori zero impostati in precedenza.

 
Roman.:

Piazza un ordine senza stop e takeover e guarda se si è aperto o no!

Impostare gli stop e i take nel vostro DC su questo tipo di conto di trading è possibile SOLO modificando i loro valori zero precedentemente impostati.


Grazie, questo aiuta.

si scopre che è necessario aprire un conto con 0 e poi modificare introducendo degli stop?

 
vall:

Grazie, questo aiuta.

Quindi bisogna aprire un conto da 0 e poi modificarlo inserendo degli stop?

Dovrei aprire un ordine con valori zero di questi parametri, e poi modificarli modificando l'ordine aperto.

 
Roman.:

aprire un ordine con valori nulli di questi parametri, poi modificarli modificando l'ordine aperto.


Grazie, gli stop sono impostati alla precisione dei simboli del grafico, cioè 0,00001 o alla precisione di 0,0001?
 

I log sono puliti, perché nessuno farà il rilevamento e la gestione degli errori al posto vostro.

Спасибо, стопы устанавливаются в точностью до символов графика, т.е. 0,00001 или с точностью до 0,0001?

MarketInfo è nelle tue mani.

 
Vinin:

Nessuno è disposto ad affrontare la tua domanda. Anche se avrebbe potuto rispondere alla sua domanda molto tempo fa, se avesse voluto, naturalmente.
Questo è quello che credo... Credetemi, a volte la sola volontà non è sufficiente per rispondere alla vostra domanda
 

Buon pomeriggio... Domanda sulle funzioni FileIsEnding e FileIsLineEnding. Per capire come funzionano le funzioni FileIsEnding e FileIsLineEnding, ho scritto il seguente script:

//+------------------------------------------------------------------------------------------+
//+------------------------------------------------------------------------------------------+
//|                         script program start function                                    |
//+------------------------------------------------------------------------------------------+
#property show_inputs                                                    //выводим перед запуском скрипта окно свойств
extern int  position=0;                                                  //внешняя переменная: смещение файлового указателя ОТ НАЧАЛА ФАЙЛА (в БАЙТАХ)
//---------------------------------------------------------------------------------------- 1 -
int start()                                                              //функция start
  {                                                                      //начало start
   double Timestart=GetTickCount();                                      //переменная, с помощью которой вычисляется время (в милисекундах) начала выполнения эксперта 
   string name="Копия Запись чисел в файл.csv";                          //имя создаваемого файла
   bool h;                                                               //переменная: значение функции FileIsEnding
   bool h_l;                                                             //переменная: значение функции FileIsLineEnding
   int error;                                                            //переменная: ошибка
   int handle=FileOpen(name,FILE_CSV|FILE_WRITE,';');                    //открываем заданный файл n записываем туда данные
   int запись=FileWrite(handle,DoubleToStr(1.3584,4));                   //записываем цены OHLC в файл csv (в преобразованном виде, т.е в виде текста)
   FileClose(handle);                                                    //закрываем файл
//---------------------------------------------------------------------------------------- 2 -
   handle=FileOpen(name,FILE_CSV|FILE_READ,';');                         //открываем заданный файл
   bool pos=FileSeek(handle,position,SEEK_SET);                          //смещаем от начала вправо указатель файла
   double чтение=FileReadNumber(handle);                                 //считываем число из текущей позиции (уже измененной функцией FileSeek) файлового указателя
   int size=FileSize(handle);                                            //вычисляем размер заданного файла
   h=FileIsEnding(handle);                                               //устанавливаем текущее значение переменной h
   h_l=FileIsLineEnding(handle);                                         //устанавливаем текущее значение переменной h_l
   error=GetLastError();                                                 //значение ошибки, производимой функцией FileIsEnding
   if(error!=0)Alert("Текущая ошибка ",error);                           //если код текущей ошибки не равен 0, то получаем номер текущей ошибки
   FileClose(handle);                                                    //закрываем файл
//----------------------------------------------------------------------------------------- 3 -
   Comment("Размер файла ",name," составил ",size," байт",
           "\nФункция FileSeek вернула: ",pos,
           "\nФункция FileReadNumber(handle) вернула: ",чтение,
           "\nФункция FileIsLineEnding(handle) вернула: ",h_l,
           "\nФункция FileIsEnding(handle) вернула: ",h,
           "\nСкрипт выполнялся всего ",GetTickCount()-Timestart," миллисекунд, из них: ",MathFloor((GetTickCount()-Timestart)/1000)," секунд ",((GetTickCount()-Timestart)/1000-MathFloor((GetTickCount()-Timestart)/1000))*1000," миллисекунд");//печать сообщения на экран
//----------------------------------------------------------------------------------------- 4 -
   return(0);                                                             //выход из start
  }                                                                       //конец start
//-------------------------------------- КОНЕЦ START -------------------------------------- 5 -

Nel blocco 1-2, ho aperto e scritto il numero 1,3584 (che la funzione DoubleToStr converte in testo) nel file.

Nel blocco 3-4, ho aperto il file e ho letto il numero scritto lì.

La variabile esterna extern int position dovrebbe spostare il puntatore del file usando la funzione FileTell per cercare di capire come funzionano le funzioni FileIsEnding e FileIsLineEnding e cos'è il puntatore del file.

Il libro MQL4.community dice che il puntatore del file è un analogo del cursore del testo.

MA, eseguendo lo script diverse volte e cambiando ogni volta la variabile esterna postiton a 1 (cioè, spostando così il puntatore del file 1 byte a destra dell'inizio del file), la funzione Comment emette una serie di messaggi, ad esempio

se postiton=7, il messaggio sarebbe come questo:


se postiton=8, il messaggio sarebbe come questo:


Capisco che siccome le costanti di stringa occupano 8 byte nella memoria del PC e c'è solo 1 numero convertito nel file, allora spostare il puntatore del file di 8 byte a destra mi darà un errore 4099 (che significa che è stata raggiunta la fine del file). Ho anche capito che la funzione FileIsEnding restituisce 1 (true) per lo stesso motivo (fine del file raggiunta). Ma non capisco perché la funzione FileIsLineEnding restituisce 0 (falso, che significa che il puntatore del file non ha raggiunto la fine della linea). Dopo tutto, basandomi sull'analogia data nel libro MQL (un puntatore di file è più o meno lo stesso di un cursore di testo), ho ragionato che la fine del file è anche la fine della stringa. Ma considerando che FileIsEnding e FileIsLineEnding hanno valori diversi quando il puntatore del file raggiunge la fine del file, sono perplesso su COSA sia un puntatore FILE

Domanda:

1. Cos'è un puntatore di file?

2. Perché la fine di una linea e la fine di un file non coincidono (quando un puntatore di file raggiunge la fine di un file)?

P.S. Per non ingombrare il forum, grazie in anticipo per la risposta

 
7777877:

1. Cos'è un puntatore di file?

2. Perché la fine della linea e la fine del file non coincidono (quando il puntatore del file raggiunge la fine del file)?

P.S. Non per ingombrare il forum, grazie in anticipo per la vostra risposta

1. Il puntatore del file è in realtà un cursore quando si scrive

2. Chi ti ha detto che dovrebbero coincidere? C'è il terminatore di stringa '\n' e il carattere di fine file 'EOF'; sono caratteri diversi. Sono come il carattere di fine frase (punto) e il carattere di fine paragrafo ("carattere di interruzione di riga"). Prima c'è un punto fermo, che è la fine della linea. Poi arriva la fine del paragrafo.