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

 
LazarevDenis:
Potete per favore consigliarmi se è possibile scrivere del testo in mql4 in un file, ad esempio *.txt, e poi recuperare questi dati per il trading. L'idea è che l'EA imparerebbe a fare trading da solo, quando il prezzo cambia di >100*Point per paio di barre, l'EA memorizzerebbe questi valori e poi cercherebbe di usarli (valore dell'indicatore +/- n% per aprire un ordine). Questo potrebbe anche essere implementato nell'EA, ma dopo aver chiuso MetaTrader tutti i valori variabili sembrano essere resettati a zero
Si possono usarevariabili globali.
 
qualcuno potrebbe testare il mio EA e dirmi i suoi punti di forza e di debolezza?
File:
 

aiutatemi a scrivere una funzione che esegua una certa azione, se le ultime 10 posizioni sono state chiuse in meno

Grazie in anticipo
 
Kreol:
Sì, sì, ti ho preso ... Ma prima di rinunciare ai miei soldi duramente guadagnati, voglio assicurarmi che lo script di cui ho bisogno non sia disponibile nel pubblico dominio
Gli script nel database sono grandi come cane mangia cane. Stai facendo la domanda sbagliata. Lo script universale, anche se lo fanno per voi, sarà scomodo, e lo butterete via.
Gli script sono di solito progettati per eseguire una semplice azione uniforme. È meglio usare un insieme di script, ognuno dei quali è legato a un diverso tasto di scelta rapida.
Per esempio:

Script
Chiave
Aprire lo script BuyCtrl+B
Script per aprire VendereCtrl+S
Invertire lo scriptCtrl+R
Chiudere lo script
Ctrl+C

E così via.
Potete trovare i corrispondenti script pronti nel database facendo una ricerca, richieste di google come reverse script site:mql4.com

 
nuan:

aiutatemi a scrivere una funzione che esegua una certa azione se, per esempio, le ultime 10 posizioni sono state chiuse in meno

Grazie in anticipo

Non è difficile calcolare il numero di ultimi ordini chiusi in perdita nel ciclo. Ma come possiamo scrivere del codice che esegua un'azione poco chiara?
 
Serve un codice che conti
 
Ciao, ecco una domanda... È l'abbondanza di condizioni di input e funzioni ausiliarie, così come le variabili esterne come extern double, che può rallentare l'Expert Advisor? È solo un mistero nel tester... Il primo robot con tutto nascosto nel codice ha più drawdown del robot dove tutto è extern double... Anche se entrambi hanno gli stessi parametri variabili. (anche loro sono uguali)
 
Shniperson:
Ciao, ecco una domanda... È a causa dell'abbondanza di condizioni di input e funzioni ausiliarie, così come variabili esterne come extern double che l'EA può diventare lento? È solo un mistero nel tester... Il primo robot con tutto nascosto nel codice ha più drawdown del robot dove tutto è extern double... Anche se entrambi hanno gli stessi parametri variabili. (e anche loro sono uguali).


Controllate di nuovo i valori delle variabili - forse sono diversi e quando si compila il primo, funzioneranno diversamente l'uno dall'altro.

A parte questo, confrontateli con questo programma nella ricerca - download - WinMergeU.exe.

 

Ho scaricato da https://www.mql5.com/ru/code/9274

Ho scaricato da qui uno script per impostare automaticamente un take and loss preimpostato, ma iniziano a fluttuare seguendo il prezzo, potete dirmi qual è il problema e come impostarlo per renderli statici?

 
nuan:
Abbiamo bisogno di un codice che calcoli


Questo non è difficile. Scrivere un sottoprogramma:

// этот код будет работать корректно только если в истории отсутствуют отложенные ордера.
int SchLossOrders(){
  string SMB=Symbol();
  int Sch=0;
  int i;
  for (i=OrdersHistoryTotal()-1;i>=0;i--){
    if (!OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)) { Print("Ошибка ",GetLastError()," при выборе ордера");}
    else {
      if(OrderProfit()<0 && (OrderType()==OP_BUY || OrderType()==OP_SELL)){
        Sch++;
      }
      else{
        return(Sch);
      }
    }
  }
 return(Sch);     
}

All'inizio dell'EA scriviamo:

if(SchLossOrders()>=10){
  // 10 последних сделок были убыточными - выполняем какое-то действие
}
Motivazione: