[ARCHIVIO] Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Da nessuna parte senza di te - 3. - pagina 60

 

ad artmedia70:

Bene, l'ordine è già chiuso quando si tratta di questa condizione.

 

a Demlin:

Beh, lo vedo sparire da Trading.

 
demlin:

Ciao a tutti!

L'indicatore disegna una linea, che il giorno dopo si stacca dalle barre e pende di lato. Quando riavvio l'indicatore, disegna di nuovo normalmente. Cosa può essere?


L'indicatore è storto. Dobbiamo rifarlo.
 
Vinin:

L'indicatore è storto. Dobbiamo rifarlo.
Lo capisco, ma quale potrebbe essere il problema?
 
Solree:

a Demlin:

Beh, lo vedo sparire da Trading.

Che ne dite di organizzare una ricerca di ordini dalla storia? Quando si trova l'ordine giusto si conta il tempo di chiusura
 

a delmin:

Per non fare una cosa del genere, uso un biglietto. In generale, possiamo riscrivere la logica (almeno, possiamo scrivere il valore restituito OrderClose() in bool e poi controllarlo). Sono solo curioso di sapere perché non restituisce il valore giusto per un ordine chiuso e non voglio sovraccaricare il programma con azioni inutili. Spero nel vostro aiuto :)

 
Solree:

a delmin:

Per non fare una cosa del genere, uso un biglietto. In realtà, possiamo riscrivere la logica (almeno, possiamo scrivere il valore restituito OrderClose() in bool e poi controllarlo). Sono solo curioso di sapere perché non restituisce il valore giusto per un ordine chiuso e non voglio sovraccaricare il programma con azioni inutili. Spero nel vostro aiuto :)

Ho già risposto alla tua domanda: devi controllare il tempo di chiusura di un ordine per ticket subito dopo la sua selezione. Solo per gli ordini chiusi è superiore a zero. Ma nel vostro caso, il controllo del tempo di chiusura va dopo il blocco di chiusura di altri ordini, e voi, rispettivamente, controllate il tempo di chiusura di altri ordini. In generale, si ottengono risposte così complete su quanto codice si è mostrato.
 
demlin:
Lo capisco, ma quale potrebbe essere il problema?

Bisogna guardare il codice, altrimenti solo i telepati possono aiutare
 
    if (tempWho == 0 && pos != -1)
    {
        if (OrderSelect(pos, SELECT_BY_TICKET))
        {
            if (OrderType() == OP_BUY)
            {
                if (who != 1)
                {
                    while(!OrderClose(OrderTicket(), OrderLots(), NormalizeDouble(Bid, Digits), 0))
                        Sleep(3000);
                    
                    pos = -1;
                }
            }
            else if (OrderType() == OP_SELL)
            {
                if (who != 2)
                {
                    while(!OrderClose(OrderTicket(), OrderLots(), NormalizeDouble(Ask, Digits), 0))
                        Sleep(3000);
                    
                    pos = -1;
                }
            }
            
            Alert(OrderCloseTime());
            
            if (OrderCloseTime() != 0)
            {
                if (OrderProfit() < 0)
                {
                    if (tempCount != 0)
                    {
                        tempLot += lot;
                        tempCount--;
                    }
                    else
                    {
                        tempLot = lot;
                        tempCount = countLot;
                    }
                }
                else
                {
                    tempLot = lot;
                    tempCount = countLot;
                }
            }
        }
    }

Ecco il codice per quel blocco in cui il controllore dell'orario di chiusura fa tutte le cose.

Non importa quando chiamare la funzione? La cosa principale è avere un ordine chiuso. O no...?

Z.Y. L'ha già cambiato per renderlo più redditizio in termini di prestazioni. Ma mi chiedo ancora cosa sto sbagliando con OrderCloseTime().

 
Solree:

Ecco il codice per quel blocco in cui il controllore dell'orario di chiusura fa tutte le cose.

Non importa quando chiamare la funzione? La cosa principale è avere un ordine chiuso. O no...?

Z.Y. L'ha già cambiato in più redditizio in termini di produttività. Ma mi chiedo ancora cosa sto sbagliando con OrderCloseTime().

È meglio che tu scriva cosa vuoi ottenere.