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

 
Come faccio a trovare il massimo più piccolo di una candela in un dato periodo di barra?
 
savage_pinguin:
Come posso trovare il massimo più piccolo di una candela in un dato periodo di barra?


Prova questo

bar=iLowest(NULL,0,MODE_HIGH,10,10);

 
alsu:

Si prega di notare.

1) La condizione "linea1[1]>linea2[1]" non è sufficiente per il segnale "due linee che si incrociano". Надо "линия1[1]>линия2[1]&&линия1[2]<линия2[2]"

2) La parabolica non deve essere confrontata con Open, ma con High e Low. Si noti che la si calcola sulla barra zero e si prende Open[1] dalla prima barra.

Grazie per l'attenzione alle mie domande. Ho fatto quello che mi hai consigliato. Ma ora l'EA ha smesso di fare trading del tutto. Forse ho capito male e ho sbagliato qualcosa, o ci sono altri errori nel codice?

Al momento il codice si presenta così:

//+-------------------------------------------------------------------------------------+
//| Расчет значений технических индикаторов с формированием сигналов для позиций        |
//+-------------------------------------------------------------------------------------+
void GetSignal()
{
 Signal = 0;
// - 1 - == Получение значений индикаторов ==============================================
 double SAR = iSAR(Symbol(), 0, SARStep, SARMaximum, 0);
 double EnvUp = iEnvelopes(Symbol(), 0, EnvPeriod, EnvMethod, EnvShift, EnvPrice,
 EnvDeviation, MODE_UPPER, 1);
 double EnvDn = iEnvelopes(Symbol(), 0, EnvPeriod, EnvMethod, EnvShift, EnvPrice,
 EnvDeviation, MODE_LOWER, 1);
 double StochM = iStochastic(Symbol(), 0, StochK, StochD, StochSlowing, StochMethod,
 StochPrice, MODE_MAIN, 1);
 double StochS = iStochastic(Symbol(), 0, StochK, StochD, StochSlowing, StochMethod,
 StochPrice, MODE_SIGNAL, 1);
// - 1 - == Окончание блока =============================================================

// - 2 - == Генерация сигнала ===========================================================
 if (SAR < Low[1])
   {
    Signal = 3;                                                          // Закрытие SELL
    if (StochM > StochS && StochM < StochS && StochM >= 80 &&
    StochS >= 80 && High[1] >= EnvUp && SAR < High[1])
      Signal = 1;                                                         // Открытие BUY
   }   
 
 if (SAR > High[1])
   {
    Signal = 4;                                                           // Закрытие BUY
    if (StochM < StochS && StochM > StochS &&  StochM <= 20 &&
    StochS <= 20 && Low[1] <= EnvDn && SAR > Low[1])
      Signal = 2;                                                        // Открытие SELL
   }   
// - 2 - == Окончание блока =============================================================
}

Per favore aiutatemi a capirlo, voglio davvero fare questo commercio EA.

Edit: Una grande richiesta: se è possibile, per favore forma la tua risposta in un codice.
Non dimenticate che sono ancora un completo "manichino" nella programmazione... Non voglio dovertelo chiedere di nuovo.
 

Qualcuno mi spieghi il codice di Ilan 1.4. Voglio dire, voglio cambiarlo un po' per me, ma il codice degli altri non lo capisce affatto. Qualcuno può spiegarmi, almeno blocco per blocco, cosa si fa?

Non ho abbastanza cervello per la realizzazione, conosco MQL4 solo da una settimana.

Se qualcuno può aiutarmi, gliene sarei molto grato, se può scrivere a delit-0202@rambler.ru

E poi, come determinare la tendenza in un EA? Almeno uno generale, forse anche uno di ritardo. Come si potrebbe fare?

 
daytrader19:

Grazie per l'attenzione alle mie domande. Ho fatto quello che mi hai consigliato. Ma ora l'EA ha smesso di fare trading del tutto. Forse ho capito male e ho fatto qualcosa di sbagliato, o ci sono altri errori nel codice?

Al momento il codice si presenta così:

Per favore aiutatemi a capirlo, voglio davvero fare questo commercio EA.

Edit: Una grande richiesta: se è possibile, per favore forma la tua risposta in un codice.
Non dimenticate che sono ancora un completo "manichino" nella programmazione... Non voglio dovertelo chiedere di nuovo.

Come può commerciare se questo

 StochM < StochS && StochM > StochS

È una condizione ovviamente impossibile da soddisfare? È necessario calcolare i valori stocastici sulla prima e sulla seconda barra.

 double StochM1 = iStochastic(Symbol(), 0, StochK, StochD, StochSlowing, StochMethod,
 StochPrice, MODE_MAIN, 1);
 double StochS1 = iStochastic(Symbol(), 0, StochK, StochD, StochSlowing, StochMethod,
 StochPrice, MODE_SIGNAL, 1);
 double StochM2 = iStochastic(Symbol(), 0, StochK, StochD, StochSlowing, StochMethod,
 StochPrice, MODE_MAIN, 2);
 double StochS2 = iStochastic(Symbol(), 0, StochK, StochD, StochSlowing, StochMethod,
 StochPrice, MODE_SIGNAL, 2);

if( StochM1 < StochS1 && StochM2 > StochS2 ...
 

Se non vi dispiace, vorrei chiarire ancora una cosa. Ho capito il mio errore con lo stocastico, ma che dire degli altri indicatori? Nessun errore nell'uso di Envelope e Parabolic? Dovrei averne un po')). Si prega di guardare sia l'apertura che la chiusura.

E grazie per l'ultima build di MT5, l'ho già scaricata.

 

Qualcuno qui ha appena chiesto come cambiare il contenuto del testo. Il post è scomparso mentre rispondevo. Solo nel caso in cui qualcuno ne abbia bisogno.

//+------------------------------------------------------------------+
//| script program start function                                    |
//+------------------------------------------------------------------+
int start(){

   ObjectCreate("1",OBJ_TEXT,0,Time[0],Open[0]);
   ObjectSet("1",OBJPROP_FONTSIZE,16);
   ObjectSet("1",OBJPROP_COLOR,Red);
   if(!ObjectSetText("1","Пример создания нового текста",16,"Verdana",Red)){
    Alert("Ошибка № ",GetLastError()," при изменении описания текста");
   }

  return(0);
}
//+------------------------------------------------------------------+ 
 

Non ricevo un testo...

ObjectSetText(name,buf1[i]/buf2[i]*100,6,"Arial",C'0,33,0');
ошибка 4062
 
eddy:

Non ricevo un testo...


buf1[i]/buf2[i]*100 - il secondo parametro di questa funzione dovrebbe essere una stringa. Leggi i parametri qui - bool ObjectSetText(string name, string text, int font_size, string font_name=NULL, color text_color=CLR_NONE)
 
Come faccio a trasformare un int in una stringa, oltre a scrivere stringa text=int_peremennaya
Motivazione: