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, professionale
Per esempio in un Ea otteniamo un segnale e vogliamo piazzare un ordine BUYSTOP/SellStop all'altezza della barra del segnale,
Dovremmo aspettare l'apertura di una nuova barra per trovare l'altezza della barra del segnale, come possiamo fare questo? (qualsiasi articolo, post, EA, , , )
GrazieSe si contano 3bars per il segnale ora contare 4bars semplicemente sì? Codersguru ha un bell'articolo su un altro modo nel sito mql4
Ho una domanda:
Questo potrebbe richiedere una programmazione aggiuntiva che non può essere fatta su MT. Non sono sicuro. Fondamentalmente, ho un EA che sia backtest che forward test bene in MT con i dati Alpari. Sui datafeed di altri broker, c'è spesso una discrepanza tra i trade. A volte, se un trade viene aperto su Alpari, potrebbe non essere aperto con un altro broker o viceversa. È possibile scrivere un qualche tipo di script che esegua i trade sulla piattaforma del mio broker subito dopo che un trade è stato eseguito sulla piattaforma di Alpari?
Per esempio, ricevo un segnale per comprare 2 lotti di cavo a 1.9450 su Alpari. L'operazione viene eseguita. Lo stesso ordine viene poi inserito sulla piattaforma del mio broker live una frazione di secondo dopo. Quando uno stop o un livello di t/p viene colpito su Alpari e l'operazione viene chiusa, la stessa operazione viene chiusa sulla piattaforma del mio broker live.
Questo non è un sistema di scalping, quindi se c'è una discrepanza di 2 pip tra i due prezzi, non è un grosso problema. Qualcuno sa se questo è possibile, e se sì, come posso fare? Grazie.
Aiuto con MTF xpMA
Codersguru,
Puoi per favore controllare le capacità MTF di xpMA?
Molte grazie,
Pippt
Si prega di vedere il post #364 a:
https://www.mql5.com/en/forum/173574
Quale funzione matematica in mql si usa per arrotondare un valore doppio?
diciamo per esempio, ho 0,69 e voglio che il risultato sia .70. o se il valore è .63 e il risultato sarebbe .60.
Le funzioni mathceiling() e mathfloor() non fanno il trucco.
Domanda per principianti
Ciao a tutti...
Grazie a CodersGuru e al suo eccellente corso, sto cercando di imparare MQL4
convertendo un indicatore che ho scritto in MQL3.
Mi sono imbattuto in un intoppo e gradirei un aiuto... se qualcuno potesse dirmi cosa sto sbagliando nel seguente codice.
Il problema è nelle 2 istruzioni If... alla linea 78 e 79
//+------------------------------------------------------------------+
//| Primo_Indicatore.mq4
//| Codersguru |
//| https://www.mql5.com/en/forum ||
//+------------------------------------------------------------------+
#proprietà copyright "Codersguru"
#property link "https://www.forex-tsd.com"
#proprietà indicator_chart_window
#proprietà indicator_buffers 8
#proprietà indicatore_colore1 Rosso
//---- buffer
doppio ExtMapBuffer1[];
//----------------- Dichiarazioni variabili ----------------------+
int pos=0;
double Pivot_Point = 0;
double new_Pivot_Point =0;
double prev_Pivot_Point=0;
double Pivot_Factor=0;
double LastClose=0;
//+------------------------------------------------------------------+
//|Funzione di inizializzazione dell'indicatore personalizzata
//+------------------------------------------------------------------+
int init()
{
//---- indicatori
SetIndexStyle(1,DRAW_LINE,STYLE_SOLID,1);
SetIndexBuffer(0,ExtMapBuffer1);
stringa short_name = "Pivot Line";
IndicatoreNome_Corto(nome_corto);
return(1);
}
//+------------------------------------------------------------------+
//| Funzione di deinizializzazione dell'indicatore Custor
//+------------------------------------------------------------------+
int deinit()
{
return(0);
}
//+------------------------------------------------------------------+
//| Funzione di iterazione dell'indicatore personalizzata |
//+------------------------------------------------------------------+
int start()
{
int counted_bars=IndicatorCounted();
//---- controllare eventuali errori
if (counted_bars<0) return(-1);
//---- l'ultima barra contata sarà ricontata
se (counted_bars>0) counted_bars--;
int cnt=Bars-counted_bars;
//---- ciclo di calcolo principale
while(cnt >= 0)
{
LastClose = Close[cnt];
Se (LastClose > Pivot_Point) //Linea 78
If(new_Pivot_Point > prev_Pivot_Point) //Linea 79
{
prev_Pivot_Point = new_Pivot_Point;
Pivot_Point = new_Pivot_Point;
}
ExtMapBuffer1[cnt]= Pivot_Point ;
cnt--;
}
return(0);
}
Questi sono i messaggi del compilatore -
---------------------------------------------------------------
'If' - la funzione non è definita .....(78,10)
'If' - punto e virgola previsto .....(79,13)
'If' - la funzione non è definita ...(79, 13)
'{' - punto e virgola previsto ....(80, 13)
----------------------------------------------------------------
Non importa cosa faccio, non riesco a capire qual è il problema... So che è molto semplice, ma mi sta sfuggendo...
Grazie a tutti coloro che possono aiutare in questa domanda di base....
Capo
P.S. Felice, sano e prospero anno nuovo a TUTTI
MQL è sensibile alle maiuscole: usate "if" invece di "If".
WOW... che era Fast....
GRAZIE mille per la risposta veloce... risolto...
la tua risposta è molto apprezzata... ti auguro un grande anno nuovo...
Capo
MathRound
Che funzione matematica in mql si usa per arrotondare un valore doppio?
diciamo per esempio, ho 0.69 e voglio che il risultato sia .70. o se il valore è .63 e il risultato sarebbe .60.
le funzioni mathceiling() e mathfloor() non fanno il trucco.C'è "MathRound(double x)" che arrotonda un valore al numero intero più vicino; lo stesso di "MathFloor(x+0.5)", suppongo. Per ottenere l'arrotondamento a un decimale puoi usare un'espressione decimale shift/unshift come "MathRound(x*10)/10".
Come posso aggiungere delle frecce all'allegato per mostrare su e giù alla croce?
Istogramma
Bene, ecco un'altra domanda mentre continuo ad imparare come convertire da MQL3 a MQL4....
Vorrei dipingere una sezione del grafico che si trova tra due linee, superiore e inferiore. Non so se c'è qualche funzione per dipingere una sezione dello schermo o no, così ho deciso di provare ad usare "Draw_Histogram" nell'istruzione SetIndexStyle(). Ma non capisco bene come funziona. Quando lo uso, non succede niente.
ex:
SetIndexStyle(7,DRAW_HISTOGRAM,0,1);
ExtMapBuffer8[cnt]= (Pivot_Point-(Short_Line*Point));
Print("Cnt = ",cnt," Histo = ",ExtMapBuffer8[cnt]," Calc = ",(Pivot_Point+(Short_Line*Point));
L'output nel diario produce il corretto cnt, il corretto calc ma il valore Histo è zero.
Ho esaminato il codice nell'indicatore MACD, senza successo, e nell'indicatore Heiken-Ashi, e non riesco a capire come funziona. L'indicatore Heiken-Ashi sembra utilizzare 4 buffer per creare ogni candela, ma non ne sono certo.
Il MACD sembra usare una linea di base di zero, da cui viene disegnata la barra dell'istogramma, c'è una linea di base da cui parte? Se sì, come si fa a stabilirla?
Qualcuno potrebbe spiegarmi come funziona questa funzione, in modo che io possa imparare a codificarla correttamente. Se c'è una funzione che dipinge una specifica sezione dello schermo, apprezzerei qualsiasi informazione anche su questo.
Grazie a tutti per la vostra gentile assistenza....
Cordialmente,
Capo