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

 

ilunga Ho bisogno di più aiuto. C'è qualcosa che non va. Stampa solo il nuovo tempo, ma non c'è un nuovo ZigZag.

2012.10.08 12:23:49 2012.09.14 05:12 MTF PRINT EURUSD,M1: newTime1000001 2012.09.14 05:11
2012.10.08 12:23:49 2012.09.14 05:11 MTF PRINT EURUSD,M1: newTime1000001 2012.09.14 05:10
2012.10.08 12:23:49 2012.09.14 05:10 MTF PRINT EURUSD,M1: newTime100005 2012.09.14 05:05
2012.10.08 12:23:49 2012.09.14 05:10 MTF PRINT EURUSD,M1: newTime1000001 2012.09.14 05:09
2012.10.08 12:23:48 2012.09.14 05:09 MTF PRINT EURUSD,M1: newTime1000001 2012.09.14 05:08
2012.10.08 12:23:4814 05:08 MTF PRINT EURUSD,M1: newTime1000001 2012.09.14 05:07
2012.10.08 12:23:48 2012.09.14 05:07 MTF PRINT EURUSD,M1: newTime1000001 2012.09.14 05:06
2012.10.08 12:23:48 2012.09.14 05:06 MTF PRINT EURUSD,M1: newTime100005 2012.09.14 05:00
2012.10.08 2012 12:23:48 2012.09.14 05:06 MTF PRINT EURUSD,M1: newTime1000001 2012.09.14 05:03
2012.10.08 12:23:48 2012.09.14 05:03 MTF PRINT EURUSD,M1: newTime1000001 2012.09.14 05:02
2012.10.08 12:23:48 2012.09.14 05:02 MTF PRINT EURUSD,M1: newTime1000001 2012.09.14 05:01
2012.10.08 12:23:48 2012.09.14 05:01 MTF PRINT EURUSD,M1: newTime1000001 2012.09.14 05:00
2012.10.08 12:23:48 2012.09.14 05:00 MTF PRINT EURUSD,M1: newTime1000060 2012.09.14 04:00
2012.10.08 12:23:48 2012.09.14 05:00 MTF PRINT EURUSD,M1: newTime1000030 2012.09.14 04:30
2012.10.08 12:23:48 2012.09.14 05:00 MTF PRINT EURUSD,M1: newTime1000015 2012.09.14 04:45
2012.10.08 12:23:48 2012.09.14 05:00 MTF PRINT EURUSD,M1: newTime1000005 2012.09.14 04:55
2012.10.08 12:23:4814 05:00 MTF PRINT EURUSD,M1: newTime1000001 2012.09.14 04:59
2012.10.08 12:23:48 2012.09.14 04:59 MTF PRINT EURUSD,M1: newTime1000001 2012.09.14 04:58
2012.10.08 12:23:48 2012.09.14 04:58 MTF PRINT EURUSD,M1: newTime1000001 2012.09.14 04:55
2012.10.08 2012 12:23:48 2012.09.14 04:55 MTF PRINT EURUSD,M1: newTime1000005 2012.09.14 04:50
2012.10.08 12:23:48 2012.09.14 04:55 MTF PRINT EURUSD,M1: newTime1000001 2012.09.14 04:54
2012.10.08 12:23:48 2012.09.14 04:54 MTF PRINT EURUSD,M1: newTime1000001 2012.09.14 04:53

Codice completo.

//Код непоместился. Слишком длинный. Он в прицепе.
File:
mtfeprint.mq4  19 kb
 
hronik1967:
Se queste sciocchezze sono scritte da neofiti!!!, allora devo essere il germe di un trader. Ha fatto una semplice domanda e l'ha totalmente ignorata. Probabilmente non sono degno di stare qui. Non ne sono degno. Forse qualcuno presterà attenzione. Chiedo di nuovo, ho scaricato e messo su un Forex Cieaner Expert Advisor per EURUSD, ho fatto trading su un intervallo di 30 minuti, ma non vedo nessun trade. Ho messo Ilan 1.6 su GBRUSD prima, tutto è normale lì. Cosa non ho fatto? QUALCUNO LÀ FUORI, PER FAVORE ME LO DICA!!!

Molte persone non conoscono tale consulente. Non vogliono cercarlo e scaricarlo. Ci sono altre domande sul codice.
 
hronik1967:
Se queste sciocchezze sono scritte da neofiti!!!, allora devo essere il germe di un trader. Ha fatto una semplice domanda e l'ha totalmente ignorata. Probabilmente non sono degno di stare qui. Non ne sono degno. Forse qualcuno presterà attenzione. Chiedo di nuovo, ho scaricato e messo su un Forex Cieaner Expert Advisor per EURUSD, ho fatto trading su un intervallo di 30 minuti, ma non vedo nessun trade. Ho messo Ilan 1.6 su GBRUSD prima, tutto è normale lì. Cosa non ho fatto? QUALCUNO LÀ FUORI, PER FAVORE ME LO DICA!!!
L'auto è sulla strada, non va. Ragazzi, aiutatemi, cosa c'è che non va? Questa è più o meno la dimensione della tua domanda EA.
Non si ottiene una risposta perché ci sono almeno due dozzine di ragioni della natura più varia. L'Expert Advisor di qualcun altro sul terminale di qualcun altro da un trader con qualifiche sconosciute.
 

Aiuto.

Intendevo dire (due post sopra) che nel diario si stampa o non si stampa.

Print("newZZ_240=",Curr_zz240) non stampa;

Print("newTime",mn240, ",TimeToStr(CurrTime240)) stampa;

Significa che qualcosa non va con NewZigZag H4 . Non capisco come o cosa. Sembra che sia così, ma non c'è nessuna stampa.

Ho fatto molti studi diversi su ZZ. Ho ottenuto risultati diversi su diversi TF. Ora voglio mettere tutto insieme. Ho un sacco di calcoli e se li faccio in base ai tick o alle nuove barre, il mio computer si carica fortemente. È sufficiente elaborare i dati quando appare un nuovo estremo ZZ.

File:
mtfqprint.mq4  19 kb
 
Grazie a gince e granit77 per le risposte. Sembrano suggerire che uno specialista dovrebbe essere chiamato a casa... Questo è fondamentalmente quello che ho pensato, non sarà spiegato sulle dita.
 
FAQ:

Una caratteristica - una piccola incongruenza, che però non interferisce, e a volte fornisce anche opportunità non documentate, come OrderClosePrice() - se si chiude un ordine con questo parametro nel prezzo di chiusura, si chiuderà, senza bisogno di preoccuparsi di determinare il prezzo per tipo di ordine.

Bug - bug nel programma (caratteristica incorreggibile)

Servidec - un posto dove gli utenti scrivono lettere con i bug rilevati. Si trova nel quinto forum del tuo profilo (è richiesta una registrazione supplementare)

Grosse danke schoen))))
 

Buon pomeriggio. La mia domanda è la seguente. Nel libro MQL4 che si trova su MQL4.community, nella sezione "Standard Functions" della sezione "String Functions and Data Conversion Functions", viene dato il seguente esempio dell'Expert Advisor strings.mq4 (riportato per intero dal libro)

//--------------------------------------------------------------------
// strings.mq4
// Предназначен для использования в качестве примера в учебнике MQL4.
//--------------------------------------------------------------- 1 --
extern int Quant_Bars=100;             // Количество баров
datetime   Time_On;
string     Prefix    ="Paint_";
//--------------------------------------------------------------- 2 --
int init()                             // Спец. функция init()
  {
   int Ind_Bar;                        // Индекс бара
   Time_On=Time [Quant_Bars];          // Время первого раскрашенного
   for(Ind_Bar=Quant_Bars-1; Ind_Bar>=0; Ind_Bar--)// Цикл по барам
     {
      Create(Ind_Bar,1);               // Нарисуем тонкую линию
      Create(Ind_Bar,2);               // Нарисуем толстую линию
     }
   WindowRedraw();                     // Перерисовка изображения 
   return;                             // Выход из init()
  }
//--------------------------------------------------------------- 3 --
int start()                            // Спец. функция start
  {
   datetime T1, T2;                    // 1 и 2 координаты времени
   int Error,Ind_Bar;                  // Код ошибки и индекс бара
   double P1, P2;                      // 1 и 2 координата цены
   color Col;                          // Цвет созданного объекта
//--------------------------------------------------------------- 4 --
   for(int Line=1; Line<=2; Line++)    // Цикл по видам линий
     {
      string Nom_Lin =Line + "_";      // Строка с номером линии
      //    string Nom_Lin  = DoubleToStr(Line,0)+"_";// Можно и так
      for(Ind_Bar=0; ;Ind_Bar++)       // Цикл по барам
        {
//--------------------------------------------------------------- 5 --
         datetime T_Bar= Time[Ind_Bar];// Время открытия бара
         if (T_Bar < Time_On) break;   // Заграничные не раскрашиваем
         string Str_Time=TimeToStr(T_Bar);       // Строка со временем
         string His_Name=Prefix+Nom_Lin+Str_Time;// Имя объекта
//--------------------------------------------------------------- 6 --
         T1=ObjectGet(His_Name,OBJPROP_TIME1);// Запрос коорд. t1
         Error=GetLastError();         // Получение кода ошибки
         if (Error==4202)              // Если объекта нет :(
           {
            Create(Ind_Bar,Line);      // Вызов ф-ии создания объекта
            continue;                  // На следующую итерацию
           }
//--------------------------------------------------------------- 7 --
         T2 =ObjectGet(His_Name,OBJPROP_TIME2); // Запрос коорд. t2
         P1 =ObjectGet(His_Name,OBJPROP_PRICE1);// Запрос коорд. p1
         P2 =ObjectGet(His_Name,OBJPROP_PRICE2);// Запрос коорд. p1
         Col=ObjectGet(His_Name,OBJPROP_COLOR); // Запрос цвета
         if(T1!=T_Bar || T2!=T_Bar || // Не те координаты или цвет:
            (Line==1 && (P1!=High[Ind_Bar] || P2!=  Low[Ind_Bar])) ||
            (Line==2 && (P1!=Open[Ind_Bar] || P2!=Close[Ind_Bar])) ||
            (Open[Ind_Bar] Close[Ind_Bar] && Col!=Red)  ||
            (Open[Ind_Bar]==Close[Ind_Bar] && Col!=Green)  )
           {
            ObjectDelete(His_Name);    // Удаляем объект
            Create(Ind_Bar,Line);      // Создаём правильный объект
           }
//--------------------------------------------------------------- 8 --
        }
     }
   WindowRedraw();                     // Перерисовка изображения 
   return;                             // Выход из start()
  }
//--------------------------------------------------------------- 9 --
int deinit()                           // Спец. функция deinit()
  {
   string Name_Del[1];                 // Объявление массива
   int Quant_Del=0;                    // Количество удаляемых объектов
   int Quant_Objects=ObjectsTotal();   // Cтолько всего ВСЕХ объектов
   ArrayResize(Name_Del,Quant_Objects);// Необходимый размер массива
   for(int k=0; k<=Quant_Del; i++)     // Удаляем объекты с именами,.. 
      ObjectDelete(Name_Del[i]);       // .. имеющимися в массиве
   return;                             // Выход из deinit()
  }
//-------------------------------------------------------------- 10 --
int Create(int Ind_Bar, int Line)      // Пользовательская функция..
  {                                    // ..создания объекта
   color Color;                        // Цвет объекта
   datetime T_Bar=Time [Ind_Bar];      // Время открытия бара
   double   O_Bar=Open [Ind_Bar];      // Цена открытия бара
   double   C_Bar=Close[Ind_Bar];      // Цена закрытия бара
   double   H_Bar=High [Ind_Bar];      // Максимальная цена бара
   double   L_Bar=Low  [Ind_Bar];      // Минимальная цена бара
 
   string Nom_Lin =Line + "_";         // Строка - номер линии
   // string Nom_Lin  = DoubleToStr(Line,0)+"_";// Можно и так
   string Str_Time=TimeToStr(T_Bar);   // Строка - время откр.     
   string His_Name=Prefix+Nom_Lin+Str_Time;// Имя созаваемого объект
   if (O_Bar < C_Bar) Color=Blue;      // Выбор цвета в зависимости..
   if (O_Bar >C_Bar) Color=Red;        // .. от характеристик бара
   if (O_Bar ==C_Bar) Color=Green;
 
   switch(Line)                        // Тонкая или толстая линия
     {
      case 1:                          // Тонкая линия
         ObjectCreate(His_Name,OBJ_TREND,0,T_Bar,H_Bar,T_Bar,L_Bar);
         break;                        // Выход из switch
      case 2:                          // Толстая линия
         ObjectCreate(His_Name,OBJ_TREND,0,T_Bar,O_Bar,T_Bar,C_Bar);
         ObjectSet(   His_Name, OBJPROP_WIDTH, 3);// Стиль     
     }
   ObjectSet(    His_Name, OBJPROP_COLOR, Color); // Цвет
   ObjectSet(    His_Name, OBJPROP_RAY,   false); // Луч
   ObjectSetText(His_Name,"Объект создан экспертом",10);// Описание
   return;                             // Выход из польз. ф-ии
  }
//-------------------------------------------------------------- 11 –
 

... continua...

Alla fine della sottosezione StringSubstr Function tra parentesi c'è la seguente frase: "separatamente dobbiamo notare che nel primo ciclo for (la mia nota: deve essere deinit() poiché non c'è altro modo di cancellare gli oggetti) non possiamo cancellare gli oggetti poiché dopo ogni cancellazione il numero totale di oggetti e la loro numerazione cambierà e alcuni nomi di oggetti saranno saltati". Ma nell'EA citato non c'è affatto un secondo ciclo for . Inoltre, la variabile Quant_Del definita nella funzione deinit() prima del ciclo for è inizializzata con zero, mentre la variabile i non è stata definita da nessuna parte prima del ciclo for.

   for(int k=0; k<=Quant_Del; i++)     // Удаляем объекты с именами,.. 
         ObjectDelete(Name_Del[i]);       // .. имеющимися в массиве

si scopre che il codice di cui sopra omette solo banalmente diverse linee di programma.

Quindi la prima domanda è la seguente: si trattava davvero di una banale omissione di alcune righe o è un programma così complicato che un novizio non può afferrarne il significato senza un aiuto esterno?

Inoltre... Nello stesso capitolo della stessa sezione, c'è un link allo stesso Expert Advisor (nel file allegato) prima del testo citato che, se cliccato, apre lo stesso Expert Advisor in MetaElitor. Ma il testo di questo Expert Advisor è diverso: la funzione deinit() si presenta così

//--------------------------------------------------------------- 9 --
int deinit()                           // Спец. функция deinit()
  {
   string Name_Del[1];                 // Объявление массива
   int Quant_Del=0;                    // Количество удаляемых объекто
   int Quant_Objects=ObjectsTotal();   // Cтолько всего ВСЕХ объектов
   ArrayResize(Name_Del,Quant_Objects);// Необходимый размер массива
   for(int k=0; k<Quant_Objects; k++)  // По количеству объектов 
     {
      string Obj_Name=ObjectName(k);   // Запрашиваем имя объекта
      string Head=StringSubstr(Obj_Name,0,6);// Извлекаем первые 6 сим
      if (Head==Prefix)                // Найден объект, ..
        {                              // .. начинающийся с Paint_
         Quant_Del=Quant_Del+1;        // Колич имён к удалению
         Name_Del[Quant_Del-1]=Obj_Name;//Запоминаем имя удаляемого
        }
     }
   for(int i=0; i<=Quant_Del; i++)     // Удаляем объекты с именами,.. 
      ObjectDelete(Name_Del[i]);       // .. имеющимися в массиве
   return;                             // Выход из deinit()
  }
//-------------------------------------------------------------- 10 --

Poi, se "combinare" la frase "Separatamente, si noti che non è possibile eliminare gli oggetti nel primo ciclo for, perché in questo caso il numero totale di oggetti e la loro numerazione cambierà dopo ogni cancellazione, e alcuni nomi di oggetti saranno saltati come risultato" AND testo funzione deinit() dell'ultima variante, ho la 2a domanda:

Domanda. Perché non posso eliminare gli oggetti nel primo ciclo for mettendo la funzione ObjectDelete(Obj_Name) all'interno della dichiarazione if...? Qualcosa come:

int deinit()                           // Спец. функция deinit()
  {
   int Quant_Objects=ObjectsTotal();   // Cтолько всего ВСЕХ объектов
   for(int k=0; k<Quant_Objects; k++)  // По количеству объектов 
     {
      string Obj_Name=ObjectName(k);   // Запрашиваем имя объекта
      string Head=StringSubstr(Obj_Name,0,6);// Извлекаем первые 6 сим
      if (Head==Prefix)                // Если найден объект, …
        {                              // ... начинающийся с Paint_,
         ObjectDelete(Obj_Name);       // … то его и удаляем
        }                              //конец if
     }                                 //конец for
   return;                             // Выход из deinit()
  }                                    //конец deinit
//-------------------------------------------------------------- 10 --

Perché dopo ogni cancellazione "... Il numero totale di oggetti cambierà"...? Perché in questo caso, la variabile Quant_Objects, che determina il numero totale di oggetti, ottiene il suo valore uguale a ObjectsTotal(), AVANTI il ciclo for?

P.S. Grazie in anticipo per la risposta, per non sporcare il forum.



File:
strings.mq4  7 kb
 

Ragazzi, un po' fuori tema, ma comunque...

È possibile "fare amicizia" tra computer/laptop con Win7 a 32 e 64 bit sulla LAN?
Ho tre portatili e un desktop (tutti a casa) su due portatili Win7 (64-bit) e non si vedono affatto sul desktop di rete Win7 Ultimate 32-bit. E da questo vorrei gestire tutta la folla...

Ci sono opzioni?

 
moskitman:

Ragazzi, un po' fuori tema, ma comunque...

È possibile "fare amicizia" tra computer/laptop con Win7 a 32 e 64 bit sulla LAN?
Ho tre portatili e un desktop (tutti a casa) su due portatili Win7 (64-bit) e non si vedono affatto sul desktop di rete Win7 Ultimate 32-bit. E da questo vorrei gestire tutta la folla...

Ci sono opzioni?

In una rete, non importa quale sia la dimensione del computer o del sistema. C'è qualcosa di sbagliato nelle impostazioni.