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

 

La documentazione dice che la funzione iCustom dovrebbe essere usata per chiamare indicatori di terzi.

Il secondo parametro di questa funzione è il timeframe. Se ho questo parametro in un indicatore, e sarà specificato nei parametri della funzione iCustom, c'è un posto dopo il parametro nome per inserire la lista dei parametri passati dall'indicatore.

Quindi. Passerò il parametro timeframe dall'indicatore in ogni caso. Se specifichiamo lo stesso parametro in 2 posti, non è logico. Allora qual è il modo giusto di procedere?

 
hoz:

La documentazione dice che la funzione iCustom dovrebbe essere usata per chiamare indicatori di terzi.

Il secondo parametro di questa funzione è il timeframe. Se ho questo parametro in un indicatore, e sarà specificato nei parametri della funzione iCustom, c'è un posto dopo il parametro nome per inserire la lista dei parametri passati dall'indicatore.

Quindi. Passerò il parametro timeframe dall'indicatore in ogni caso. Se specifichiamo lo stesso parametro in 2 posti, non è logico. Allora qual è il modo giusto di procedere?


Tutto è in ordine. Tutto deve essere specificato. Il secondo parametro è il TF dove l'indicatore è fisicamente attaccato, il TF personalizzato è dove l'indicatore prende i dati per il calcolo. Naturalmente, è possibile rimuovere il secondo parametro dal codice dell'indicatore, se c'è una logica in esso.
 
Zhunko:
Tutto è in ordine. Tutto deve essere specificato. Il secondo parametro è il TF dove l'indicatore è fisicamente attaccato, il TF personalizzato è dove l'indicatore prende i dati per il calcolo. Naturalmente, è possibile rimuovere il secondo parametro dal codice dell'indicatore, se c'è una logica in questo.

Ora capisco. Grazie.

Ma gli stessi parametri che dovrebbero essere impostati nell'indicatore dovrebbero essere dichiarati nell'EA. Risulta che tutti i valori dei parametri per il corretto lavoro congiunto dell'indicatore e dell'Expert Advisor devono essere definiti allo stesso modo in entrambi i casi?

Se ho inserito le variabili in iCustom e non le ho dichiarate nell'EA, allora durante la compilazione il giornale dirà che quelle variabili che ho inserito non sono dichiarate.

 
Chi sa in quale Code Base EA posso vedere come è codificata la funzione OrderCloseBy() con tutte le torte. Ho guardato lo script closeby nel tutorial, ma non riesco a capire come renderlo una funzione da chiamare da EA, ecc. Forse puoi insegnarmi cosa fare! Grazie!
 
borilunad:
Chi sa in quale Code Base EA posso vedere come è codificata la funzione OrderCloseBy() con tutte le torte. Ho guardato lo script closeby nel tutorial, ma non riesco a capire come renderlo una funzione da chiamare da EA, ecc. Forse puoi insegnarmi cosa fare! Grazie!

L'hai visto qui? https://docs.mql4.com/ru/trading/OrderCloseBy
 

Certo che l'ho fatto! Capisco il principio, ma non funziona, e devo sfruttare l'opportunità di risparmiare sullo spread. Ecco perché volevo vedere esempi che funzionano. Sto cercando su Code Base, ma finora senza successo. Nessuno usa questa chiusura reciproca in questi EA. Spero di incontrarli montati e non con le viti. Buona notte! Potrebbe essere più saggio al mattino!
 
Potete dirmi come cancellare le linee di tendenza, gli indicatori, ecc., su un computer normale su Windows l'ho fatto con il tasto destro del mouse dopo averli selezionati, ma sull'imac non so come. Non riesco anche a trovare come aggiungere l'oro alla lista generale?
 
Come cancellare le linee su IMAC?
feeje:
Potete dirmi come cancellare le linee di tendenza, gli indicatori, ecc., su un computer normale su Windows l'ho fatto con il tasto destro del mouse dopo averli selezionati, ma sull'imac non so come. E non riesco nemmeno a trovare come aggiungere l'oro alla lista comune?
 

Buon pomeriggio. GENTE, RISPONDETE ALLA DOMANDA PER FAVORE (3a volta che scrivete). Domanda su un indice di file... Nel mio libro MQL4, che si trova su MQL4.community, nella sezione "Standard Functions", c'è un esempio dello script "File Operations", che è destinato a leggere dati da un file e a visualizzare oggetti grafici in una finestra simbolo:

//--------------------------------------------------------------------
// timetablenews.mq4
// Предназначен для использования в качестве примера в учебнике MQL4.
//--------------------------------------------------------------- 1 --
int start()                            // Спец. функция start
  {
//--------------------------------------------------------------- 2 --
   int Handle,                         // Файловый описатель
       Stl;                            // Стиль вертикальной линии
   string File_Name="News.csv",        // Имя файла
          Obj_Name,                    // Bмя объекта
          Instr,                       // Название валюты
          One,Two,                     // 1я и 2я чать названия инстр.
          Text,                        // Текст описания события
          Str_DtTm;                    // Дата и время события(строка)
   datetime Dat_DtTm;                  // Дата и время события(дата)
   color Col;                          // Цвет вертикальной линии
//--------------------------------------------------------------- 3 --
   Handle=FileOpen(File_Name,FILE_CSV|FILE_READ,";");// Открытие файла
   if(Handle<0)                        // Неудача при открытии файла
     {
      if(GetLastError()==4103)         // Если файла не существует,..
         Alert("Нет файла с именем ",File_Name);//.. извещаем трейдера 
      else                             // При любой другой ошибке..
         Alert("Ошибка при открытии файла ",File_Name);//..такое сообщ
      PlaySound("Bzrrr.wav");          // Звуковое сопровождение
      return;                          // Выход из start()      
     }
//--------------------------------------------------------------- 4 --
   while(FileIsEnding(Handle)==false)// До тех пор, пока файловый ..
     {                                // ..указатель не в конце файла
      //--------------------------------------------------------- 5 --
      Str_DtTm =FileReadString(Handle);// Дата и время события(дата)
      Text     =FileReadString(Handle);// Текст описания события
      if(FileIsEnding(Handle)==true)   // Файловый указатель в конце
         break;                        // Выход из чтения и рисования
      //--------------------------------------------------------- 6 --
      Dat_DtTm =StrToTime(Str_DtTm);   // Преобразование типа данных
      Instr    =StringSubstr(Text,0,3);// Извлекаем первые 3 символа
      One=StringSubstr(Symbol(),0,3);// Извлекаем первые 3 символа
      Two=StringSubstr(Symbol(),3,3);// Извлекаем вторые 3 символа
      Stl=STYLE_DOT;                   // Для всех - стиль пунктир
      Col=DarkOrange;                  // Для всех - цвет такой
      if(Instr==One || Instr==Two)     // А для событий по нашему ..
        {                             // .. финансовому инструменту..
         Stl=STYLE_SOLID;              // .. такой стиль..
         Col=Red;                      // .. и такой цвет верт. линии
        }
      //--------------------------------------------------------- 7 --
      Obj_Name="News_Line  "+Str_DtTm;     // Имя объекта
      ObjectCreate(Obj_Name,OBJ_VLINE,0,Dat_DtTm,0);//Создаем объект..
      ObjectSet(Obj_Name,OBJPROP_COLOR, Col);       // ..и его цвет,..
      ObjectSet(Obj_Name,OBJPROP_STYLE, Stl);       // ..стиль..
      ObjectSetText(Obj_Name,Text,10);              // ..и описание 
     }
//--------------------------------------------------------------- 8 --
   FileClose( Handle );                // Закрываем файл
   PlaySound("bulk.wav");              // Звуковое сопровождение
   WindowRedraw();                     // Перерисовываем объекты
   return;                             // Выход из start()
  }
//--------------------------------------------------------------- 9 --

Di seguito, quando si analizza questo script nel libro su MQL4, viene data la seguente frase: "se il controllo specificato (le ultime 2 righe del blocco 5-6) viene rimosso, un oggetto extra verrà creato a runtime. E solo dopo questo, la condizione di terminazione del ciclo while scatterà e il controllo sarà passato al blocco 8-9".

Ho capito bene? Un puntatore a file NON è INFLUITO DA SEGNALI DI TESTO (per esempio: text| dove | è un puntatore a file), ma è un puntatore CON ESPRESSIONE, per esempio: text dove k è il carattere "to", k-th è evidenziato da un puntatore a file. Questo spiega la necessità delle corde (vedi p.164):

      if(FileIsEnding(Handle)==true)   // Файловый указатель в конце
         break;                        // Выход из чтения и рисования
      //--------------------------------------------------------- 6 --

Infatti. Alla penultima iterazione, dopo aver creato l'ULTIMO oggetto

2007.05.11 18:30;JPY

il puntatore del file è nella posizione dell'ultimo oggetto, cioè

2007.05.11 18:30;JPYFabbricazione industriale

(dove o è il carattere" o", k è l'indice del file). Poi, quando si passa il controllo all'intestazione dell'istruzione while, la funzione FileIsEnding(handle) restituirà ovviamente true, perché il puntatore del file NON è alla fine del file, ma all'ULTIMO carattere di quel file. Poi, quando le prime due linee vengono eseguite, il puntatore del file si sposta nello spazio vuoto e se non ci sono linee

      if(FileIsEnding(Handle)==true)   // Файловый указатель в конце
         break;                        // Выход из чтения и рисования
      //--------------------------------------------------------- 6 --

lo script creerà un grafico (cioè una linea) con una descrizione vuota e una coordinata temporale che corrisponde a 0. Questo è ciò che si intende nella frase: "se il controllo specificato (le ultime 2 linee nel blocco 5-6) viene rimosso, allora un oggetto extra verrà creato a runtime. "

Domanda: ho capito bene:

a) la definizione di un puntatore di file;

b) il significato della frase "Se il controllo specificato (le ultime 2 righe del blocco 5-6) viene cancellato, allora un oggetto extra verrà creato all'esecuzione del programma.E solo dopo che la condizione di fine del ciclo while sarà attivata e il controllo sarà passato al blocco 8-9".

P.S. Per non sporcare il forum, vi ringrazio in anticipo per la vostra risposta

 
Potete dirmi come chiudere una parte del profitto (per esempio il 50% di un trade aperto)?
Motivazione: