[Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate. Non posso andare da nessuna parte senza di te. - pagina 885
![MQL5 - Linguaggio delle strategie di trading integrato nel client terminal MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
Nessuno è stato in grado di darmi una risposta... Qualcuno ha un indizio?
Forse devi controllare i tipi PARASTEP e PARAMAX e i loro valori.
È 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
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?
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.
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)
Potrebbe essere necessario controllare i tipi PARASTEP e PARAMAX e i loro valori.
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.