[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 13

 

Che razza di uomini siete, non potete aiutare una povera ragazza, tutto quello che chiedo è un'inezia.

Ecco un link al MA colorato, per esempio.https://www.mql5.com/ru/code/9145

Ho solo bisogno di un esempio, ma più semplice e chiaro con una linea colorata sui top o bottom delle barre, senza algoritmi di calcolo.

Per favore, rispondete alla mia richiesta. Grazie in anticipo.

 
rigonich:


Per disegnare una linea indicatrice, è necessario:

1. creare array con certe proprietà, chiamati buffer di indicatori, dai quali si prenderanno le coordinate dei punti usati per costruire la linea dell'indicatore. Le funzioni pronte per l'uso incorporate nel terminale sono utilizzate per questo scopo.

2. impostare lo stile di disegno della linea dell'indicatore selezionandolo tra le opzioni disponibili. questo può essere fatto anche utilizzando le funzioni integrate del terminale.

3. riempite questa matrice con alcuni valori. questo viene fatto nella funzione di avvio dell'indicatore. e avviate il programma disegnando l'indicatore.

Il terminale non ha una funzione incorporata che cambi lo stile di disegno di un buffer, cioè può disegnare diverse parti di una linea in stili diversi. Questo richiede la creazione di una funzione personalizzata, ma non è facile, e dovreste conoscere almeno le basi della programmazione.

Lo capisco, non so come fermare la linea rossa su una barra, per esempio i=20, iniziare la linea verde da questa barra, ecc.
 
Yulia:

Che razza di uomini siete, non potete aiutare una povera ragazza, tutto quello che chiedo è un'inezia.

Ecco un link al MA colorato, per esempio.https://www.mql5.com/ru/code/9145

Ho solo bisogno di un esempio, ma più semplice e chiaro con una linea colorata sui top o bottom delle barre, senza algoritmi di calcolo.

Per favore, rispondete alla mia richiesta. Grazie in anticipo.


Esempi di tali indicatori in kodobase, ma non sono semplici, perché questo indicatore non può essere fatto usando solo strumenti integrati nel terminale, perché il terminale non ha gli strumenti integrati necessari per questo (voglio dire, strumenti per costruire indicatori).
 

Professionisti, come posso memorizzare i dati per diversi giorni e poi modificare questi dati?

Conosco il php, ma il database MySQL è usato per memorizzare alcuni dati,

Non riesco a capire come memorizzare alcune informazioni e dove metterle per poterle usare e modificare in seguito?

Se c'è una cosa del genere in mql4, per favore spiegatelo con un piccolo esempio.

Ecco cosa devo fare: prendere la quantità di fondi disponibili nel conto in quel momento, inserirla nel database, e dopo che l'EA ha scambiato il 10% in più o in meno, aumentiamo il lotto o lo diminuiamo in base al nuovo importo.

A questo serve il database, per ricordare che ora ci sono 1000 dollari nel conto

Una volta che l'EA ha raggiunto i 1100 dollari, aumenta il lotto.

Suma = 1100; // l'importo attuale è di 100 dollari in più, l'Expert Advisor ha negoziato con successo.

procento = 10; // 10%

baza = 1000; // abbiamo estratto l'importo precedente dal database.

raznica = (baza/procent)+baza;// prendiamo 1000/10=100, la differenza è il 10% e aggiungendola all'importo della base otteniamo 100+1000=1100


if (Suma>=raznica ) // 1100 >=1100 confrontare se l'importo attuale è più della somma dalla base + 10%;

{

aumentiamo il lotto e aggiungiamo l'importo di 1100 alla base; dopo che l'EA scambia l'importo del 10% di 1100=110, aumentiamo nuovamente il lotto e aggiungiamo il nuovo importo alla base, ecc.

}


Spero di essermi spiegato bene. forse ci sono altre idee o soluzioni su come implementare questo?

 
pasha5282:

Professionisti, come posso memorizzare i dati per diversi giorni e poi modificare questi dati?

Conosco il php, ma il database MySQL è usato per memorizzare alcuni dati,

Non riesco a capire come memorizzare alcune informazioni e dove metterle per poterle usare e modificare in seguito?

Se c'è una cosa del genere in mql4, per favore spiegatelo con un piccolo esempio.

Ecco cosa devo fare: prendere la quantità di fondi disponibili nel conto in quel momento, inserirla nel database, e dopo che l'EA ha scambiato il 10% in più o in meno, aumentiamo il lotto o lo diminuiamo in base al nuovo importo.

A questo serve il database, per ricordare che ora ci sono 1000 dollari nel conto

Una volta che l'EA ha raggiunto i 1100 dollari, aumenta il lotto.

Suma = 1100; // l'importo attuale è di 100 dollari in più, l'Expert Advisor ha negoziato con successo.

procento = 10; // 10%

baza = 1000; // abbiamo estratto l'importo precedente dal database.

raznica = (baza/procent)+baza;// prendiamo 1000/10=100, la differenza è il 10% e aggiungendola all'importo della base otteniamo 100+1000=1100


if (Suma>=raznica ) // 1100 >=1100 confrontare se l'importo attuale è più della somma dalla base + 10%;

{

aumentiamo il lotto e aggiungiamo l'importo di 1100 alla base; dopo che l'EA scambia l'importo del 10% di 1100=110, aumentiamo nuovamente il lotto e aggiungiamo il nuovo importo alla base, ecc.

}


Spero di essermi spiegato bene. forse ci sono altre idee o soluzioni su come implementare questo?


Le variabili o gli array di variabili sono utilizzati per questo scopo. In effetti, MySQL è anche un array di variabili e un insieme di regole che permettono di lavorare con questo array.
 
Yulia:
Mi è chiaro, non so come su una barra, per esempio i=20 per fermare la linea rossa, da questa barra per iniziare quella verde, ecc.
Per disegnare una linea in diversi colori (è assemblata da "pezzi" separati di linee di diversi colori), è necessario attivare tanti buffer quanti sono i colori della linea disegnata.

Nel tuo esempio, sulla ventesima barra i valori devono essere messi nel buffer che disegna la linea verde, e tutti gli altri buffer su quella barra devono avere un valore Empty che non viene disegnato sul grafico. Il valore predefinito è EMPTY_VALUE.


P.S. Il link colorato di MA che hai citato è elementare e molto chiaro per attuare quello che ti ho scritto sopra.

 
TarasBY:
Affinché una linea sia disegnata in diversi colori (è assemblata da "pezzi" separati di linee di diversi colori), dovete usare tanti buffer quanti sono i colori in cui volete che la linea sia disegnata.
Nel tuo esempio, sulla barra 20, metteresti dei valori nel buffer che disegna la linea verde, mentre tutti gli altri buffer su quella barra dovrebbero avere un valore vuoto che non viene disegnato sul grafico. Il valore predefinito è EMPTY_VALUE.

per essere più precisi, non quanti colori, ma quante barre, e il numero massimo di buffer di indicatori -- 8...
 
TarasBY:
Affinché una linea sia disegnata in diversi colori (è raccolta da "pezzi" separati di linee di diversi colori), è necessario utilizzare tanti buffer quanti sono i colori desiderati per la linea disegnata.
Nel tuo esempio, sulla barra 20, metteresti dei valori nel buffer che disegna la linea verde, e tutti gli altri buffer su quella barra dovrebbero avere un valore vuoto che non viene disegnato sul grafico. Il valore predefinito è EMPTY_VALUE.

Ho provato tutto, se metto il valore della barra 20 nel buffer verde allora il rosso viene disegnato ulteriormente, se assegno EMPTY_VALUE al buffer rosso 20, allora il rosso a 20 non viene disegnato. Per favore, mostratemi un esempio, ve ne sarei molto grato

//--------------------------------------------------------------------
// userindicator.mq4 // Destinato all'uso come esempio nel tutorial MQL4.
//--------------------------------------------------------------------
#proprietà indicator_chart_window//L'indicatore è disegnato nella finestra principale
#proprietà indicator_buffers 2 // numero di buffer
#property indicator_color1 Red// colore della prima linea
#property indicator_color2 Green// colore della seconda linea

doppio Buf_0[],Buf_1[]; //dichiarazione di array (per buffer di indicatori)
//--------------------------------------------------------------------
int init() {// Funzione speciale init()
SetIndexBuffer(0,Buf_0);// assegnazione di un array al buffer
SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,3);/Stile di linea
SetIndexBuffer(1,Buf_1);// assegnare un array al buffer
SetIndexStyle(1,DRAW_LINE,STYLE_SOLID,3);/Stile della linea
ritorno; // Uscire dall' init speciale. init()
}
//-------------------------------------------------------------------
int start() { // funzione speciale start( )
int i,// indice della barra
Barre contate; // Numero di barre contate
//--------------------------------------------------------------------
Counted_bars=IndicatorCounted();//numero di barre calcolate
i=Bars-Counted_bars-1;// Indice del primo non contato

mentre(i>=0) // ciclo attraverso le barre non contate
{

Buf_0[i]=High[i];
Buf_1[i]=
i--;

}
ritorno;
}

 
Come posso ottenere il codice qui, devo usare Scr o qualcosa del genere? Cosa devo fare per mettere il codice nel commento?
 
rigonich:

Per essere più precisi, non quanti colori, ma quante barre, e il numero massimo di buffer di indicatori -- 8...

Hai pensato bene alle barre? Guardate la MA colorata sul link, mettetela sul vostro grafico con un periodo di, diciamo, 14, e contate il numero di barre di colori diversi.

Oppure tu parli di "Thomas" e io di "Eurya"...