[ARCHIVIO]Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Non posso andare da nessuna parte senza di te - 5. - pagina 42

 
TarasBY:

Manca una variabile alla chiamata dell'indicatore: il buffer!!!


Funziona, grazie ancora.
 

Domanda per gli intenditori.

C'è un codice sul grafico reale i commenti sono corretti. nel tester di strategia tutti i valori sono uguali a 2147483647

Cosa c'è di sbagliato qui?

O dovremmo aggiungereEMPTY_VALUE al controllo?

E dobbiamo sempre normalizzare i dati ottenuti dagli indicatori per confrontarli tra loro in 5 cifre?

double adxLastBuy,adxLastSell,adxLast;

for (int i=0; i<Bars; i++)
{
   adxLastBuy=iCustom(NULL,0,"Adx_crossing",ADXbars,CountBars,0,i); if (adxLastBuy>0) break;
   
}
for (int j=0; j<Bars; j++)
{
   
   adxLastSell=iCustom(NULL,0,"Adx_crossing",ADXbars,CountBars,1,j); if (adxLastSell>0) break;
}

for (int k=0; k<Bars; k++)
{
   adxLast=iCustom(NULL,0,"Adx_crossing",ADXbars,CountBars,0,k); if (adxLast>0) break;
   adxLast=iCustom(NULL,0,"Adx_crossing",ADXbars,CountBars,1,k); if (adxLast>0) break;
}



 Comment("Цена последнего ADX Покупки: ", adxLastBuy, " Цена последнего ADX продажи: ", adxLastSell, " Последний сигнал ", adxLast );
 
Twilight:

Domanda per gli intenditori.

C'è un codice sul grafico reale i commenti sono corretti. nel tester di strategia tutti i valori sono uguali a 2147483647

Cosa c'è di sbagliato qui?

O dovremmo aggiungere EMPTY_VALUE al controllo?

E dobbiamo sempre normalizzare i dati ottenuti dagli indicatori per confrontarli tra loro in 5 cifre?

È obbligatorio quando si usa iCustom. Come:
if(signal!=0 && signal!=EMPTY_VALUE){
   BuySignal=true;
}
 
mmm ...c'è anche un problema...il bip a volte suona come se fosse impostato nel codice News.wav e più spesso suona Alert.wav

#property copyright "Copyright © 2012"
#property link      "Не ссать  против ветра "
 
 extern bool       Будильник      = true ;
 extern string SoundFile      =  "News.wav";
 
int start ()                                  
{
 double  a=iCustom(NULL,0,"HMA_Russian_Color",5,MODE_LWMA,PRICE_MEDIAN,"Uptrend[]",0); 
 double  b=iCustom(NULL,0,"HMA_Russian_Color",8,MODE_LWMA,PRICE_MEDIAN,"Uptrend[]",0); 
 
if (Будильник ==true)
{

  {
 if ( a > b ) 
       
 {  
  Alert("BUY
  PlaySound(SoundFile);
  Sleep(100000);
  }
 }
}


return(0);}
 
odiseif:
mmm ...c'è anche un problema...il bip a volte suona come se fosse impostato nel codice News.wav e più spesso suona Alert.wav

Potresti dirmi dove si trova l'errore?
 

Per favore aiutatemi, ditemi come implementare il codice EA in due o tre righe:

Quando arriva un segnale (per esempio l'incrocio di due MA)

1.Expert Advisor determina il tempo del segnale (in ore, minuti), lo memorizza;

2. conta alla rovescia di un minuto.

Poi, la disponibilità a fare qualcosa (ad esempio, aprire un ordine)
 
Twilight:

Domanda per gli intenditori.

C'è un codice sul grafico reale i commenti sono corretti. nel tester di strategia tutti i valori sono uguali a 2147483647

Cosa c'è di sbagliato qui?

O dovremmo aggiungere EMPTY_VALUE al controllo?

E dobbiamo sempre normalizzare i dati ottenuti dagli indicatori per confrontarli tra loro in 5 cifre?

Il buffer degli indicatori ha un concetto di "valore vuoto". È (per default) uguale a EMPTY_VALUE, ma può essere cambiato usando la funzione SetIndexEmptyValue(). Questo è il valore che il buffer non disegna nel grafico (se lo fa). È il valore mancante che deve essere controllato, se necessario.
 
odiseif:
Mm ... c'è anche un problema ... il bip a volte suona come il codice News.wav e più spesso suona Alert.wav

Ci sono delle sciocchezze scritte qui:

 double  a=iCustom(NULL,0,"HMA_Russian_Color",5,MODE_LWMA,PRICE_MEDIAN,"Uptrend[]",0); 
 double  b=iCustom(NULL,0,"HMA_Russian_Color",8,MODE_LWMA,PRICE_MEDIAN,"Uptrend[]",0);

Leggi su iCustom().

 
Andrey-F:

Per favore aiutatemi, ditemi come implementare il codice EA in due o tre righe:

Quando arriva un segnale (per esempio l'incrocio di due MA)

1.Expert Advisor determina il tempo del segnale (in ore, minuti), lo memorizza;

2. Conto alla rovescia di un minuto.

Poi, la disponibilità a fare qualche azione (per esempio aprire un ordine)

In una variabile globale si scrive il valore temporale al momento della ricezione del segnale:

    if (Signal) gdt_TimeSignal = TimeCurrent();

e poi fai il conto alla rovescia del tuo minuto (puoi farlo):

    if (gdt_TimeSignal != 0) if (iBarShift (NULL, 1, gdt_TimeSignal) == 1)
    {
        //---- Открываете ордер
        OrderSend ();
        gdt_TimeSignal = 0;
    }

Questa è una soluzione per tracciare il tempo dopo che si è verificato un evento.

 
TarasBY:

In una variabile globale, scrivete il valore del tempo al momento del segnale:

e poi fai il conto alla rovescia del tuo minuto (potresti farlo):

Questa è una soluzione per tracciare il tempo dopo che si è verificato un evento.



In alternativa, è possibile impostare qualsiasi momento dopo l'arrivo del segnale
if (Signal) gdt_TimeSignal = TimeCurrent();
//
//
//
if (TimeCurrent()-gdt_TimeSignal >=60)
     {
     //
     }
Motivazione: