Tutte le domande dei nuovi arrivati su MQL4 e MQL5, aiuto e discussione su algoritmi e codici - pagina 724

 
Igor Makanu:

Molto probabilmente hai bisogno della variante 1, poi nell'indicatore nel ciclo di calcolo, dove cerchi le barre, usi la seguente struttura:

Avete il tempo richiesto in Time[i] dopo aver controllato la condizione

Grazie per la vostra risposta. Uso la funzioneCheckTimer() dove passolo startTime, endTime come data.TimeDayOfWeek()restituisce valori da 1 a 5, come ho capito. Come posso convertirli in formato data per usarli nella funzioneCheckTimer()? O dovrò modificare anche questa funzione?

 
Gerkl:

Grazie per la risposta. Uso la funzioneCheckTimer() dove passostartTime, endTime come data.TimeDayOfWeek()restituisce valori da 1 a 5 come ho capito. Come posso convertirli in formato data per usarli nella funzioneCheckTimer()? O dovrò modificare anche questa funzione?

Che ne dici di questo

int   shift = iBarShift(NULL,PERIOD_W1,Time[i]);  
  
datetime startTime = iTime(NULL,PERIOD_W1,shift); 
datetime endTime = startTime + PeriodSeconds(PERIOD_W1); 
 
Alekseu Fedotov:

Forse è così

Grazie, ma mostra tutta la settimana da domenica a domenica e ho bisogno da lunedì a venerdì (settimana di trading).


Settimana

 

Qual è il modo migliore per mettere 10 copie dello stesso EA in un EA, ma con parametri diversi?


Credo di sì...
L'intero codice dell'EA in una funzione.
E basta fare i parametri di ingresso dei parametri EA della funzione.

In Ontick, basta registrare la funzione 10 volte, con parametri diversi.


E dovremmo dividere gli ordini attraverso i commenti.
Prescrivere commenti diversi per diverse copie dell'EA.

 
multiplicator:

Qual è il modo migliore per mettere 10 copie dello stesso EA in un EA, ma con parametri diversi?


Credo di sì...
L'intero codice dell'EA in una funzione.
E basta fare i parametri di ingresso dei parametri EA della funzione.

In Ontick, basta riscrivere la funzione 10 volte, con parametri diversi.


E dovremmo dividere gli ordini attraverso i commenti.
Scriveremo commenti diversi per diverse copie dell'EA.

È meglio fare diversi Majiks

 
Vladimir Pastushak:

È meglio fare i Mejis diversi

Perché meglio?
È solo che forse ci sarà ancora un altro EA che commercia lì.
 
Gerkl:

Grazie, ma è così che mostra l'intera settimana da domenica a domenica, mentre io ho bisogno da lunedì a venerdì (settimana di trading).

Se ti va bene, aggiungi 5 giorni di tempo in secondi = 5 * 24 * 60 * 60 e otterrai l'ora di inizio di venerdì.

è difficile indovinare di cosa avete bisogno, ma è sempre più affidabile usare il tempo di apertura di una barra in TF


moltiplicatore:
perché meglio?
forse ci sarà ancora un altro EA che fa trading lì.

Poiché il commento dell'ordine non è affidabile, alcuni server sovrascrivono il commento a ore 0 o vi aggiungono informazioni proprietarie.

magik è affidabile, non vi dispiace per i numeri? magik è di tipo int - leggete nel vostro aiuto qual è il numero massimo che potete memorizzare in int.... hai abbastanza numeri magici per diversi miliardi di EA... non essere avido, spendi i numeri magici ))))

 
Igor Makanu:

poiché il commento dell'ordine non è affidabile, alcuni server sovrascrivono il commento a ore 0 o vi aggiungono informazioni di servizio

wizard è affidabile, non vi dispiace per i numeri? wizard è di tipo int - leggete nel vostro aiuto quale numero massimo può essere memorizzato in int.... hai abbastanza numeri magici per diversi miliardi di Expert Advisors... non essere avido, spendere numeri magici ))))

Ho uno stereotipo: una EA - un numero magico.


Non dovrai chiudere tutti gli ordini del gufo, quindi non hai nemmeno bisogno di una magia comune per il gufo.

 

Ciao, ho bisogno di un consiglio. Questo Expert Advisor che chiude tutte le posizioni su Profit Equity ha frequenti slittamenti. Cioè il profitto raggiunge un certo valore, i trade sono poi chiusi, poi no, non dalla prima volta, in generale

extern double EquityProfit  = 1.2;

int start()
  {
   Comment("" ,AccountName(),"\n""ACCOUNT"  ,AccountNumber(),"\n""FREE MARGIN"  ,AccountFreeMargin(),"\n""EQUITY"  ,AccountEquity(),"\n""BALANCE"  ,AccountBalance());

   if(AccountEquity() > AccountBalance()*EquityProfit)
     {
      int total=OrdersTotal();

      for(int i=total-1;i>=0;i--)
        {
         if(OrderSelect(i,SELECT_BY_POS)==true)
           {
            int type=OrderType();

            bool result=false;

            switch(type)
              {
               case OP_BUY       : result=OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_BID),5,Red);
               break;
               case OP_SELL      : result=OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_ASK),5,Red);
              }

            if(result==false)
              {
               Sleep(0);
              }
           }
        }
     }
   return(0);
  }
//+------------------------------------------------------------------+
 
Vladimir Baskakov:

Ciao, ho bisogno di un consiglio. Questo Expert Advisor che chiude tutte le posizioni su Profit Equity ha frequenti slittamenti. Cioè, se il profitto raggiunge il valore specificato, i trade vengono chiusi o no, non del tutto la prima volta.

Dovete correggere l'eccesso di equità usando il flag

Poi devi chiudere tutti gli ordini fino a raggiungere lo 0 e invertire la bandiera.

Ora, una parte degli ordini si è chiusa e un'altra parte no. L'equità è cambiata e, di conseguenza, la condizione non funziona correttamente nel prossimo tick.

Motivazione: