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

 

Come faccio a memorizzare la mia barra degli indici? Quando appaiono nuove barre, l'indice cambia. Per esempio: si è verificato un attraversamento d'onda, la prossima barra sarà una barra zero. Ho bisogno di memorizzare il valore dell'onda su questa barra e usarlo nei calcoli dell'indicatore sulle barre seguenti. Come si inizializza questo indice? O come farlo?

 
david2:

Come si memorizza una barra di indice?

 datetime Time_bar;// в глобальных переменных


//запоминаем бар по времени открытия
 if(...пересечение машек...) Time_bar=Time[0];
 

// определяем индекс бара в любой момент
int bar=-1;
for(int i=0;i<1000;i++){
    if(Time[i]==Time_bar) { bar=i;break; }                   
                        }
 
KONDOR:

Grazie mille, proverò così.
 
Potete consigliare se esiste un traduttore da C o C++ a MQL4? Voglio dire, sarebbe più conveniente per me scriverlo in C e poi tradurlo?
 
-xlapex-:

Ho provato questo, il risultato è lo stesso: zero.

int start() {

int mas2[10][2],min_1,min_2,min_V1,min_V2;


for(int i=1;i<Q_Bars;i++)
{
min_1 =ArrayMinimum(Volume, Q_Bars,1); //определяем индекс бара с минимальным объемом
min_V1=iVolume(0,0,min_1); //величина этого объема

mas2[i,0]=Volume[i]; //заполняем 1-ю часть двумерного массива объемами
mas2[i,1]=i; //вторую часть - соответствующими им индексами
}
ArraySort(mas2); //сортируем по величине объемов
min_V2=mas2[2,0]; //определяем второй после минимального объем
min_2=mas2[2,1]; //соответствующий ему индекс бара

H1= NormalizeDouble(High[min_2],4); //нормализуем level по знакам после запятой
create_line("", H1, Ex_col_2, 0, 2); //пытаемся нарисовать линию

return(0); //Bывод: ничего не рисуется, что еще ему надо - ????
}
//--------------------------------------------------------------------
void create_line(string name_line,double level,color c,int style,int w)
{
ObjectCreate(name_line, OBJ_HLINE, 0, 0,0);
ObjectSet(name_line, OBJPROP_PRICE1, level);
ObjectSet(name_line, OBJPROP_COLOR, c);
ObjectSet(name_line, OBJPROP_STYLE, style);
ObjectSet(name_line, OBJPROP_WIDTH, w);

}



E perché il nome dell'oggetto è vuoto? Scrivere qualcosa: "Object_name" invece di "" quando si chiama create_line("", H1, Ex_col_2, 0, 2 );


 
artmedia70:

Grazie, ho già fatto tutto.
 

GBPUSD non si apre

int start()
{
OrderSend("GBPUSD",OP_SELL,0.1,Ask,0,Ask+400*Point,Ask-100*Point);
Alert GetLastError();
return()

}

e alla compilazione genera errori relativi a Alert GetLastError();

Può essere che i 100 punti del broker siano troppo vicini (5 cifre al broker)?

 
Danil93:

GBPUSD non si apre

int start()
{
OrderSend("GBPUSD",OP_SELL,0.1,Ask,0,Ask+400*Point,Ask-100*Point);
Allarme GetLastError();
ritorno();

}

e al momento della compilazione ottengo errori relativi all'avviso GetLastError();

Potrebbe essere che i 100 pips del broker siano troppo vicini (5 cifre al broker)?


Forse, perché a 4 cifre è solo 10ppt. Metti almeno 101 invece di 100 e controlla.
 
Ciao a tutti. Puoi dirmi se il tester tiene conto degli swap? Perché i miei profitti su alcune coppie si stanno sciogliendo in modo sospetto (soprattutto sui trade che resistono a lungo).
 
Danil93:

GBPUSD non si apre


e durante la compilazione scrive gli errori relativi a Alert GetLastError();

potrebbe essere che i 100 pips del broker sono troppo vicini (5 cifre al broker)?


int start()
{
  OrderSend("GBPUSD",OP_SELL,0.1,Ask,0,Ask+400*Point,Ask-100*Point);
  Alert(GetLastError());
  return();

}
Motivazione: