[Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate. Non posso andare da nessuna parte senza di te. - pagina 253

 
DDFedor >> :

kogda je budet MQL5?

In caso contrario, chiedete a noi. Non a tutti piace leggere la traslitterazione, quindi la traslitterazione limita anche la capacità di rispondervi.

Grazie, DDFedor, e quando ho dovuto trovare qualcosa in google ho usato per fare appliqué delle lettere del testo in russo.

 

aiutatemi a colorare l'indicatore, voglio che sia verde se il valore sale, rosso se scende

Ecco il codice:

#property indicator_separate_window
#property indicator_buffers 1
#property indicator_color1 Green


int BarsCount = 10000;

//---- buffers
double buf_1[];

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
    SetIndexStyle(0,DRAW_HISTOGRAM);
    SetIndexBuffer(0, buf_1);
//    SetIndexStyle(1,DRAW_HISTOGRAM);
//    SetIndexBuffer(1, buf_2);
    //----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
int i;
//----
   int limit = BarsCount;
    if ( limit > Bars)
        limit = Bars;
        
   for ( i = limit; 0 <= i; i--) {

        buf_1[ i] = High[ i]-Low[ i];
   
        
        
        }
//----
   return(0);
  }
//+------------------------------------------------------------------+
 

Voglio che un ordine pendente sia piazzato alle 15:00, se non ci sono posizioni aperte a quell'ora,

Scrivo quanto segue:

se (Ora()=15 || Minuti()=0)

double max_level=High[iHighest(NULL,0,MODE_HIGH,13,0)]; //definire il prezzo massimo delle ultime 13 barre
double min_level=Low[iLowest(NULL,0,MODE_LOW,13,0)]; //definire il prezzo minimo delle ultime 13 barre
int Dist_SL =60; // Imposta SL (pt)
int Dist_TP =60; // imposta TP (pt)
//--------------------Цикл установки ордера BUY STOP---------------------------------------------------------------------
while(true) //Apertura del ciclo degli ordini.
{
int Min_Dist1=MarketInfo(Symbol(),MODE_STOPLEVEL); // Min_Dist.
double Price_B=max_level; // Prezzo dell'offerta

//----------------Устанавливаем ордер на покупку---------------------------------------------------------------------------
if (NormalizeDouble(Price_B,Digits)< // Se meno del consentito.
NormalizeDouble(Ask+Min_Dist1*Point,Digits))
{ // Solo per BuyStop!
Price_B=Ask+Min_Dist1*Point; // non può avvicinarsi di più
Alert("Il prezzo di acquisto dichiarato è stato cambiato: Price = ", Price_B);
}
double SL_B=Price_B - Dist_SL*Point; // Prezzo SL dichiarato da comprare
double TP_B=Price_B + Dist_TP*Point; // Il prezzo TP dichiarato per comprare
Alert("L'ordine di compravendita è stato inviato al server. In attesa di risposta...");
int ticket1=OrderSend(Symbol(), OP_BUYSTOP, 0.1, Price_B, 0, SL_B, TP_B); //Set Buy order
if (ticket1>0) // Ha funzionato :)
{
Alert ("Ordine di acquisto aperto ",ticket1);
break; // Esci dal ciclo
}

Devo aver scritto qualcosa di sbagliato, potete dirmi come aprire una posizione in un dato momento?

 

Bene, punto per punto:

1. Se il tick è a zero minuti, lo script si avvia. È meglio impostare il minuto zero come minuto di partenza, e poi impostare un flag per evitare che lo script ricominci. Ma in linea di principio questo non è critico.

2. Si controlla solo quando il livello dei prezzi è inferiore a quello consentito, e quando è superiore, non lo si fa.

3. Si usa la normalizzazione quando si controlla il prezzo, ma non quando si sostituisce, ci possono essere errori.

 
Roger >> :

Bene, punto per punto:

1. Se il tick è a zero minuti, lo script si avvia. È meglio impostare il minuto zero come minuto di partenza, e poi impostare un flag per evitare che lo script ricominci. Ma in linea di principio questo non è critico.

2. Si controlla solo quando il livello dei prezzi è inferiore a quello consentito, e quando è superiore, non lo si fa.

3. Si usa la normalizzazione quando si controlla il prezzo e non quando si sostituisce, ci possono essere errori.

Grazie per la vostra risposta. Sono un principiante assoluto nella programmazione, ho appena iniziato a studiare il file di aiuto e ho deciso di scrivere il mio EA. Capisco che il telaio.

se (Hour()=15 || Minute()=0) non è affatto corretto, ogni carattere causa un errore durante la compilazione, per favore ditemi come scriverlo correttamente?

 
albon >> :

Voglio che un ordine pendente sia piazzato alle 15:00, se non ci sono posizioni aperte a quell'ora,


Devo aver scritto qualcosa di sbagliato, potete dirmi come aprire una posizione in un dato momento?

Cerca nel forum, ho preso in prestito da KimiV, c'è una funzione lì dentro che limita l'operazione per tempo

 
albon писал(а) >>

Grazie per la risposta. Sono un completo novizio della programmazione, ho appena iniziato a studiare il file di aiuto e ho subito deciso di scrivere il mio EA. Capisco che il telaio

se (Hour()=15 || Minute()=0) non è affatto corretto, nella compilazione ogni carattere causa un errore, per favore consigliate come scriverlo correttamente?

Cambialo in

if (Hour()==15 || Minute()==0)

PS Se non sai niente, perché preoccuparsi, meglio mandarlo a qualcun altro.

 
dmmikl86 >> :

Aiutatemi a colorare l'indicatore, voglio che il valore salga in verde e scenda in rosso.

ecco il codice:

Questo dovrebbe essere fatto con due buffer di colore diverso.

Se il prezzo sale, allora il valore viene assegnato a un buffer, se scende a un altro,

e il secondo viene mantenuto nel corpo nero (per esempio SetIndexEmptyValue(0,0.0);)

0 è assegnato a entrambi i buffer prima che si riempia, e dopo, si distribuiscono i buffer a chi si vuole bancare e a chi non si vuole disturbare.

Vinin sembra aver avuto un tale indicatore, cerca nel profilo del codebase.

 
Potete dirmi se è possibile inserire una piccola immagine nella finestra principale del terminale?
 
IlyaA >> :
Potete dirmi se è possibile inserire una piccola immagine nella finestra principale del terminale?

Non ancora in 5 che promettono (almeno con mezzi standard)