[Archive] Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Je ne peux aller nulle part sans toi - 2. - page 350

 

Comment puis-je mémoriser ma barre d'index ? Lorsque de nouvelles barres apparaissent, l'indice change. Par exemple : un croisement de vague s'est produit, la barre suivante sera une barre zéro. Je dois mémoriser la valeur de la vague sur cette barre et l'utiliser dans les calculs de l'indicateur sur les barres suivantes. Comment initialiser cet index ? Ou comment le faire ?

 
david2:

Comment mémoriser une barre d'index ?

 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:

Merci beaucoup, je vais essayer de cette façon.
 
Pouvez-vous nous dire s'il existe un traducteur de C ou C++ vers MQL4 ? Je veux dire qu'il serait plus pratique pour moi de l'écrire en C et de le traduire ensuite ?
 
-xlapex-:

J'ai essayé, le résultat est le même : zéro.

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);

}



Et pourquoi le nom de l'objet est-il vide ? Écrire quelque chose : "Nom_objet" au lieu de "" lors de l'appel de create_line("", H1, Ex_col_2, 0, 2 ) ;


 
artmedia70:

Merci, j'ai déjà tout fait.
 

La paire GBPUSD ne s'ouvre pas

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

}

et à la compilation il génère des erreurs relatives à Alert GetLastError() ;

Se pourrait-il que les 100 points du courtier soient trop proches (5 chiffres chez le courtier) ?

 
Danil93:

La paire GBPUSD ne s'ouvre pas

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

}

et au moment de la compilation, je reçois des erreurs liées à Alert GetLastError() ;

Se pourrait-il que les 100 pips du courtier soient trop proches (5 chiffres chez le courtier) ?


Peut-être, parce qu'à 4 chiffres, c'est seulement 10ppt. Mettez au moins 101 au lieu de 100 et vérifiez.
 
Bonjour à tous. Pouvez-vous me dire si le testeur prend en compte les swaps ? Parce que mes bénéfices sur certaines paires fondent de façon suspecte (surtout sur les transactions qui s'éternisent).
 
Danil93:

La paire GBPUSD ne s'ouvre pas


et lors de la compilation, il écrit les erreurs liées à Alert GetLastError() ;

se pourrait-il que les 100 pips du courtier soient trop proches (5 chiffres chez le courtier) ?


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

}