[ARCHIVIO] Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Da nessuna parte senza di te - 3. - pagina 245

 

Ciao, potresti dirmi cosa sta succedendo con l'oggetto grafico?

             Время_фрактала=Time[ФрВниз];                                               // Определение места обозначения фрактала по времени
             Цена_рисунка=Low[ФрВниз];                                                  // Определение места обозначения фрактала по цене
             ObjectCreate("ФрВнизрис",OBJ_TEXT,0,Время_фрактала,Цена_рисунка-2*PointX); // Создание надписи исторического Фр вверх
             ObjectSetText("ФрВнизрис","Фривн",14,"Arial",DarkOrange);                  // Задание свойств надписи
             Error=GetLastError();                                                      // Назначение имени функции проверки ошибок
             Print("Error рисунка = ", Error);

Viene fuori un messaggio che dice che il parametro name dovrebbe essere una stringa:

(il parametro name per la funzione ObjectCreate deve essere una stringa

il parametro name per la funzione ObjectSetText deve essere una stringa )

E quello che ci si aspetta per la stringa dei parametri: Immagine di errore = 4062

Nel tutorial, nell'esempio(https://book.mql4.com/ru/functions/objects), il nome sembra essere lo stesso, senza stringa . O è sbagliato anche lì?:

//--------------------------------------------------------------------
// grafobjects.mq4
// Предназначен для использования в качестве примера в учебнике MQL4.
//--------------------------------------------------------------------
int start()                            // Спец. функция start
  {
//--------------------------------------------------------------- 1 --
   int Sit;
   double MACD_M_0,MACD_M_1,           // Главная линия, 0 и 1 бар
   MACD_S_0,MACD_S_1;                  // Сигнальная линия, 0 и 1 бар
   string Text[4];                     // Объявление строков. массива
   color  Color[4];                    // Объявление массива цветов
 
   Text[0]= "Открытие Buy";            // Текст для различных ситуаций
   Text[1]= "Открытие Sell";
   Text[2]= "Удерживаем Buy";
   Text[3]= "Удерживаем Sell";
 
   Color[0]= DeepSkyBlue;              // Цвет объекта ..
   Color[1]= LightPink;                // .. для различных ситуаций
   Color[2]= Yellow;
   Color[3]= Yellow;
//--------------------------------------------------------------- 2 --
   ObjectCreate("Label_Obj_MACD", OBJ_LABEL, 0, 0, 0);// Создание объ.
   ObjectSet("Label_Obj_MACD", OBJPROP_CORNER, 1);    // Привязка угол
   ObjectSet("Label_Obj_MACD", OBJPROP_XDISTANCE, 10);// Координата Х
   ObjectSet("Label_Obj_MACD", OBJPROP_YDISTANCE, 15);// Координата Y
//--------------------------------------------------------------- 3 --
   MACD_M_0 =iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,0);  // 0 бар
   MACD_S_0 =iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_SIGNAL,0);// 0 бар
   MACD_M_1 =iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,1);  // 1 бар
   MACD_S_1 =iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_SIGNAL,1);// 1 бар
//--------------------------------------------------------------- 4 --
   // Анализ ситуации 
   if(MACD_M_1=MACD_S_0)                      // Персеч. снизу вверх
      Sit=0;
   if(MACD_M_1>MACD_S_1 && MACD_M_0<=MACD_S_0)// Персеч. сверху вниз
      Sit=1;
   if(MACD_M_1>MACD_S_1 && MACD_M_0>MACD_S_0) // Главная выше сигн.
      Sit=2;
   if(MACD_M_1
 
volshebnik:

Ciao, potresti dirmi cosa c'è che non va nell'impostazione di un oggetto grafico?

Ricevo un messaggio che il parametro name dovrebbe essere una stringa:

Prova il nome inglese.
 

In qualche modo, anche il tester del mio amico è andato giù per lo scarico... Che cosa significherebbe?

Anche qualcun altro ha questo problema?

 
nemo811:

In qualche modo, anche il tester del mio amico è andato giù per lo scarico... Che cosa significherebbe?

Anche qualcun altro ha questo problema?

Se swap close e swap open sono spesso scritti nella cronologia delle transazioni, significa che devi aspettare fino a sabato.
 
Shniperson:
Se swap close e swap open sono spesso scritti nella cronologia delle transazioni, significa che dovete aspettare fino a sabato.
No - non esiste una cosa del genere. Solo un paio di giorni fa tutto era a posto. Da ieri io e lui abbiamo iniziato ad avere problemi (risultati di test diversi per lo stesso EA sul terminale dello stesso broker; errori nel log - prima non ce n'erano e il codice civetta non è cambiato; glitch durante l'esecuzione del codice, che prima funzionava senza errori e nella demo dà i risultati previsti).
 
nemo811:
No - non esiste una cosa del genere. Tutto era a posto un paio di giorni fa. Ieri ho iniziato ad avere problemi con lui e con me (risultati di test diversi di uno stesso EA su uno stesso terminale del broker; errori nel log - prima non c'erano tali errori e il codice del gufo non è cambiato; glitch nell'esecuzione del codice, che prima funzionava senza errori e dava i risultati attesi sulla demo).

Tempeste magnetiche...

Immagino che il broker abbia uno spread fluttuante?

Il vostro EA prevede che il broker possa cambiare il livello di STOPLEVEL?

 

Si scopre che in MQL4 non si può passare una variabile per riferimento a dll e assegnarle un valore (in dll). È possibile scrivere in dll solo su array (l'ho capito con il metodo del Prof. Tychkov).

Per favore, mostratemi dove è menzionato nella documentazione.

 
MaxZ:

Immagino che il broker abbia uno spread fluttuante?

Il vostro EA prevede che il broker possa cambiare il livello di STOPLEVEL?

La tattica non è fissata sulla cattura di 10 pips, in senso figurato, quindi lo spread non ha sicuramente nulla a che fare con esso.

Anche ilcambiamento dello STOPLEVEL non spiega cosa sta succedendo (le prove sono fatte allo stesso tempo, sulla stessa coppia - i risultati sono diversi).

 
nemo811:

La tattica non è fissata sulla cattura di 10 pips, in senso figurato, quindi lo spread non ha sicuramente nulla a che fare con esso.

Pensa alla tua risposta... O i risultati dei test differiscono di un ordine di grandezza?
 
joo:

Si scopre che in MQL4 non si può passare una variabile per riferimento a una dll e assegnarle un valore (nella dll). Si può scrivere in dll solo in array (con il metodo del Prof. Tychkov).

Per favore, mostratemi dove è menzionato nella documentazione.

C'era un thread in cui si discuteva di questo. Dovete cercarlo. Ricordo che prima era possibile passare array senza riferimento. Allora era strettamente per riferimento. Forse mi sono confuso su qualcosa...

Questo è tutto quello che ho trovato nel riferimento.

Motivazione: