void OnStart()
{
//---
string my_gann="OBJ_GANNFAN object";
if(ObjectFind(0,my_gann)<0)// Objet non trouvé
{
//--- Information sur l'échec
Print("Objet ",my_gann," non trouvé. Code d'erreur = ",GetLastError());
//--- Récupère le prix maximal du graphique
double chart_max_price=ChartGetDouble(0,CHART_PRICE_MAX,0);
//--- Récupère le prix minimal du graphique
double chart_min_price=ChartGetDouble(0,CHART_PRICE_MIN,0);
//--- Combien de barres sont affichées sur le graphique ?
int bars_on_chart=ChartGetInteger(0,CHART_VISIBLE_BARS);
//--- Crée un tableau pour écrire l'heure d'ouverture de chaque barre
datetime Time[];
//--- Définit le tableau en tant que timeseries
ArraySetAsSeries(Time,true);
//--- Copie maintenant les données des barres visibles dans le graphique dans ce tableau
int times=CopyTime(NULL,0,0,bars_on_chart,Time);
if(times<=0)
{
Print("Impossible de copier le tableau des heures d'ouverture !");
return;
}
//--- Fin des préparations préliminaires
//--- Indice de la barre centrale du graphique
int center_bar=bars_on_chart/2;
//--- Equateur du graphique - entre le maximum et le minimum
double mean=(chart_max_price+chart_min_price)/2.0;
//--- Définit les coordonnées du premier point d'ancrage au centre
ObjectCreate(0,my_gann,OBJ_GANNFAN,0,Time[center_bar],mean,
//--- Deuxième point d'ancrage à droite
Time[center_bar/2],(mean+chart_min_price)/2.0);
Print("Heure[center_bar] = "+(string)Time[center_bar]+" Heure[center_bar/2] = "+(string)Time[center_bar/2]);
//Print("Heure[center_bar]/="+Time[center_bar]+" HEure[center_bar/2]="+Time[center_bar/2]);
//--- Définit l'échelle en Pips / Barre
ObjectSetDouble(0,my_gann,OBJPROP_SCALE,10);
//--- Définit la ligne de tendance
ObjectSetInteger(0,my_gann,OBJPROP_DIRECTION,GANN_UP_TREND);
//--- Définit la largeur de ligne
ObjectSetInteger(0,my_gann,OBJPROP_WIDTH,1);
//--- Définit le style de ligne
ObjectSetInteger(0,my_gann,OBJPROP_STYLE,STYLE_DASHDOT);
//--- Définit la couleur de ligne
ObjectSetInteger(0,my_gann,OBJPROP_COLOR,clrYellowGreen);
//--- Permet à l'utilisateur de sélectionner un objet
ObjectSetInteger(0,my_gann,OBJPROP_SELECTABLE,true);
//--- Le sélectionne
ObjectSetInteger(0,my_gann,OBJPROP_SELECTED,true);
//--- Le dessine sur le graphique
ChartRedraw(0);
}
}
|