[ARCHIVIO]Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Non posso andare da nessuna parte senza di te - 5. - pagina 319

 
happybuddhist:

Comunque, ho bisogno di aiuto per scrivere una funzione per chiudere gli ordini per il mio TS (punto 3) e adattare il codice esistente alla funzione.

Vedere qui. ;)

File:
ln_3.mq4  4 kb
 
hoz:

Ma c'è un punto. Lì, in ogni caso, un cambiamento nell'output dell'espressione non risolverà il problema. Dopo tutto, nel punto in cui avviene l'azzeramento, i prezzi di apertura e di chiusura devono essere "scambiati".


Sembra che vi sbagliate. Dopo tutto, +(a-b)=a-b, -(a-b)=-a-(-b)=-a+b=b-a. Con un cambio di segno cambiano di posto.

hoz:

Vadim ha scritto qualche tempo fa che mettere una funzione dentro il ciclo rallenta l'esecuzione del codice di un ordine di grandezza.


Per quanto ho capito Vadim, intendeva la chiamata di una funzione utente in un ciclo.

Vinin:

Forse dovresti aprire una tua filiale. Perché avete bisogno di "Un ramo per i neofiti"?
Sì, perché un principiante dovrebbe conoscere l'anatomia e i periodi di un mashka)))) Non sono diverso dai principianti, forse solo perché sono analfabeta, quindi cerco di arrivare a tutto con il mio cervello.

hoz:

Ho reso i contatoricntUp ecntDn diversi, perché può avere un valore in una volta e poi un altro quando il calcolo viene fatto attraverso il ciclo per barre calcolate. E il contatore può sommare un valore e continuare a sommarne un altro. E se c'è una variabile, il numero di barre di un attributo sarà aggiunto al contatore di barre di un altro attributo.


Il contatore è diverso lì. Se la candela va nella direzione opposta, il contatore viene azzerato dalla formula. O forse non ti ho capito. L'unica cosa è che potrebbe funzionare più lentamente. Lo testerò quando avrò tempo.

 
gyfto: ... Ho una domanda sull'ottimizzazione. Ho a che fare con l'algoritmo EMA...
Quindi, perché devo prendere l'ultimo peso se posso semplicemente avvolgere la funzione di potenza se il prossimo peso è più importante del precedente? Non chiedo nemmeno più perché usare la ricorsione se i pesi finali possono essere derivati da una formula dopo la fine della ricorsione (vedi F(n,x) e y(n,x)).
Vinin : Forse dovresti fondare una tua filiale. Perché avete bisogno di un "ramo per principianti"?
gyfto: ... Sì, beh, perché i neofiti dovrebbero capire l'anatomia e i periodi del waving)))) Non sono diverso dai principianti, forse solo che sono analfabeta, quindi cerco di arrivare a tutto con il cervello. ...
Vai avanti, apri un thread come "Domande sull'EMA" e allega il file di Matcad. Il tuo post si perde qui. In un thread separato, i guru della matematica dovrebbero essere in grado di rompere tutto.
 
GaryKa:
Vai avanti, apri un thread come EMA Questions e allega un file matkad. Il tuo post si perde qui. In un thread separato, i guru della matematica dovrebbero essere in grado di scomporlo.

Probabilmente vuoi dire che la risposta alla domanda andrà persa. Ok, aprirò un thread, modificherò quel post e scriverò spostato.
 
TarasBY:

Guarda questo. ;)


Hmm, grazie. Sono risultati dell'ottimizzazione?
 
gyfto:

Sembra che vi sbagliate. Perché +(a-b)=a-b, -(a-b)=-a-(-b)=-a+b=b-a. Con un cambio di segno, cambiano di posto.

Quindi dalla matematica sappiamo che meno a meno dà più. E più a meno dà meno. Ma questa è la prima volta che sento parlare di variabili che si scambiano di posto.

gyfto:

Per quanto ho capito Vadim, intendeva la chiamata della funzione utente nel ciclo.

Ho una funzione utente lì. Ecco la funzione iniziale stessa nella sua forma non abbreviata, poiché non funziona come voglio per ora, quindi ho deciso di non renderla universale:

//+-------------------------------------------------------------------------------------+
//| Расчитываем количество идущих один за одним баров одного признака                   |
//+-------------------------------------------------------------------------------------+
int LastCandlesType(int directionMA)
{
   int cntUp,                                                                            // Счётчик идущих друг за другом свечей с..
       cntDn;                                                                                // .. требуемыми признаками
       
   for (int i=i_AnyBarsToHistory; i>=1; i--)
   {
      if (directionMA == CROSS_UP)
      {
         if ((Open[i] - Close[i]) >= i_sizeOfSequentialCorrectionBar * pt)              // Если бар соответствует требуемым признакам..
             cntDn++;                                                                     // .. прибавим 1 к счётчику

         if ((Close[i] - Open[i]) >= i_sizeOfTrandBar * pt)                             // Если бар, не соответствует основному признаку..
             cntDn = 0;                                                                   // .. счётчик обнуляем

         if (cntDn == i_sequentBarsСount)                                                   // Если cnt баров в подряд медвежьи..
             return (REQUIRED_SEQUENTIAL_BEARS_GOT);                                         // .. Выходим из функции
      }

      if (directionMA == CROSS_DN)
      {
         if ((Close[i] - Open[i]) >= i_sizeOfSequentialCorrectionBar * pt)              // Если бар соответствует требуемым признакам..
             cntUp++;                                                                     // .. прибавим 1 к счётчику

         if ((Open[i] - Close[i]) >= i_sizeOfTrandBar * pt)                             // Если бар, не соответствует основному признаку..
             cntUp = 0;                                                                   // .. счётчик обнуляем
     
         if (cntUp == i_sequentBarsСount)                                                   // Если cnt баров в подряд бычьи..
             return (REQUIRED_SEQUENTIAL_BULLS_GOT);                                         // .. Выходим из функции
      }
   }
}

All'interno del ciclo, da una funzione che riceve un segnale comune, questa variabile ottiene il suo valore e viene passata come parametro:

int directionMA = GetStateOfMA();

gyfto:
Beh sì, perché i neofiti avrebbero bisogno di capire l'anatomia e i periodi di una macchina ondulatrice))) Non sono diverso dai principianti, forse solo perché sono analfabeta, quindi cerco di arrivare a tutto con il cervello.

Vi sbagliate. In effetti, non si parla di analfabetismo. Qui hai dei pensieri che molti neofiti non capiscono...

gyfto:

Lì c'è un altro contatore. Se la candela va nella direzione opposta, la formula azzera il contatore. O sto fraintendendo. L'unica cosa è che potrebbe funzionare più lentamente. Lo testerò quando ne avrò la possibilità.

Sì, ma abbiamo un contatore in cui i valori sono calcolati dall'ordine delle barre che appaiono dalla barra con indicei_AnyBarsToHistory alla barra con indice 1. Ne segue che se la condizione sarà soddisfatta sulle barre dall'indice 30 all'indice 15:

directionMA == CROSS_UP

e poi per esempio a cnt=2 la condizione sarà soddisfatta:

directionMA == CROSS_DN

Poi cnt sarà incrementato al valore precedente. Se avevamo 2, la nuova condizione aumenterà di 1, quindi cnt=3 e usciremo dalla funzione con il valore 3. Capite cosa intendo? Guardate bene, la logica è fondamentalmente ovvia qui.

 

Buon pomeriggio.

Qualcuno ha esperienza nel cambiare i parametri degli indicatori in un EA

a seconda della volatilità (per esempio i parametri MA) ?

O puoi darmi un link per leggere

 
Stells:

Buon pomeriggio.

Qualcuno ha esperienza nel cambiare i parametri degli indicatori in un EA

a seconda della volatilità (per esempio i parametri MA) ?

O puoi darmi un link per leggere


Se si capisce cos'è un muving, queste domande spariranno da sole.
 
hoz:
Se si capisce cos'è il muving, queste domande spariscono da sole.
Non si può solo vivere in modo bello...

MA adattivo
 
Buongiorno, ho bisogno di aiuto per scrivere un semplice script o un Expert Advisor' se lo script non può farlo da solo non l'ho mai programmato L'essenza dello script Login - ricevere i prezzi (Ask e Bid attuali) - determinare il prezzo futuro di acquisto/vendita (come multiplo del suo numero "per esempio 30") - scoprire se non ci sono ordini aperti/posticipati a questi prezzi - se non ci sono ordini impostare ordini pendenti con stoploss e take profit - se ci sono ordini controllare il prossimo prezzo di acquisto futuro che per acquistare è superiore di un numero multiplo, per vendere - più piccolo di un multiplo - controllare il prezzo corrente sul tetto +-100*fold - aspettare 5 minuti e andare a "get price" l'attesa può essere sostituita da andare a "get price" dopo qualsiasi tick