[Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Non potrei andare da nessuna parte senza di te - 2. - pagina 94

 
ScioMe:
Grazie, puoi fare così: Close[3]?
Sì, è possibile.
 
artmedia70:

Cari membri del forum, ho un problema nel testare un EA. Per ripristinare il suo lavoro è necessario cancellare i dati storici nella cartella history nella directory del terminale e poi ricaricare i dati storici. Per favore consigliatemi come entrare nella directory del terminale, non l'ho trovato nel manuale, ho provato tutte le icone e non ho trovato un modo per entrare in questa directory. Grazie in anticipo.


 
boris.45:

Boris, qual è il problema?
 
artmedia70:
Creare bandiere, ad esempio

Per TP1 - bool TP1, per TP2 - bool TP2, ecc.

Inizialmente i loro valori sono falsi.

Prima della prossima chiusura, fai un controllo:

if (!TP1) {codice per la chiusura parziale della prima parte, dopo la chiusura riuscita scrivere TP1=true}

if (!TP2) {codice per chiudere parzialmente la seconda parte, dopo una chiusura riuscita scrivere TP2=true}

... e così via per tutte le parti...

In questo modo, le bandiere segnaleranno che ogni parte è stata chiusa una volta...


Rispetto! Cercherò di implementare...

 
coronel:
Grazie per l'attenzione. Ho testato l'EA per una quindicina di giorni, tutto andava bene. Poi all'improvviso il tester è andato in crash. Durante l'ottimizzazione è apparsa una tabella "waiting for refresh". Guardo il log, ma ci sono solo due linee: la prima mi informa del successo del caricamento dell'EA e la seconda mi informa dell'assenza di dati storici. Ovviamente, si è verificato un qualche tipo di guasto. Ho provato a resettare i dati storici usando il tasto F2, ma il reset non riesce. Ho provato a ricaricare la piattaforma MT4, ma il funzionamento del tester non è stato ripristinato. Ho contattato i programmatori di Alpari per il supporto tecnico. Ho avuto la risposta: cancella tutta la cronologia dalla cartella history, che si trova nella directory del terminale, e poi ricarica i dati della cronologia. Non posso accedere alla directory del terminale, non so come fare. Non voglio rivolgermi ai programmatori di Alpari perché lavorano attraverso intermediari e questo è un processo lungo. Se sapete come entrare nella directory del terminale e cancellare i dati storici, per favore aiutatemi.
 
boris.45:
Grazie per il vostro interesse. Ho testato l'Expert Advisor per una quindicina di giorni, tutto è andato bene. Poi all'improvviso il tester è andato in crash. Durante l'ottimizzazione è apparso un messaggio "attendere gli aggiornamenti". Guardo il log, ma ci sono solo due linee: la prima mi informa del successo del caricamento dell'EA e la seconda mi informa dell'assenza di dati storici. Ovviamente, si è verificato un qualche tipo di guasto. Ho provato a resettare i dati storici usando il tasto F2, ma il reset non riesce. Ho provato a ricaricare la piattaforma MT4, ma il funzionamento del tester non è stato ripristinato. Ho contattato i programmatori di Alpari per il supporto tecnico. Ho avuto la risposta: cancella tutta la cronologia dalla cartella history, che si trova nella directory del terminale, e poi ricarica i dati della cronologia. Non posso accedere alla directory del terminale, non so come fare. Non voglio rivolgermi ai programmatori di Alpari perché lavorano attraverso intermediari e questo è un processo lungo. Se sapete come entrare nella directory del terminale e cancellare i dati storici, per favore aiutatemi.

Cliccate con il tasto destro del mouse sull'icona del terminale sul desktop. Dal menu a discesa seleziona "Proprietà". Nella finestra che si apre seleziona "Storage location" - si aprirà un explorer, cerca lì la cartella history - contiene le cartelle necessarie con i dati storici...


 
boris.45:
Grazie per l'attenzione. Ho testato l'EA per quindici giorni e tutto è andato bene. Poi all'improvviso il tester è andato in crash. Ho visto un messaggio "attendere gli aggiornamenti" durante il processo di ottimizzazione. Guardo il log, ma ci sono solo due linee: la prima mi informa del successo del caricamento dell'EA e la seconda mi informa dell'assenza di dati storici. Ovviamente, si è verificato un qualche tipo di guasto. Ho provato a resettare i dati storici usando il tasto F2, ma il reset non riesce. Ho provato a ricaricare la piattaforma MT4, ma il funzionamento del tester non è stato ripristinato. Ho contattato i programmatori di Alpari per il supporto tecnico. Ho avuto la risposta: cancella tutta la cronologia dalla cartella history, che si trova nella directory del terminale, e poi ricarica i dati storici. Non posso accedere alla directory del terminale, non so come fare. Non voglio rivolgermi ai programmatori di Alpari perché lavorano attraverso intermediari e questo è un processo lungo. Se sapete come entrare nella directory del terminale e cancellare i dati storici, per favore aiutatemi.

Avviate MT4 in qualche modo, quindi troverete la directory.

Cliccate con il tasto destro del mouse sull'icona che lancia MT4 e si aprirà la finestra "Proprietà".

C'è un pulsante "Trova oggetto". Premetelo e vi troverete nella directory di cui avete bisogno.

Nella directory c'è una cartella histiry. Andate lì e cancellate tutte le cartelle in esso contenute.

Avviare MT4. Premere F2 e ricaricare la cronologia delle citazioni.

Questo è tutto.

 

Ho abbozzato un nuovo EA oggi, lo sto scrivendo per me stesso, ma se tutto va bene lo condividerò più tardi.

Vorrei la vostra opinione su cos'altro dovrebbe essere aggiunto. Ho già ricevuto una richiesta da Trader. Ora posso riorganizzare gli stop e i Takei, spostare le linee sullo schermo, mostrare gli ordini aperti e le statistiche sui miei conti. Quali altre richieste ci saranno?

È venuto fuori abbastanza bene :)

 
coronel:

Grazie per il vostro sostegno!

 

Per favore, ditemi come aprire un nuovo ordine se viene attivato uno Stop Loss o un TP. Preferibilmente un codice! Molte grazie in anticipo!


for(int i=1; i<=OrdersTotal(); i++) // ???? ???????? ?????

{

se(OrderSelect(i-1,SELECT_BY_POS)==true)

{

double SL=OrderStopLoss();

double TP =OrderTakeProfit(); // TP ?????????? ???.

double Price =OrderOpenPrice();

{

se(SL >= Prezzo)

{

OrderSend(Symbol(), OP_BUY, lots,Ask, 3, Ask - stop_loss * Point, Bid + take_profit * Point, IDENT, MAGIC, 0, Green);

}

}

Allarme(i);

}

}

Motivazione: