[¡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 228

 
alsu >> :

porque iHighest sólo funciona con series temporales. Para otras matrices, el análogo de ArrayMaximum

Así que tendré que hacer problemas con los arrays :( ¡Gracias por la ayuda!

 

¡¡¡Hola!!!

¿Pueden decirme cómo implementar el menú "Parámetros" en los indicadores personalizados cuando los llaman?

Quiero decir que sé cómo crear variables externas e introducir sus valores en el menú "Parámetros de entrada", pero quiero crear un menú igual que en los indicadores específicos con sustitución de variables y explicaciones rusas de qué valor introducimos, no sólo para ver un nombre de variable sin alma y recordar qué número está codificado en el cuerpo del programa (por ejemplo " Aplicar al indicadoraplicar a" en el código del indicador es un número entero que se comprueba al cambiar de condición, y elegimos de una lista "abrir, cerrar, etc..д")...

 

Hola, ayuda por favor no puedo entender... Tengo un EA que funciona con señales de oscilador, abre posiciones después de cruzar el cero. Quiero que abra una posición cuando la barra actual se haya cerrado y la señal se haya formado. Puede abrir y cerrar una posición varias veces en un minuto :) Hasta que la señal se ajuste.

Aquí está el código:


extern double Lot = 0.1;
extern double Per = 14;
bool gi_84 = TRUE;
int gi_88 = 366;
double gd_92 = 0.02;
double gd_100 = 0.2;
int g_period_108 = 14;
int gi_112 = 50;
int g_slippage_116 = 0;



void start() {
int l_cmd_52;
int l_ticket_56;

string l_symbol_0 = Symbol();
double l_isar_8 = iCustom(NULL,0, "daytrend-t01",Per,0,0);
double l_isar_9 = iCustom(NULL,5, "daytrend-t01",Per,0,0);
int l_cmd_40 = -1;
int l_ord_total_44 = OrdersTotal();
Lot = MathMax(Lot, MarketInfo(l_symbol_0, MODE_MINLOT))
¡for (int li_48 = l_ord_total_44; li_48 > 0; li_48--) {
if (OrderSelect(li_48 - 1, SELECT_BY_POS) == TRUE) {
l_cmd_52 = OrderType();
if (OrderSymbol() != l_symbol_0 || l_cmd_52 < OP_BUY | l_cmd_52 > OP_SELL) continue;
l_ticket_56 = OrderTicket();
RefreshRates();
if (l_cmd_52 < OP_SELL) {
if (l_isar_8 > 0) {
while (OrderClose(l_ticket_56, Lot, Bid, g_slippage_116) == 0) FunError(gi_112);
l_cmd_40 = -1;
continue;
}
} else {
if (l_isar_8 < 0 ) {
while (OrderClose(l_ticket_56, Lot, Ask, g_slippage_116) == 0) FunError(gi_112);
l_cmd_40 = -1;
continue;
}
}
l_cmd_40 = l_cmd_52;
}
}
if (l_cmd_40 < OP_BUY && g_period_108 == 0 || DayOfYear() < gi_88) {
RefreshRates();
if (l_isar_8 < 0 && l_isar_9 < 0 ) while (OrderSend(l_symbol_0, OP_BUY, Lot, Ask, g_slippage_116, 0, 0) == 0) FunError(gi_112);
else
if (l_isar_8 > 0 && l_isar_9 > 0 ) while (OrderSend(l_symbol_0, OP_SELL, Lot, Bid, g_slippage_116, 0, 0) == 0) FunError(gi_112);
}
}

void FunError(int ai_0) {
Sleep(ai_0);
RefreshRates();
}

void deinit() {
}
 
nikkola >> :

Pregunte al autor.

 
TheXpert >> :

Pregunte al autor.

Me gustaría poder encontrarlo :)

 
buenas tardes, descargando el historial desde 1999, aparece este error

2009.09.15 15:49:05	HistoryBase: not enough memory 'USDJPY1' [3231513 bars]
2009.09.15 15:49:05	Memory handler: cannot allocate 142197836 bytes of memory


no hay suficiente memoria, ¿alguien sabe qué tipo de error es este?
 
nikkola >> :

Me gustaría poder encontrarlo :)

Búsquelo, no muestre su código descompilado aquí y espere ayuda gratuita.

 
NEKSUS_ >> :
¿Qué tipo de memoria es, alguien sabe qué tipo de error es en primer lugar?

RAM, no recuerdo cómo solucionarlo, pero reducir la profundidad del historial debería ayudar.

 
TheXpert >> :

>> Búscalo, no muestres tu código descompilado por aquí y esperes ayuda gratuita.

No lo he descompilado, lo he conseguido así...

 
TheXpert >> :

reducir la profundidad de la historia debería ayudar.

Ese es el problema, no se puede, el sistema necesita toda la historia