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

 

Ciao, potresti dirmi come si fa a trovare il valore memorizzato nel buffer (intendo il valore che si trova sul picco a zig-zag), se si conosce solo la barra.

Grazie

 
se la barra è nota e il buffer è un array di serie temporali, il valore è Buffer[i]
 
Una funzione utente non può restituire 2 valori?
 
eddy:
Una funzione definita dall'utente non può restituire 2 valori?

No, non puoi - non è una procedura in Pascal. :-)))
 
eddy:
non si può fare in modo che una funzione utente restituisca 2 valori?


Potete fare in modo che una funzione utente chiami l'altra...

Per esempio, rileggete... dal libro di testo...

"

La strategia di trading impone dei requisiti sul contenuto e sulla tecnologia della funzione dei criteri di trading. Qualsiasi funzione può restituire un solo valore. Pertanto, se l'Expert Advisor ha una strategia che coinvolge solo criteri di trading che si escludono a vicenda, il valore restituito dalla funzione può essere impostato su uno dei criteri. Ma se una strategia permette il funzionamento di diversi criteri allo stesso tempo, i loro valori devono essere passati per l'elaborazione ad altre funzioni utilizzando variabili globali.

La strategia di trading implementata nell'Expert Advisor in esame coinvolge solo criteri reciprocamente esclusivi. Ecco perché la funzione Criterio() qui presentata usa il valore restituito dalla funzione per passare i criteri calcolati ad altre funzioni.

 
eddy:
non si può fare in modo che una funzione utente restituisca 2 valori?

Potete assegnare una variabile globalmente e recuperare il suo valore in una funzione.

La funzione ne restituirà solo uno, ma potete ottenerne quanti ne volete.

Esempio:

  int OpendBuy(){
   int OpendPos=0;
   for(int cnt=OrdersTotal()-1; cnt>=0; cnt--){
     if(OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES)){ 
       if(OrderMagicNumber()==Magic){
         if(OrderSymbol()==Symbol()){
           if(OrderType()==OP_BUY)OpendPos++;
           Ticket =OrderTicket();                    // Номер выбранн. орд.
           Type   =OrderType();                      // Тип выбранного орд.
           Price  =OrderOpenPrice();                 // Цена выбранн. орд.
           SL     =OrderStopLoss();                  // SL выбранного орд.
           TP     =OrderTakeProfit();                // TP выбранного орд.
    } } } }     
 return(OpendPos);} 
 
esattamente. i valori possono essere passati usando variabili globali
 
Qualcuno può dirmi se qualcuno ha un software che ha un collegamento tra i vertici alti e bassi a zig-zag. Grazie
 
pyatka__ASD:
Qualcuno può dirmi se qualcuno ha un software che ha un collegamento tra i vertici alti e bassi a zig-zag. Grazie

Guarda in CodeBase. C'è un...
 
eddy:
non si può fare una funzione personalizzata che restituisca 2 valori?

È possibile. Ritorno ai parametri. Per esempio:

void TestFunction (double &return_value1, double &return_value2)
{
// вычисления...

   return_value1 = выражение; //возвращаем значения
   return_value2 = выражение;
}
Motivazione: