Tutte le domande dei nuovi arrivati su MQL4 e MQL5, aiuto e discussione su algoritmi e codici - pagina 1107
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
non si può eseguire qualcosa di lungo in OnInit - il terminale potrebbe scaricare il codice
nell'indicatore non dovrebbe funzionare
Sì, sono stupido... Forse, invece di un ciclo infinito in OnInit, tornare da OnCalculate con la stessa condizione? - ci dovrebbe essere un numero definito quando non c'è il login, o -1, o 0, o EMPTY_VALUE
Saluti a commercianti e programmatori!
Potreste dirmi se è possibile utilizzare un metodo non standard per calcolare il periodo per la MA(Moving Average)? Voglio dire che la posizione della MA sulla barra corrente (zero) non sarà determinata dalle ultime 20 (per esempio) barre, ma da ogni 5m delle ultime 100, o semplicemente specificando il numero di barre nella storia, a partire da quella corrente. E, se c'è questa possibilità, è possibile specificare la funzione direttamente nel codice dell'indicatore?
Grazie per le informazioni.
Salve. Come si visualizza il simbolo del triangolo in basso e in alto?
Ecco il codice
bool OutText(const string name="Label",
const string text="Label", // testo
const int x=0, // coordinata X
const int y=0, // coordinata lungo l'asse Y
const color clr=clrYellow, // colore
const ENUM_ANCHOR_POINT anchor=ANCHOR_LEFT_UPPER, // metodo di ancoraggio
const ENUM_BASE_CORNER corner=CORNER_LEFT_UPPER, // angolo grafico per l'ancora
const int font_size=12, // dimensione del carattere
const string font="Arial", // font
const double angle=0.0, // inclinazione del testo
const bool back=false, // indietro
const bool selection=false, //selezionare per lo spostamento
const bool hidden=true, // nascosto nella lista degli oggetti
const long z_order=0,
const int sub_window=0, // numero di sottofinestra
const long chart_ID=0 // ID del grafico
) // priorità del clic
{
//--- resettare il valore dell'errore
ResetLastError();
//- creare un segno di testo
se(ObjectFind(chart_ID,name)==-1)
{
if(!ObjectCreate(chart_ID,name,OBJ_LABEL,sub_window,0,0))
{
Print(__FUNCTION__, ": failed to create text label! Codice di errore = ",GetLastError());
// return(false);
}
}
//--- impostare le coordinate del marcatore
ObjectSetInteger(chart_ID,name,OBJPROP_XDISTANCE,x);
ObjectSetInteger(chart_ID,name,OBJPROP_YDISTANCE,y);
//--- impostare l'angolo del grafico, rispetto al quale saranno determinate le coordinate del punto
ObjectSetInteger(chart_ID,name,OBJPROP_CORNER,corner);
//--- impostare il testo
ObjectSetString(chart_ID,name,OBJPROP_TEXT,text);
//--- impostare il carattere del testo
ObjectSetString(chart_ID,name,OBJPROP_FONT,font);
//--- imposta la dimensione del carattere
ObjectSetInteger(chart_ID,name,OBJPROP_FONTSIZE,font_size);
//- impostare l'angolo di inclinazione del testo
ObjectSetDouble(chart_ID,name,OBJPROP_ANGLE,angle);
//--- impostare il metodo di ancoraggio
ObjectSetInteger(chart_ID,name,OBJPROP_ANCHOR,anchor);
//--- impostare il colore
ObjectSetInteger(chart_ID,name,OBJPROP_COLOR,clr);
//--- visualizzare in primo piano (false) o sullo sfondo (true)
ObjectSetInteger(chart_ID,name,OBJPROP_BACK,back);
//- accendere (true) o spegnere (false) la modalità di spostamento del segno con il mouse
ObjectSetInteger(chart_ID,name,OBJPROP_SELECTABLE,selection);
ObjectSetInteger(chart_ID,name,OBJPROP_SELECTED,selection);
//--- nascondere (true) o mostrare (false) il nome dell'oggetto grafico nella lista degli oggetti
ObjectSetInteger(chart_ID,name,OBJPROP_HIDDEN,hidden);
//--- impostare l'evento della priorità di ricezione del clic del mouse
ObjectSetInteger(chart_ID,name,OBJPROP_ZORDER,z_order);
//--- esecuzione riuscita
return(true);
}
Come faccio ad alzare il simbolo del triangolo?
Cosa dovrebbe essere scritto
OutText("LabelBuy1", ">", 100, 20, clrWhite, ANCHOR_UPPER,CORNER_LEFT_UPPER,14, "Arial");
Per fare un triangolo?
Prima ho fatto una domanda su come simulare la funzione Print() dal lato della libreria per controllare i dati che arrivano nelle funzioni della libreria e per cercare gli errori, mi è stato consigliato di usare le risorse C++: cioè di scrivere le informazioni nel file dal lato della dll della libreria. In generale la libreria non può creare un file per scriverci le informazioni, il file non viene creato né nella directory del progetto, né nella cartella con il robot, provato a specificare il percorso predefinito non funziona, anche l'output delle informazioni tramite cout non funziona, ma probabilmente non può perché non è proprio un'applicazione console. Chi può consigliare?
Come faccio a sostituire l'immagine standard nella descrizione con ...
... posso mettere il mio?
Come faccio a sostituire l'immagine standard nella descrizione con ...
... posso mettere il mio?
#icona della proprietà
Com'è semplice... Grazie!
Ciao!
Potreste dirmi come implementare il rilevamento di oggetti grafici disegnati manualmente su un grafico ( linea orizzontale o di tendenza, per esempio) e poi recuperare le loro proprietà (livello di prezzo al momento giusto)?
Ciao!
Potreste dirmi come implementare il rilevamento di oggetti grafici disegnati manualmente su un grafico ( linea orizzontale o di tendenza, per esempio) e poi recuperare le loro proprietà (livello di prezzo al momento giusto)?
Ciao!
Potreste dirmi come implementare il rilevamento di oggetti grafici disegnati manualmente su un grafico ( linea orizzontale o di tendenza, per esempio) e poi recuperare le loro proprietà (livello di prezzo al momento giusto)?
Hanno un prefisso standardizzato, ad esempio: numero Trenler. Potete cercare come segue: nel ciclo if(StringFind(ObjectName(0,i), "Trendline")==0) per quelli vecchi o per quelli nuovi if(StringFind(sparam, "Trendline")==0))