[ARCHIVIO] Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Da nessuna parte senza di te - 3. - pagina 186
![MQL5 - Linguaggio delle strategie di trading integrato nel client terminal MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
se (c % 2==0) //pari
Non controllerei due volte l'uguaglianza con qualcosa.
Non controllerei due volte l'uguaglianza con niente.
Pensavo di aver scritto prima che solo per gli interi. O non leggi bene?
Domanda per un puzzle).
Come determinare programmaticamente se un numero è pari o dispari?
Per esempio:
int a, b, c;
a=2;
b=3;
c=a+b
c è pari o dispari?
Se i numeri sono interi, controlla il resto della divisione per 2.
chiarire gli errori del codice
Buon pomeriggio!
Per favore, chi non è pigro può guardare il codice e consigliare quali sono i miei errori. Ho un mucchio di errori durante la compilazione. Questo è il mio primo EA, ho appena iniziato a capirlo. L'idea dell'Expert Advisor è la seguente: il lunedì ad una data ora piazziamo ordini pendenti in entrambe le direzioni ad una distanza di X punti dalla chiusura della settimana precedente. Il venerdì, ad una certa ora, chiuderemo gli ordini a mercato e cancelleremo quelli pendenti. Questo è tutto.
Settimana_1.mq4 (4,52 KB)
per cominciare:
1) mettere ; alla fine di ogni operatore
2) usare funzioni corrette, per esempio Hour()
Potete dirmi come eseguire un ciclo for su ordini già chiusi in perdita? O forse qualcuno ha già una funzione: quando si chiude un trade in perdita, moltiplicare il lotto?
qualche consiglio?
quindi aiutatemi per favore
Mostrami i tuoi tentativi di implementare questa funzione - il thread "newbie help".
o cercare "cerca l'ultimo ordine chiuso" o simili - l'argomento è stato in giro per molto tempo
Beh, dammi un indizio.
Vedere i gufi del ramo Avalanche.
Sto imparando un linguaggio di programmazione e ho difficoltà a capire il comportamento del programma. Ho scritto un EA basato sul libro di testo, ma l'ho stravolto secondo un principio di funzionamento leggermente diverso.
L'Expert Advisor si basa su una media di 2 muwings. L'idea è semplice, le medie mobili si incrociano, l'ordine viene chiuso e si apre quello opposto. Ho scritto un EA e funziona bene. Naturalmente è in leggero svantaggio, ma in accordo con l'idea. L'intero problema è il seguente (in grassetto):
A=iMA(NULL,0,Period_MA_1,0,MODE_SMA, PRICE_CLOSE,1); // A
B=iMA(NULL,0,Period_MA_2,0,MODE_SMA,PRICE_CLOSE,1); // B
C=iMA(NULL,0,Period_MA_1,0,MODE_SMA,PRICE_CLOSE,2); // C
D=iMA(NULL,0,Period_MA_2,0,MODE_SMA,PRICE_CLOSE,2); // D
Se cambio il modo di calcolare le medie mobili (può mostrare il segno più) e metto il metodo esponenziale( MODE_SMA) invece di quello semplice(MODE_EEMA ) e un altro(MODE_SMMA), il cosiddetto metodo lisciato, tutto va male. Il principio di funzionamento diventa ancora più divertente (nel tester della strategia) poiché l'EA apre un ordine all'inizio del periodo impostato e lo chiude alla fine. Cioè, per un anno apre un solo trade all'inizio del periodo e lo chiude alla fine. Di conseguenza, l'Expert Advisor mi ha mostrato un plus, ma non ho bisogno di questo plus. Io stesso posso lanciare una moneta e aprire un ordine di acquisto o di vendita e guardare se sto vincendo o perdendo in un anno. A proposito, se imposto MODE_SMA a MODE_LWMA (Linear Weighted Moving Average), il programma funziona bene.
Per favore, consigliatemi, cosa c'è di sbagliato? Il principio è lo stesso, ma il modo di calcolo delle medie mobili è stato appena cambiato un po'.
L'intero codice è nel file allegato.
Ho avuto risposte qui, ma non sono competenti e non nel merito. Presumibilmente uso 4 medie mobili. Questo non è vero, ci sono due medie mobili, ma per ogni media mobile presa valori per due barre (un totale di 4 chiamate di array, A, B, C, D):1 e 2 . Inoltre, hanno scritto che quando un ordine viene chiuso, dovremmo abbassare il numero di ordini totali, ma non è necessario perché gli ordini vengono contati utilizzando la funzione Odertotal e se chiudo un ordine, il totale dell'ordine stesso cambia il suo valore alla prossima iterazione. Suggeriscono anche di usare i cosiddetti numeri magici per tenere traccia degli ordini, ma non sono ancora arrivato a quella parte del manuale. Devo ripetere che il programma funziona quando si usano MODE_SMA e MODE_LWMA ma non quando si usano MODE_EMA e MODE_SMMA. Chissà perché, scrivetemi una risposta per favore.
Per favore, datemi un suggerimento.
Sto imparando un linguaggio di programmazione e ho difficoltà a capire il comportamento del programma. Ho scritto un EA basato sul libro di testo, ma l'ho stravolto secondo un principio di funzionamento leggermente diverso.
L'Expert Advisor si basa su una media di 2 muwings. L'idea è semplice, le medie mobili si incrociano, l'ordine viene chiuso e quello opposto viene aperto. Ho scritto un EA e funziona bene. Naturalmente è in leggero svantaggio, ma in accordo con l'idea. L'intero problema è il seguente (in grassetto):
A=iMA(NULL,0,Period_MA_1,0,MODE_SMA, PRICE_CLOSE,1); // A
B=iMA(NULL,0,Period_MA_2,0,MODE_SMA,PRICE_CLOSE,1); // B
C=iMA(NULL,0,Period_MA_1,0,MODE_SMA,PRICE_CLOSE,2); // C
D=iMA(NULL,0,Period_MA_2,0,MODE_SMA,PRICE_CLOSE,2); // D
Se cambio il modo di calcolare le medie mobili (può mostrare il segno più) e metto il metodo esponenziale( MODE_SMA) invece di quello semplice(MODE_EEMA ) e un altro(MODE_SMMA), il cosiddetto metodo lisciato, tutto va male. Il principio di funzionamento diventa ancora più divertente (nel tester della strategia) poiché l'EA apre un ordine all'inizio del periodo impostato e lo chiude alla fine. Cioè, per un anno apre un solo trade all'inizio del periodo e lo chiude alla fine. Di conseguenza, l'Expert Advisor mi ha mostrato un plus, ma non ho bisogno di tale plus. Io stesso posso lanciare una moneta e aprire un ordine di acquisto o di vendita e guardare se sto vincendo o perdendo in un anno. A proposito, se imposto MODE_SMA a MODE_LWMA (Linear Weighted Moving Average), il programma funziona bene.
Per favore, consigliatemi, cosa c'è di sbagliato? Il principio è lo stesso, ma il modo di calcolo delle medie mobili è stato appena cambiato un po'.
L'intero codice è nel file allegato.
Ho avuto risposte qui, ma non sono competenti e non nel merito. Presumibilmente uso 4 medie mobili. Questo non è vero, ci sono due medie mobili, ma per ogni media mobile presa valori per due barre (un totale di 4 chiamate di array, A, B, C, D):1 e 2 . Inoltre, hanno scritto che quando un ordine viene chiuso, dovremmo abbassare il numero di ordini totali, ma non c'è bisogno di questo perché gli ordini vengono contati usando la funzione Odertotal e se chiudo un ordine, il totale dell'ordine stesso cambia il suo valore alla prossima iterazione. Suggeriscono anche di usare i cosiddetti numeri magici per tenere traccia degli ordini, ma non sono ancora arrivato a quella parte del manuale. Devo ripetere che il programma funziona quando si usano MODE_SMA e MODE_LWMA ma non quando si usano MODE_EMA e MODE_SMMA. Chissà perché, scrivetemi una risposta per favore.
Controllerei anche le condizioni. Potrebbe esserci un problema