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

 
ScioMe:


PF è il fattore di profitto, vedo. E cos'è FF? C'è un modo per far sì che il tester emetta questi valori, come fa con il MO?

Se ti do il MO, la redditività, il numero di trade, la data, il drawdown massimo, puoi dire qualcosa sulla qualità dell'EA?


FS è il fattore di recupero = profitto netto/prelievo massimo.

vedere. "qualità di un EA"...:-)))

 
ScioMe:

Se ti do il MO, la redditività, il numero di trade, la data, il drawdown massimo, puoi dire qualcosa sulla qualità dell'EA?


È più facile dell'intestazione del rapporto di un tester. E comunque: è molto importante sapere come è stato ottenuto il risultato, una cosa è conoscere il miglior risultato di ottimizzazione, e un'altra cosa è conoscere i principi di base dell'Expert Advisor. E solo allora, con un po' di esperienza, possiamo diagnosticare l'esperto con una probabilità di successo maggiore di un'ipotesi (diciamo 7-8 casi su 10).
 
Perdonate la mia ignoranza, ma cos'è un forward?
 

Date un'occhiata all'articolo "Test e ottimizzazione degli Expert Advisors".

Lì è descritto in dettaglio - cos'è, un test in avanti.

 

Per favore aiutatemi. ho appena iniziato a programmare in mql

Ho bisogno di fare una cosa del genere.

Non ho bisogno di scrivere alcun codice, anche se lo scopo di questo lavoro è

se 1 ordine è già stato aperto e chiuso, expert non funzionerà in quel giorno.

Se un ordine viene aperto e chiuso con un saldo negativo, l'Expert Advisor smetterà di funzionare per quel giorno.

 

Date un'occhiata a https://www.mql5.com/ru/forum/131859

Le funzioni di pagina 4 vi saranno (molto probabilmente) utili in questo caso:

isTradeToDay - restituisce la bandiera del commercio di oggi

isLossLastPos - Restituisce il flag di perdita dell'ultima posizione.

isCloseLastPosByStop - Restituisce il flag per chiudere l'ultima posizione per stop
isCloseLastPosByTake - Restituisce una bandiera per chiudere l'ultima posizione da Take.

NumberOfBarCloseLastPos - Restituisce il numero di chiusura della barra dell'ultima posizione o -1. (=0 su tfD - per la chiusura di oggi)

NumberOfLossPosToday - Restituisce il numero di posizioni perdenti chiuse oggi.

ecc.

 

Buon pomeriggio a tutti! Inviatemi dove nit dove si può vedere (per leggere) come rifare l'indicatore regolare MACD, in modo che mostra i valori H4 su H1, cioè durante le 4 ore sul H1 per disegnare la stessa barra periodo valori H4

Grazie!

 

Salve. Potreste per favore aiutarmi con l'operazione While. Ho fatto uno script che doveva disegnare linee orizzontali tra i livelli, ma disegna solo la prima linea e poi si blocca. Cosa sto facendo di sbagliato?

Il codice è allegato.

//+------------------------------------------------------------------+

//| H_LINES.mq4

//| Copyright © 2011, MetaQuotes Software Corp.

//| http://www.metaquotes.net |

//+------------------------------------------------------------------+

#property copyright "Copyright © 2011, MetaQuotes Software Corp.

#proprietà link "http://www.metaquotes.net"


//+------------------------------------------------------------------+

//| funzione di avvio del programma script |

//+------------------------------------------------------------------+

double Min_Level = 1.40000; //Limite inferiore

double Max_Level = 1.60000; //limite superiore

double Step = 200; // Step (distanza tra le linee) in pip

int Lines_Width = 2; // Larghezza della linea

colore Lines_Color = Green; //Colore delle linee

doppio i; //variabile formale


int start()

{

//----

i=Min_Level;

mentre ( i < Max_Level )

{

ObjectCreate ("H_LINE",OBJ_HLINE,0,0,i);

ObjectSet ("H_LINE",OBJPROP_COLOR,Lines_Color);

ObjectSet ("H_LINE",OBJPROP_WIDTH,Lines_Width);

i = Min_Level + (Step/10000);

}

//----

ritorno(0);

}

//+------------------------------------------------------------------+

Grazie.

 
Gerkl:

Salve. Potreste per favore aiutarmi con l'operazione While. Ho fatto uno script che doveva disegnare linee orizzontali tra i livelli, ma disegna solo la prima linea e poi si blocca. Cosa sto facendo di sbagliato?

Il codice è allegato.

//+------------------------------------------------------------------+

//| H_LINES.mq4

//| Copyright © 2011, MetaQuotes Software Corp.

//| http://www.metaquotes.net |

//+------------------------------------------------------------------+

#property copyright "Copyright © 2011, MetaQuotes Software Corp.

#proprietà link "http://www.metaquotes.net"


//+------------------------------------------------------------------+

//| funzione di avvio del programma script |

//+------------------------------------------------------------------+

double Min_Level = 1.40000; //Limite inferiore

double Max_Level = 1.60000; //limite superiore

double Step = 200; // Step (distanza tra le linee) in pip

int Lines_Width = 2; // Larghezza della linea

colore Lines_Color = Green; //Colore delle linee

doppio i; //variabile formale


int start()

{

//----

i=Min_Level;

mentre ( i < Max_Level )

{

ObjectCreate ("H_LINE",OBJ_HLINE,0,0,i);

ObjectSet ("H_LINE",OBJPROP_COLOR,Lines_Color);

ObjectSet ("H_LINE",OBJPROP_WIDTH,Lines_Width);

i = Min_Level + (Step/10000);

}

//----

ritorno(0);

}

//+------------------------------------------------------------------+

Grazie.

prima di tutto:

i = Min_Level + (Step/10000);

la tua i non cambia


in secondo luogo

ObjectCreate ("H_LINE",OBJ_HLINE,0,0,i);

ogni oggetto dovrebbe avere il suo nome unico

 

Aiuto pdz.... Continuando a studiare il tutorial - mi sono imbattuto in qualcosa che non mi è chiaro, non riesco a capire

//--------------------------------------------------------------------
// callindicator.mq4
// Предназначен для использования в качестве примера в учебнике MQL4.
//--------------------------------------------------------------------
extern int Period_MA = 21;            // Период расчётной МА
bool Fact_Up = true;                  // Факт сообщения, что цена..
bool Fact_Dn = true;                  //..находится выше или ниже МА
//--------------------------------------------------------------------
int start()                           // Спец. функция start  {
   double MA;                         // Значение МА на 0 баре    
//--------------------------------------------------------------------
                                      // Обращение к функции техн.инд.
   MA=iMA(NULL,0,Period_MA,0,MODE_SMA,PRICE_CLOSE,0); 
//--------------------------------------------------------------------
   if (Bid > MA && Fact_Up == true)   // Проверка прохода вверх     {
      Fact_Dn = true;                 // Сообщать о цене выше МА
      Fact_Up = false;                // Не сообщать о цене ниже МА
      Alert("Цена находится выше MA(",Period_MA,").");// Сообщение      }
//--------------------------------------------------------------------
   if (Bid < MA && Fact_Dn == true)   // Проверка прохода вниз     {
      Fact_Up = true;                 // Сообщать о цене ниже МА
      Fact_Dn = false;                // Не сообщать о цене выше МА
      Alert("Цена находится ниже MA(",Period_MA,").");// Сообщение      }
//--------------------------------------------------------------------
   return;                            // Выход из start()  }
//--------------------------------------------------------------------

Una semplice funzione che mi dice se il prezzo è sopra o sotto l'EMA. Ma non è nemmeno questa la domanda.

perché quando Fact_Dn e Fact_UP prendono valori veri o falsi all'inizio della funzione, questi valori sono anche presi da variabili globali? Non è che usiamo return(Fact_Up) per esempio... poco chiaro... o non possiamo usarlo?