[Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas votre chemin. Je ne peux aller nulle part sans toi. - page 450

 
remobal писал(а) >>

Qu'est-ce qu'il y a de si drôle, expliquez-moi, s'il vous plaît ?

Il suffit de lire un peu de littérature populaire pour que la question disparaisse. Votre question signifie que vous voulez tout sur un plateau d'argent.

 
Vinin >>:

Достаточно почитать популярную литературу и вопрос сам собой закроется. Ваш вопрос означает что Вам нужно все подать на блюдечке с голубой каемочкой.

Excusez-moi, s'il vous plaît, je lis de la littérature populaire, mais malheureusement je n'y ai pas trouvé non plus la réponse à cette question.

Pourriez-vous donner au moins le titre du livre et le nom de l'auteur ?

Merci beaucoup d'avance !

 
Bonjour, pourriez-vous me dire si j'ai besoin del'oscillateur Awesome dans un scoop, ses paramètres sont constants et il n'a pas besoin d'être prescrit comme une MA ?
 
Doit-il être déclaré et où doit-il être écrit ? Et comment doit-il être mentionné dans l'EA ? Comme AO ou Awesome Oscillator?
 
Farina >>:
Нужно ли его объявлять и в каком месте прописывать? и как на него ссылаться в советнике? как AO или Awesome Oscillator ?
double iAO( string symbol, int timeframe, int shift)
Calcul de l'oscillateur Awesome.
Paramètres :
symbole - Symbole nom du symbole, sur les données duquel l'indicateur sera calculé. NULL signifie le symbole actuel.
cadre temporel - Période. Peut être l'une des périodes du graphique. 0 signifie la période du graphique actuel.
équipe - Index de la valeur obtenue à partir du tampon de l'indicateur (décalage par rapport à la barre actuelle du nombre de périodes en arrière spécifié).
Exemple :
 double val=iAO(NULL, 0, 2) ;

 
merci)
 

Bon après-midi, chers amis.

Confusion dans le code, veuillez indiquer ce qui doit être corrigé.


J'ai trouvé l'indicateur LeManTrend sur ce forum.

Je veux le modifier un peu - ajouter des moyennes mobiles de lissage sur deux lignes dans l'indicateur.

Je prépare les tableaux ma[] et ma2[] dans ce but.


Mais lorsque j'ajoute cet indicateur au graphique, "rien n'est dessiné"...

Quel est le problème ?


//----

string Indicator_Name = "ind1";

int Objs = 0;

//----

#property indicator_separate_window

#property indicator_buffers 4

//----

int Bars.Count = 0;


extern int Min = 13;

extern int Midle = 21;

extern int Max = 34;

extern int PeriodEMA = 3;

//---- Буферы

double ExtMapBuffer1[];

double ExtMapBuffer2[];

double TempBuffer1[];

double TempBuffer2[];

double ma[];

double ma2[];

int method_ma = 0;


//+------------------------------------------------------------------+

//| Custom indicator initialization function |

//+------------------------------------------------------------------+

int init()

{

//---- indicators

IndicatorShortName(Indicator_Name);

int cur = 0;

int st = 23;

//-------------------------------------------

int width = 2;


SetIndexStyle(0, DRAW_LINE, DRAW_LINE, width, Yellow);

SetIndexBuffer(0, ExtMapBuffer1);

SetIndexStyle(1, DRAW_LINE, DRAW_LINE, 2, Blue);

SetIndexBuffer(1, ExtMapBuffer2);

SetIndexBuffer(2, ma);

SetIndexStyle(2, DRAW_LINE, DRAW_LINE, 1, Red);

SetIndexBuffer(3, ma2);

SetIndexStyle(3, DRAW_LINE, DRAW_LINE, 1, Teal);

//----

return(0);

}

//+------------------------------------------------------------------+

//| Custom indicator deinitialization function |

//+------------------------------------------------------------------+

int deinit()

{

//----


//----

return(0);

}

//+------------------------------------------------------------------+

//| Custom indicator iteration function |

//+------------------------------------------------------------------+

int start()

{


int limit;

if (IndicatorCounted()<0) return(-1);

limit=Bars-IndicatorCounted();

if (Bars.Count>0 && limit>Bars.Count)

limit=Bars.Count;

int i = limit;

//----

while(i >= 0)

{

double High1 = iHigh(NULL, 0, iHighest(NULL, 0, MODE_HIGH, Min,i+1));

double High2 = iHigh(NULL, 0, iHighest(NULL, 0, MODE_HIGH, Midle,i+1));

double High3 = iHigh(NULL, 0, iHighest(NULL, 0, MODE_HIGH, Max,i+1));

TempBuffer1[i] = ((High[i]-High1)+(High[i]-High2)+(High[i]-High3));

double Low1 = iLow(NULL, 0, iLowest(NULL, 0, MODE_LOW, Min, i+1));

double Low2 = iLow(NULL, 0, iLowest(NULL, 0, MODE_LOW, Midle, i+1));

double Low3 = iLow(NULL, 0, iLowest(NULL, 0, MODE_LOW, Max, i+1));

TempBuffer2[i] = ((Low1-Low[i])+(Low2-Low[i])+(Low3-Low[i]));

i--;

}

//---- основной цикл

for( i = 0; i < limit; i++)

{

if (PeriodEMA > 0 )

{

ExtMapBuffer1[i] = -iMAOnArray(TempBuffer1,Bars,PeriodEMA,0,MODE_EMA,i);

ExtMapBuffer2[i] = -iMAOnArray(TempBuffer2,Bars,PeriodEMA,0,MODE_EMA,i);

}

else

{

ExtMapBuffer1[i] = TempBuffer1[i];

ExtMapBuffer2[i] = TempBuffer2[i];

}

}


//====================================================================


//--------------------------------------------------------------------


//элементы скользящих средних

for(i = 0; i < limit; i++)

{

ma[i]=iMAOnArray(ExtMapBuffer1,0,8,0,method_ma,i);

ma2[i]=iMAOnArray(ExtMapBuffer2,0,8,0,method_ma,i);

}


//====================================================================

//----

return(0);

}




Vous trouverez ci-joint l'indicateur LeManTrend original.


Dossiers :
 

Les gars, pourquoi est-ce que ça donne une erreur de fermeture, et sur deux terminaux différents...

: Erreur 4107 de OrderClose

: prix invalide 1.48566000 pour la fonction OrderClose

Les trois variantes donnent la même erreur : laquelle d'entre elles est la plus correcte ?

OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet);
OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),3, Violet);
OrderClose(OrderTicket(),OrderLots(),MarketInfo(Symbol(),MODE_BID),3,Violet);

 
T-G писал(а) >>

Les gars, pourquoi est-ce que ça donne une erreur de fermeture, et sur deux terminaux différents...

: Erreur 4107 de OrderClose

: prix invalide 1.48566000 pour la fonction OrderClose

Au fait, laquelle de ces trois options est la bonne ?

Je suppose que je dois présélectionner l'ordre.

 
T-G >>:

Ребята, ну почему дает ошибку закрытия, при чем на двух разных терминалах..

: OrderClose error 4107

: invalid price 1.48566000 for OrderClose function

причем дают одинаковую ошибку все три варианта: и кстати какой из них наиболее правильный?

L'ordre est-il présélectionné ? Car toutes ces fonctions "OrderTicket(),OrderLots(),OrderClosePrice()" ne fonctionnent que lorsque l'ordre est sélectionné par OrderSelect().