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

 
drems:
Puoi dirmi se c'è un modo per impostare i commenti di default sull'ordine?

Che tipo di "ordine"? A cosa serve? Dove e perché ha bisogno di un commento?
 
hoz:

Ho qualcosa su un semplice punto, un mal di testa. C'è una funzione per cercare gli ordini.

t - contatore di tutti gli ordini.

p - contatore di ordini pendenti.

Lo chiamo dall'inizio:

Infatti, quando lo apriamo, anche quando non ci sono ordini, vediamo questo (anche quando non ci sono ordini, si stampa come se ci fossero...):

Come è possibile?


Ecco fatto...
if (OrderType() > 1)
      {
          p++;
      }
      t++;
Что у нас тут? Если тип ордера больше OP_SELL, то увеличиваем p

Avete mai pensato che il tipo di ordine potrebbe essere anche più di cinque? In particolare sei. Questo è un cambiamento non commerciale del deposito.

 
artmedia70:
Ecco fatto...

Avete mai pensato che il tipo di ordine potrebbe essere anche più di cinque? In particolare sei. Questo è un cambiamento non commerciale del deposito.



No, è la prima volta che ne sento parlare. Dove lo dice?
 
FAQ:
deposito = tipo 6

Tipo di ordine = deposito? Che cos'è?
 
artmedia70:
Ecco fatto...

Avete mai pensato che il tipo di ordine potrebbe essere anche più di cinque? In particolare sei. Questo è un cambiamento non commerciale del deposito.



E perché 6, perché la dimensione o il numero di ordini possono essere impostati indipendentemente nell'Expert Advisor.
 
hoz:

Tipo di ordine = deposito? Che cos'è questo?

tutti i prelievi e i depositi vanno sotto questo numero
 
Profitov:

E perché 6, perché la dimensione o il numero di ordini può essere scritto nell'EA.

Di cosa stiamo parlando? Non stiamo parlando del numero di ordini, ma del tipo di ordine. Quindi: un ordine di tipo 6 è una modifica non commerciale del deposito.
 
hoz:

No, è la prima volta che ne sento parlare. Dove lo dice?

Questi sono dati non documentati.
 
FAQ:

Tutti i prelievi e i depositi vanno sotto questo numero.


E come può questo numero influenzare la raccolta delle statistiche degli ordini?

artmedia70:

Sono dati non documentati.

È fantastico! La cosa più interessante è che qualcuno ne è al corrente, stranamente. Come si poteva indovinare?

artmedia70:

Di cosa stiamo parlando? Non si tratta del numero di ordini, ma del tipo di ordine. Quindi: un ordine di tipo 6 è un cambio di deposito non commerciale.

Se un gufo viene testato nella demo, come si può tener conto di questo ordine? Cioè il saldo, che è dato inizialmente sul demo - sarà quello... il ricercato UNO? E nel reale - questo è ciò che abbiamo ritirato e depositato, giusto?

 
Sepulca:

Questo dovrebbe funzionare, non l'ho testato io stesso, poiché il terminale è impegnato nell'ottimizzazione di un altro EA finora

Ciao!

Ho provato a incollare il tuo codice nel template del tutorial. Devo aprire solo una posizione ma il modello ha solo una posizione.

La variabile ticket ha un altro nome, dato che il template ne ha già una e l'ha resa statica, quindi il criterio di ritiro riceverebbe i dati da essa, se la posizione rimane il giorno successivo.

Tutto va bene, ma è apparso un problema di looping. Per esempio, nello Strategy Tester, l'Expert Advisor esce da una posizione al Take Profit o alla chiusura sell e il criterio di entrata è ancora attivo, quindi risulta che l'EA apre e chiude costantemente una posizione.

Questo problema è stato risolto aggiungendo una variabile statica datetime t in precedenza, ma ora

 if(Maximum>0 && Flag) {
   signal = Maximum - Bid;    
   if (signal > 0.005 ) { // к примеру если ниже максимума на 12 пунктов, в этом случае откроем SELL 
      Opn_S = true;
      tickett= Opn_S; 
      t=Time[0];  
      if(tickett>=0) Flag=false;// Ордер открылся, сегодня больше не открываем.       
   }  
}
 
if(tickett>=0) 
    {
double stop = iHigh(Symbol(),Period(),0) - iHigh(Symbol(),Period(),1);
if (stop > 0.0012)
     {
       if (Time[0]>t)
            {
             Cls_S=true;   
             tickett=-1;          
            }
      }
     }

sell smette di funzionare.

Funziona ma va in loop:

#define magic 123456789
StartHour=14;
StartMinute=1;// Время 08:01
StopHour=16;
StopMinute=30; // Время 23:58
StartTime=StartHour*60+StartMinute;
StopTime=StopHour*60+StopMinute;
static int tickett=-1;
static double Maximum=-1;
static datetime t;
if(StopTime<=StartTime) {Print("ERROR: Неправильные времена"); return(0);}
 CurrentMinutesFromDayStart=Hour()*60+Minute();// Текущее время в минутах от начала дня
 datetime td=iTime(Symbol(),PERIOD_D1,0);// Время открытия дневного бара в секундах от 01.01.1970
 if(CurrentMinutesFromDayStart<StartTime) {Maximum=-1;Flag=true;}// Если StartTime еще не настало, то после StopTime нужно пересчитать Maximum и можно открывать ордер
if(CurrentMinutesFromDayStart>StopTime && Maximum<0) {// если максимум ещё не посчитан
  datetime ts=td+StartTime*60;// начало временного диапазона в секундах от 01.01.1970
  start= iBarShift(Symbol(),PERIOD_M1,ts,false);// смещение бара, которому принадлежит ts
  ts=td+StopTime*60;// конец временного диапазона в секундах от 01.01.1970
  count= iBarShift(Symbol(),PERIOD_M1,ts,false);// смещение бара, которому принадлежит ts
  count=start-count;// Сколко баров длится временной интервал
  Maximum=iHigh(Symbol(),PERIOD_M1,iHighest(Symbol(),PERIOD_M1,MODE_HIGH,count,start));//Находим максимум на заданном временном интервале
 }
 if(Maximum>0 && Flag) {
   signal = Maximum - Bid;    
   if (signal > 0.005 ) { // к примеру если ниже максимума на 12 пунктов, в этом случае откроем SELL 
      Opn_S = true;
      tickett= Opn_S;   
      if(tickett>=0) Flag=false;// Ордер открылся, сегодня больше не открываем.       
   }  
}
 
if(tickett>=0) 
    {
double stop = iHigh(Symbol(),Period(),0) - iHigh(Symbol(),Period(),1);
if (stop > 0.0012)
            {
             Cls_S=true;   
             tickett=-1;          
            }
      }

Quale può essere il problema? Ho provato tutto quello che mi è venuto in mente, ma non sono molto bravo con mql .

Sto allegando l'Expert Advisor, non è possibile mettere tutto il testo.

File:
svhrvrsa.mq4  14 kb