[Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Non potrei andare da nessuna parte senza di te - 2. - pagina 10

 
volshebnik:
Per quanto abbia provato Code Base, niente è stato redditizio (non l'ho ancora superato). Altrimenti ci avrei già scommesso sul serio. Nell'ottimizzazione - bene, nel test - male. Proprio questa ricerca di tutte le MA in ottimizzazione, come mi sembra, darà la migliore variante della mia strategia mentre ci sono MA (5), MA(12), MA(18), MA(23) e MA(28). Ma queste potrebbero non essere le migliori AM. E, invece di occuparsi di ognuno di loro (anche delle loro intersezioni), non sarebbe più facile eseguire un algoritmo genetico di ottimizzazione per selezionare le migliori AM? Questa è la domanda che è venuta fuori nel mio post precedente.

Penso che la logica della soluzione sia zoppa lì. Formulate il problema correttamente (potete farlo senza il vostro codice), astraetene un po' e scrivete chiaramente le condizioni del problema...
 
Roman.:

La logica della soluzione è zoppa lì, secondo me. Formulate il problema correttamente (potete farlo senza il vostro codice), astraetene un po' e scrivete chiaramente le condizioni del problema...
Il problema: aspettiamo la rottura della MA, poi il primo frattale. La violazione del primo frattale è un segnale per il commercio. Ma con diversi periodi di MA, i frattali possono essere in posti diversi (per tempo) perché, a seconda del periodo e del tipo di lisciatura, alcuni МАs "rompono" prima e altri dopo e, corrispondentemente, i segnali per un trade sono diversi. Quindi voglio provare tutti i МА per trovare quello che dà il miglior segnale (più redditizio) (se è corretto, non posso ancora affermarlo). Voglio cercare ed eseguire attraverso ogni MA di 50 periodi, e con 4 opzioni - eksponential, smoothed, ecc. - molto molto lungo. Se trasferiamo il periodo МА, TP e SL a una variabile esterna nell'ottimizzazione, vedremo subito cosa è meglio. Ma non posso ottimizzare oltre il periodo МА = 7 per qualche motivo. Quindi sto cercando un aiuto.
 
volshebnik:
Il compito: aspettiamo la rottura della MA, poi il primo frattale. La penetrazione del primo frattale è un segnale per la transazione. Ma con diversi periodi di MAs i frattali possono essere in posti diversi (per tempo) perché, a seconda del periodo e del tipo di smoothing, alcune MAs "rompono" prima, altre - più tardi e, di conseguenza, i segnali al commercio - diversi. Quindi voglio provare tutti i МА per trovare quello che dà il miglior segnale (più redditizio) (se è corretto, non posso ancora affermarlo). Voglio cercare ed eseguire attraverso ogni MA di 50 periodi, e con 4 opzioni - eksponential, smoothed, ecc. - molto molto lungo. Se trasferiamo il periodo МА, TP e SL a una variabile esterna nell'ottimizzazione, vedremo subito cosa è meglio. Ma non posso ottimizzare oltre il periodo МА = 7 per qualche motivo. Quindi sto cercando aiuto.


Soluzione:

Darò per comprato (vendere - per analogia):

1. Frattura MA - ottenere i valori MA sulle barre 3, 2 e 1 - confrontare. Se i valori MA sulle barre 3>2 e 2<1, è una rottura.

2. poi - frattale - penetrazione - un segnale per fare un accordo

   
   double fractal_l;
   double fractal_h;
     
   fractal_h = iFractals(Symbol(),PERIOD, MODE_UPPER, 3);
   if(fractal_h!=0)  upfractal=iFractals(Symbol(), PERIOD, MODE_UPPER, 3); 
   
   fractal_l = iFractals(Symbol(), PERIOD, MODE_LOWER, 3);
   if(fractal_l!=0)  dwfractal=iFractals(Symbol(),PERIOD, MODE_LOWER, 3); 

   if (Ask > upfractal) {открытие ордеров при пробитии последнего (свежайшего) фрактала }


Per quanto riguarda l'enumerazione di MA - mettetela in variabili esterne (ottimizzabili):

Period_MA (è possibile impostare da 2 a 240 in incrementi di 2), MODE - (metodo di calcolo МА - gamma di cambiamenti 0 a 3 passo 1), PRICE_TYPE -(costante di prezzo - gamma di cambiamenti 0 a 6 passo 1), ho sentito che quando si lavora all'interno del giorno MA dovrebbe essere calcolato utilizzando valori medi (prezzo di chiusura non è importante), quando si lavora sulle candele giornaliere MA dovrebbe essere calcolato dai prezzi di chiusura giorno.

PERIODO - lo si cambia manualmente ad ogni ottimizzazione successiva - 1,5,15,30,60,240...

Premi F1 sull'iMA - leggi attentamente tutto di nuovo.

Bene, e naturalmente TP e stop loss ottimizzati come al solito.

 double MA_1 = iMA(Symbol(),PERIOD,Period_MA,0,MODE, PRICE_TYPE, 1);
 double MA_2 = iMA(Symbol(),PERIOD,Period_MA,0,MODE, PRICE_TYPE, 2);
 double MA_3 = iMA(Symbol(),PERIOD,Period_MA,0,MODE, PRICE_TYPE, 3);
P.S. Non dimenticate di scrivere un'informazione sui risultati dei test... :-)))
 
Roman, grazie mille! Lo confronterò con il mio EA. Mi assicurerò di riferire i risultati dei test. Il vostro lavoro non andrà sprecato. La tua precedente offerta martingala è nella mia coda di ricerca, se sono vicino al graal )) ti farò anche sapere.
 
volshebnik:
Roman, grazie mille! Lo confronterò con il mio EA. Mi assicurerò di riferire i risultati dei test. Il vostro lavoro non andrà sprecato. La tua precedente offerta martingala è nella mia coda di ricerca, se sono vicino al graal )) ti farò anche sapere.

Senso, stiamo aspettando...
 
Mi chiedo come funzionerà la funzione OrderModify() se il parametro "prezzo" è impostato diversamente da come era? Per esempio, c'era OrderPrice=1,3200, e nella funzione OrderModify lo impostiamo a 1,3300. Chi lo sa? (io stesso nella pratica e nel tester non ho dovuto controllare, mi dispiace)
 
ikatsko:
Mi chiedo come funzionerà la funzione OrderModify() se il parametro "prezzo" è impostato diversamente da come era? Per esempio, c'era OrderPrice=1,3200, e nella funzione OrderModify lo impostiamo a 1,3300. Chi lo sa? (Non l'ho controllato personalmente nella pratica e nello Strategy Tester, mi dispiace)

cambiare il prezzo aperto di un ordine in sospeso se il tipo di ordine lo permette
 
abolk:

Se il tipo di ordine lo permette, cambierà il prezzo di apertura dell'ordine in sospeso

Cosa vuol dire "se il tipo di ordine lo permette"? Un ordine aperto può essere di tipo ACQUISTO o VENDITA.

Supponiamo che l'ordine cambi il prezzo, ma dove spenderebbe la differenza? Sul saldo positivo o negativo? È così? E ci sarà anche lo spread? Quindi, il vecchio ordine (spread) viene chiuso e il nuovo viene aperto?

 
ikatsko:

Cosa vuol dire "se il tipo di ordine lo permette"? Un ordine aperto può essere di tipo ACQUISTO o VENDITA.

Supponiamo che l'ordine cambi il prezzo, ma dove spenderebbe la differenza? Sul saldo positivo o negativo? È così? E ci sarà anche lo spread? Quindi, il vecchio ordine (spread) viene chiuso e il nuovo viene aperto?

La funzione potrà solo cambiare il prezzo a cui è impostato l'ordine pendente. Se si cerca di cambiare il prezzo aperto dell'ordine a mercato, questa funzione restituirà un errore, qualcosa come "Parametro di funzione non valido". Potete trovare maggiori dettagli nell'aiuto per questa funzione - sono troppo pigro per darvi i link perché ho troppo sonno... :)
 
artmedia70:
Questa funzione sarà in grado di cambiare solo il prezzo di apertura dell'ordine pendente. Se si cerca di cambiare il prezzo aperto dell'ordine a mercato, questa funzione restituirà un errore, qualcosa come "Parametro di funzione non valido". Si prega di vedere maggiori dettagli in questa funzione di aiuto - sono troppo pigro per darvi i link perché ho troppo sonno... :)

Sì, grazie per l'attenzione! Ero troppo pigro per guardare e ho scritto una domanda. Mi dispiace. MA ha cercato e l'ha capito (senza sperimentare). prezzo - nuovo prezzo per l'ordine in sospeso o prezzo di apertura per l'ordine a mercato. Buona notte!

Motivazione: