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

 
NEKSUS_ >> :

Buon pomeriggio signori, chiedo di nuovo aiuto per lo script di eliminazione degli oggetti.

Lo script rimuove diversi oggetti per nome, ma al lancio fa apparire un centinaio di errori (o meglio, lo stesso, ma molte volte) help ps.


Immagino che questo strano codice sia progettato per cancellare tutti gli oggetti con numeri nei loro nomi dal grafico? Bene, allora mettete else prima di tutti gli if, tranne il primo. Altrimenti il vostro indice x cade già nella zona negativa alla prima iterazione.

 
NEKSUS_ >> :

Buon pomeriggio signori, chiedo di nuovo aiuto per lo script di eliminazione degli oggetti.

Lo script uccide alcuni oggetti per nome, ma all'avvio fa apparire un buon centinaio di errori (più precisamente, lo stesso, ma molte volte) aiuto ps.


sostituire questo ciclo for (int x = ObjectsTotal(); x>0 ; x--) (correggere solo i bug, come più o uguale e prendere 1 dal numero di oggetti) e rimuovere tutti i "x--;" in myfs

 
dmmikl86 >> :

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

ecco il codice:


Eccone uno per aiutare

https://www.mql5.com/ru/articles/1451

Implementazione di indicatori a tre colori e alcune caratteristiche per rendere la scrittura degli indicatori il più semplice possibile

 
alsu >> :

Ho capito che questo codice intricato è progettato per rimuovere dal grafico tutti gli oggetti con una cifra nel loro nome? Bene, allora mettete prima tutti gli if, tranne il primo, e anche gli else. Perché alla prima iterazione il vostro indice x cade già nella zona negativa.


Non fallirà, è molto difficile trovare un oggetto con un indice negativo, o meglio potrebbe fallire, ma di uno al massimo.
 

Cari professionisti, per favore aiutatemi. L'idea è che l'EA dovrebbe creare un ordine e poi creare di nuovo lo stesso ordine se quell'ordine fallisce. Ma non è così?

//--------------------------------------------------------------- 0 ----------------

int start() // Funzione speciale start

{

int H=100; // Imposta il tempo - secondo

int Dist=10; // Imposta TP e SL

double Lot=1; //set lot

//--------------------------------------------------------------- 1 ----------------

doppio i=0,001;

double Cena=NormalizeDouble(Ask,3); // normalizza il prezzo

double Price=NormalizeDouble(Cena+i,5); // Trova prezzo

double TP=Price+Dist*Point; // Trova TP

double SL=Price-Dist*Point; //Trova SL

int x=1; // Prima condizione

int y=1; // Seconda condizione

//--------------------------------------------------------------- 2 ----------------

for (int pos=1; pos<=OrdersTotal(); pos++) // ciclo attraverso tutti gli ordini

{ if (OrderSelect(pos-1,SELECT_BY_POS)==true) // evidenzia un ordine

{ se (OrderTakeProfit()==TP)

{ Alert("attivato x");

x=2;

pausa;

}

}

else Print("Errore ", GetLastError(), " quando seleziona ordine numero ", pos);

}

//--------------------------------------------------------------- 3 ----------------

for (pos=1; pos<=OrdersTotal(); pos++) // ciclo attraverso tutti gli ordini

{ if (OrderSelect(pos-1,SELECT_BY_POS)==true) // segna un ordine

{ se (OrderOpenPrice()==Price)

{ Alert("triggered y");

y=2;

pausa;

}

}

else Print("Errore ", GetLastError(), " quando seleziona ordine numero ", pos);

}

//--------------------------------------------------------------- 4 ----------------

se (x==2&y==2)

{ Alert("Questo ordine esiste già!!!");}

else { Alert("order has been sent",Symbol()," BUYSTOP ", Price," Pending...");

OrderSend(Symbol(), OP_BUYSTOP, Lot, Price, 0, SL, TP);

}

Sleep(H*60); //Aspetta 60 secondi

RefreshRates();

//--------------------------------------------------------------- 5 -------------------

Alert ("Lo script ha finito di funzionare -----------------------------");

return; // Esci dastart()

}

 

Ho installato MT4 (da forex4you), sto testando le strategie, ma le mie quotazioni M1 sono solo dal 2.09.2009, non posso scaricarle attraverso il servizio-archivio delle quotazioni,

Potete dirmi dove posso scaricare l'archivio delle citazioni almeno per il 2009? Un'altra cosa, quando imposto la data nello strategy tester le quotazioni non vengono scaricate automaticamente.

 
albon >> :

Ho installato MT4 (da forex4you), sto testando le strategie, ma le mie quotazioni M1 sono solo dal 2.09.2009, non posso scaricarle attraverso il servizio-archivio delle quotazioni,

Potete dirmi dove posso scaricare l'archivio delle citazioni almeno per il 2009? Quando imposto la data nel tester della strategia, le quotazioni non vengono scaricate automaticamente.

Prova a installare l'MT4 da un altro broker. (cioè diversi MT4).

 

Cari professionisti, per favore aiutatemi. L'idea è che l'EA dovrebbe creare un ordine e creare di nuovo lo stesso ordine se questo ordine fallisce. Ma questo non succede?

Crea ordini in continuazione - all'infinito.


 
VII >> :

Cari professionisti, per favore aiutatemi. L'idea è che l'EA dovrebbe creare un ordine e poi creare di nuovo lo stesso ordine se quell'ordine fallisce. Ma non è così?

//--------------------------------------------------------------- 0 ----------------


double Cena=NormalizeDouble(Ask,3); //Normalizzare il prezzo

Non sarà in grado di creare lo stesso ordine, perché Ask cambia costantemente ad ogni tick. E tutti gli altri parametri e i loro confronti nelle condizioni sono calcolati a partire da questa variabile.

 
VII >> :

Cari professionisti, per favore aiutatemi. L'idea è che l'EA dovrebbe creare un ordine e poi creare di nuovo lo stesso ordine se quell'ordine fallisce. Ma questo non succede?


Abbiamo due modi per far sì che l'EA/script apra esattamente lo stesso ordine che abbiamo impostato. Per prima cosa, impostiamo l'ordine e scriviamo tutti i suoi parametri nelle variabili che li memorizzeranno. Se non c'è un ordine, si passa alla modalità standby. Non appena raggiungiamo una condizione in cui un ordine con questi parametri può essere impostato, apriamo un ordine.

In secondo luogo. Una volta che l'ordine è scomparso dal mercato, vai nella cronologia e trova l'ordine più recente. Registriamo i suoi parametri e accendiamo la modalità standby come abbiamo fatto nel primo caso.

L'unica cosa che voglio dire. Se costruisci la logica del programma nel modo che hai descritto e che ho spiegato qui, tutti gli ordini aspetteranno lo stesso livello orizzontale. Ne hai davvero bisogno?