[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 324
Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
Ciao a tutti!
Ho studiato MQL4 Expert Advisor durante un mese e ho deciso di scrivere un Expert Advisor. Non volevo scriverne uno nuovo a causa della mancanza di esperienza e ho deciso di usare il modello tradingexpert.mq4 dal libro.
L'essenza della strategia è la seguente: un sistema a tre barre di massimi e minimi "Larry Williams", tracciare due EMA a tre giorni per i massimi e i minimi, vendere
agli alti e compra ai bassi.
Nel template, nella sezione delle variabili globali ho rimosso la linea extern double Rastvor =28.0; (in realtà non è necessaria) e l'ho rimossa anche dai criteri di trading.
Cambiati i valori MA a 3 nelle variabili globali:
extern int Period_MA_1= 3; // Periodo MA 1
extern int Period_MA_2= 3; // Periodo MA 2
Nella sezione dei criteri di trading era:
//--------------------------------------------------------------- 5 --
// Criteri di trading
MA_1_t=iMA(NULL,0,Period_MA_1,0,MODE_EMA,PRICE_HIGH,0); // MA_1
MA_2_t=iMA(NULL,0,Period_MA_2,0,MODE_EMA,PRICE_LOW,0); // MA_2
se (PRICE_HIGH * Point >= MA_1_t * Point)
{
Opn_S=true;
Cls_B=true;
}
se (PRICE_LOW * Point <= MA_2_t * Point)
{
Opn_B=true; //criterio di apertura. Compra
Cls_S=true; // Criterio di chiusura. Sell
}
//---------------------------------------------------------------
Ora il nocciolo del problema: il sistema apre solo ordini di vendita, ma non vuole comprare. Quale può essere l'errore?
È molto probabile che ci siano errori da qualche altra parte, per favore non giudicate severamente ma aiutate con consigli)
//--------------------------------------------------------------- 5 --
// Criteri di trading
MA_1_t=iMA(NULL,0,Period_MA_1,0,MODE_EMA,PRICE_HIGH,0); // MA_1
MA_2_t=iMA(NULL,0,Period_MA_2,0,MODE_EMA,PRICE_LOW,0); // MA_2
se (PRICE_HIGH * Point >= MA_1_t * Point)
{
Opn_S=true;
Cls_B=true;
}
se (PRICE_LOW * Point <= MA_2_t * Point)
{
Opn_B=true; //criterio di apertura. Compra
Cls_S=true; // Criterio di chiusura. Sell
}
//---------------------------------------------------------------
Ora il nocciolo del problema: il sistema apre solo ordini di vendita, ma non vuole comprare. Quale può essere l'errore?
È molto probabile che io abbia degli errori da qualche altra parte, per favore non giudicate, ma aiutatemi con dei consigli).
Cos'è questo: PRICE_LOW e PRICE_HIGH. Sono costanti intere che hanno valore 0 o 1, fino a 6.
Devi usare iHigh(Symbol(),Period(),i) per ottenere il valore massimo del BID sulla barra i, e iLow(Symbol(),Period(),i) per ottenere il valore minimo del BID sulla barra i.
Se il burattino sulla barra corrente allora: if ( iHigh(Symbol(),Period(),0) >= MA_1_t) E non c'è bisogno di moltiplicare MA per Point.
Buon pomeriggio a tutti!
Per favore, ditemi qual è il problema.
Ho allegato un indicatore di volume (Volume) a Awesome standard indicator.
Voglio organizzare il calcolo del volume totale dell'onda (contato dal prezzo Low al prezzo High e corrisponde al valore Min e Max di Awesome). Vedi Fig. 1.
Qual è l'errore, i valori non vengono contati.
Qui sotto c'è il codice stesso.
Cos'è questo: PRICE_LOW e PRICE_HIGH. Sono costanti intere con valore 0 o 1, fino a 6.
Dovresti usare iHigh(Symbol(),Period(),i) per ottenere il valore massimo del BID sulla barra i, e iLow(Symbol(),Period(),i) per ottenere il valore minimo del BID sulla barra i.
Se il burattino sulla barra corrente, allora: if ( iHigh(Symbol(),Period(),0) >= MA_1_t) E non c'è bisogno di moltiplicare MA per Point.
Ragazzi, qualcuno mi dice cosa c'è di sbagliato nel codice plz!
Ragazzi, qualcuno mi dice cosa c'è di sbagliato nel codice plz!
Non ho capito bene. Ma non ci sono problemi con la visualizzazione del volume. Ci sono problemi con il calcolo dei volumi. Da qualche parte qui dentro.
Buon pomeriggio!
La mia domanda sarà un po' fuori tema.
Potete dirmi se è possibile trovare da qualche parte l'affettamento delle forme TA come file CSV? Posso usare txt, xls o qualsiasi altro formato che possa essere elaborato programmaticamente.
Ci sono esempi di figure di AT in vari articoli di AT, libri di testo, ma naturalmente come immagini ordinarie. Qualcuno ha una serie più o meno grande di simboli TA salvati come una fetta di storia di qualche coppia di valute sui periodi H1-H4, diciamo?
Ho cercato su Google e non ne ho trovati. Naturalmente, possiamo passare manualmente attraverso la storia, marcare le forme, esportare questo pezzo di storia come .csv; ripetere il numero necessario di volte, raccogliere la base delle forme alla fine. Ma se qualcuno l'ha già fatto, vorrei risparmiare tempo.
Grazie in anticipo :)
Perché avete bisogno delle forme come file CSV? Scrivere una libreria di forme... Scriveteli voi stessi, in modo da poterli capire, non prendete in prestito quelli di qualcun altro. Molto non significa meglio!
Non ho capito bene. Ma non c'è nessun problema con la visualizzazione dei volumi. C'è un problema con il conteggio del volume. Da qualche parte qui dentro.
1. L'array ha bisogno di essere posizionato, cioè di allocare la memoria. Altrimenti non c'è semplicemente nessun posto dove memorizzare i valori ;).
2. Quando ricevi un nuovo segno di spunta, il tuo array pari sarà riposizionato/riinizializzato. Questo ha a che fare con la portata. L'array deve essere di tipo "statico" per evitare che questo accada.
Leggete qualcosa sui fondamenti della programmazione.
HZ Il problema del conteggio è dove ti ho indicato gli errori di utilizzo dell'array.
1. Un array deve essere localizzato, in altre parole, la memoria deve essere allocata. Altrimenti, non c'è proprio posto per memorizzare i valori ;).
2. Quando ricevi un nuovo segno di spunta, il tuo array pari sarà riposizionato/riinizializzato. Questo ha a che fare con la portata. L'array deve essere di tipo "statico" per evitare che questo accada.
Leggete qualcosa sui fondamenti della programmazione.
HZ Il problema del conteggio è dove ti ho fatto notare gli errori nell'uso degli array.
CioèVol_Arr[] dovrebbe essere inizializzato come un array globale, come ho capito.
La domanda è ovviamente una domanda nulla, MA.
1. Perché allora i volumi vengono visualizzati correttamente nell'indicatore.
2. Quando calcolo, accedo aAOBuffer3[] e non aVol_Arr[].
Grazie!