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

 
Max747:
Nessuno è stato in grado di darmi una risposta... Qualcuno ha un indizio?

Forse devi controllare i tipi PARASTEP e PARAMAX e i loro valori.
 
valenok2003:

È l'unica opzione?

1) scrivere su un file

2) cercare l'ordine richiesto e leggere il biglietto

 

Inaspettatamente si è verificato il seguente problema:

Ho scritto un EA, una delle cui funzioni è quella di aprire ordini pendenti. Ma prima di aprire un altro ordine in sospeso, il programma esamina gli ordini già piazzati (prezzo) e ne apre uno nuovo solo se non c'è un ordine già piazzato con lo stesso prezzo. Sto lavorando su EURUSD.

for (Price=Max_Price-Step*Point; Price>Ask+10*Point; Price=Price-Step*Point) // passa dal prezzo massimo al prezzo corrente
{
int N=0; //contatore ordini
for (int i=1; i<=OrdersTotal(); i++) //ciclo degli ordini
{
if(OrderSelect(i-1,SELECT_BY_POS)==true) //seleziona l'ordine
{ //analizza l'ordine aperto
if (Price==OrderOpenPrice()) //se il prezzo è lo stesso
{
N=N+1;
}
} //selezionare il prossimo ordine aperto
}
if(N==0) //se non viene trovato nessun ordine con lo stesso prezzo
{ //aprire un ordine
Alert("New BUYSTOP ", Price);
int Ticket=OrderSend(Symb, OP_BUYSTOP, Lot, Price, 0, 0, Price+TP*Point);
if (GetLastError()>0)
Alert("Error ", GetLastError());
}
} //Vieni al mercato

Tutto va bene finché il massimo è 1,3980, ma appena imposto 1,4000 il programma smette di vedere gli ordini con lo stesso prezzo (il contatore N rimane nullo) e genera gli stessi ordini.

È interessante che se impostiamo il prezzo massimo 1.5000, allora fino a 1.4000 tutto è normale e da 1.3980 inizia a duplicare gli ordini con lo stesso prezzo

COSA POTREBBE ESSERE????????

E la situazione si ripete sulla piattaforma di un altro centro commerciale

File:
 


Sto correndo nel tester, non riesco a capire perché può apparire questo errore: OrderModify error 1 (Nessun errore, ma il risultato è sconosciuto).

Uso la funzione trawl, non c'è altro, controllo sia il livello min stop che la dimensione del punto e tutto ciò che è richiesto, l'errore non appare sempre.

È un errore grossolano o è tollerabile da eseguire su un conto reale?

 
Infinity:


L'ho provato nel tester, non so dove può causare l'errore OrderModify error 1 (Nessun errore, ma il risultato è sconosciuto).

Uso la funzione trawl, non c'è altro, controllo il livello min stop e la dimensione del punto e tutto ciò che è richiesto, l'errore non appare sempre.

Ho provato nel tester, non riesco a capire che tipo di errore sia.


https://docs.mql4.com/ru/trading/OrderModify dice qui di questo errore
 

Ecco la funzione :

double ObFindObjectsByPrefix(string Prefix)
{

stringa OBJECT_PREFIX="LEVELS";
double price_max;
int L = StringLen(Prefix);
int i = 0;
int time_min=TimeCurrent();
while(i < ObjectsTotal()-1)
{
string ObjName = ObjectName(i);
if(StringSubstr(ObjName, 0, L) != Prefix)
{
i++;
continue;
}
double price=ObjectGet(ObjName,OBJPROP_PRICE1);
if (MathAbs(price-Bid)/Point<m)
{
int time1=ObjectGet(ObjName,OBJPROP_TIME1);
if (time1<time_min)
{
time_min=time1; price_max=price;
}
}
}
return(price);
}

cosa c'è che non va, perché non funziona?

cerca il segmento più lungo con un prefisso e restituisce il valore del prezzo.

 
https://www.mql5.com/ru/code/8976 hai per caso un file .dll normale e funzionante per questo indicatore? Non riesco a compilarlo da solo(
 

Gente, dove devo scrivere per far sì che MT5 faccia una traduzione decente in tedesco? È un peccato... Si rompe per "salvare" (save) file in formato CSV, per selezionare suoni per diversi "eventi" (events) e per terminare i programmi cliccando su "Exit" (dall'edificio, non dal programma)

 
valenok2003:

Potrebbe essere necessario controllare i tipi PARASTEP e PARAMAX e i loro valori.
Non cambiano perché sono tipi esterni. I valori sono stati scelti sul grafico stesso con l'indicatore insieme!
 
YDzh:

Gente, dove devo scrivere per far sì che MT5 faccia una traduzione decente in tedesco? È un peccato... Si rompe per "salvare" (save) file in formato CSV, per scegliere suoni per diversi "eventi" (events) e per terminare i programmi premendo "Exit" (dall'edificio, non dal programma)


Se non puoi scrivere nel forum di mql5.com, c'è solo una via d'uscita: scrivere all'ONU.

PS. Stiamo già sistemando l'interfaccia tedesca scrivendo sul forum di mql5.com. Grazie per il messaggio.