[¡AVISO CERRADO!] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen. No puedo ir a ningún sitio sin ti. - página 450

 
remobal писал(а) >>

¿Qué tiene de divertido, por favor, explíquelo?

Basta con leer algo de literatura popular para que la pregunta desaparezca. Tu pregunta significa que quieres todo en bandeja de plata.

 
Vinin >>:

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

Disculpe, por favor, leo literatura popular, pero lamentablemente tampoco he encontrado allí la respuesta a esta pregunta.

¿Le importaría dar al menos el título del libro y el nombre del autor?

Muchas gracias de antemano.

 
Buenas tardes, ¿podría decirme si necesitoel Awesome Oscillator en una primicia, sus parámetros son constantes y no necesita ser prescrito como MA?
 
¿Debe declararse y dónde debe escribirse? ¿Y cómo debe referirse en el EA? ¿Como AO o Awesome Oscillator?
 
Farina >>:
Нужно ли его объявлять и в каком месте прописывать? и как на него ссылаться в советнике? как AO или Awesome Oscillator ?
doble iAO( string symbol, int timeframe, int shift)
Cálculo del oscilador Awesome.
Parámetros:
símbolo - Nombre del símbolo, sobre cuyos datos se calculará el indicador. NULL significa símbolo actual.
marco temporal - Período. Puede ser uno de los períodos del gráfico. 0 significa el período del gráfico actual.
turno - Índice del valor obtenido del búfer del indicador (desplazamiento relativo a la barra actual en el número de períodos especificado hacia atrás).
Ejemplo:
 double val=iAO(NULL, 0, 2);
 
gracias)
 

Buenas tardes amigos.

Confundido en el código, por favor aconsejar lo que necesita ser corregido.


He encontrado el indicador LeManTrend en este foro.

Quiero modificarlo un poco - añadir medias móviles de suavizado en dos líneas en el indicador.

Para ello preparo las matrices ma[] y ma2[].


Pero cuando añado este indicador al gráfico, "no se dibuja nada"...

¿cuál es el problema?


//----

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

}




Se adjunta el indicador LeManTrend original


Archivos adjuntos:
 

Chicos, ¿por qué da un error de cierre, y en dos terminales diferentes...

: Error de OrderClose 4107

Precio no válido 1.48566000 para la función OrderClose

Las tres variantes dan el mismo error: ¿cuál de ellas es más correcta?

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

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

Chicos, ¿por qué da un error de cierre, y en dos terminales diferentes...

: Error de OrderClose 4107

Precio no válido 1.48566000 para la función OrderClose

Por cierto, ¿cuál de las tres opciones es la correcta?

Supongo que tengo que preseleccionar el orden.

 
T-G >>:

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

: OrderClose error 4107

: invalid price 1.48566000 for OrderClose function

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

¿Es la orden preseleccionada? Porque todas estas funciones "OrderTicket(),OrderLots(),OrderClosePrice()" sólo funcionan cuando la orden es seleccionada por OrderSelect().