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

 
Tomcrafft:

Ciao a tutti!

Ragazzi, aiutatemi... Come faccio a fare in modo che quando un ordine viene aperto da un certo livello (con stop e take)

L'Expert Advisor non apre un secondo, terzo, ecc. ordine. E l'ordine successivo dovrebbe essere aperto solo dopo che il primo è stato chiuso allo stop o al take.

Prima controlla se c'è già un ordine aperto nel mercato, e se non c'è ancora, allora aprilo, altrimenti non c'è bisogno.
 
"Cancella la cache del tester", cos'è questo e come posso ottenerlo?
 
eugggy:

Aiuto necessario: ci sono 2 ordini pendenti (in direzioni diverse), quando uno viene attivato, l'altro deve essere chiuso. Il codice come mostrato di seguito. Come farlo correttamente, che non c'era nessun errore con il numero di biglietto sbagliato e funziona correttamente, letteralmente un paio di righe necessarie per mettere in consigliere, non imparo nulla. Grazie in anticipo.



Quando viene valorizzata la variabile "Tip"? Dovrebbe essere dopo OrderSelect().

OrderSelect(Total,SELECT_BY_TICKET,MODE_TRADES);
Tip=OrderType();

se(Tip==OP_SELL)

 
eugggy:

Aiuto necessario: ci sono 2 ordini pendenti (in direzioni diverse), quando uno scatta, dobbiamo chiudere l'altro. Il codice come mostrato di seguito. Come dovrebbe essere correttamente redatto che non era un errore con un numero di biglietto sbagliato e funziona correttamente, solo un paio di linee necessarie per mettere in consigliere, ho qualcosa che non posso imparare. Non so come fare, grazie in anticipo.



Controlla se ci sono ordini di mercato.

Se presente, controlla se ci sono dei

Se sì, cancellali

 
eugggy:
L'ho fatto con un ciclo for, ma ottengo un casino, OrdersTotal() restituisce il numero di ordini (2), se ne sottraggo uno, allora quale ordine sarà selezionato: il primo o il secondo, e poi lo stesso casino con i biglietti. In generale, l'errore 4108 - numero di ticket sbagliato, e anche Alert(Ticket) restituisce un numero superiore a 0, anche se l'EA è stato appena lanciato e non ci sono ordini.

Chiarire se SELECT_BY_TICKET o SELECT_BY_POS?

Leggi su OrderSelect() nell'aiuto

SELECT_BY_TICKET i numeri d'ordine sul server aziendale, per esempio #12345 e #12399

SELECT_BY_POS i numeri d'ordine "nella lista personale", cioè per due ordini, uno ha #0, l'altro #1

 
eugggy:
Se lo lascio così, funzionerà correttamente? Sembra funzionare, forse sono necessari alcuni ritorni o RefreshRates, in una parola funzionerà nella vita reale?


No, non lo farà.

 

eugggy:
А нельзя ли подробнее? Нельзя))). Я имею ввиду, если сильно не придираться, где, что, неправильно и как исправить?

L'ho fatto con un ciclo for, ma la mia confusione inizia, OrdersTotal() restituisce il numero di ordini (2), se ne sottraggo uno, allora quale ordine sarà selezionato: il primo o il secondo, e poi la stessa confusione con i biglietti. In generale l'errore 4108 è un numero di ticket sbagliato e Alert(Ticket) restituisce un numero superiore a 0 anche se l'EA è stato appena lanciato e non ci sono ordini.



Hai già avuto la tua risposta dettagliata:

Vinin :


Controlla se ci sono ordini di mercato.

Se ci sono, controlla se ci sono ordini in sospeso.

Se presente, rimuovere Per cicli successivi per
 
eugggy:
Mi piacerebbe saperne di più. No))). Voglio dire, se non sei schizzinoso, dove, cosa, sbagliato e come risolvere?


Mi ripeterò.

Controlla che ci sia un ordine di mercato,

Se c'è, controlla se c'è un ordine in sospeso.

Se c'è, cancellatelo.

Semmai, scriverò il codice domani. Anche se è già stato fatto da qualche parte in questo topic.

 
eugggy:
Capisco, ma è facile per voi, due per i test, ma l'ho provato - non funziona, ecco perché chiedo. Come se fossi un programmatore con 5 anni di esperienza. Non puoi))) - Stavo solo scherzando.
pubblica qui tutto il tuo codice
 
eugggy:
Ho avuto l'idea, ma ho problemi con l'implementazione, non ho familiarità con la ricerca di ordini, non c'è quasi nulla nella guida, e il tutorial non è per menti medie. Se non ci sono problemi, cercherò di usare un po' di codice sorgente MQL4, o forse troverete qualche libro su MQL4 per una persona media da capire.

Inoltre, spiega con parole tue cosa dovrebbe fare l'EA