Bueno, tengo un objetivo diferente al de ahorrar dinero.
Tengo EAs en los gráficos, y abrir copias adicionales de windows para operar desde el panel no es lo correcto. Por eso escribí el panel de operaciones en forma de indicador: puedes poner muchos en un solo gráfico.
Este es un pequeño extracto, el código está un poco truncado, pero la lógica es clara:
Indicador
// Открыть позиции// Открыть позицию Buyif(sparam==prefix+"_openBuy") {
BroadcastEvent(gMagic,edLots,_symbol);
ObjectSetInteger(0,prefix+"_openBuy",OBJPROP_STATE,false);
ChartRedraw();
}
// Открыть позицию Sellif(sparam==prefix+"_openSell") {
BroadcastEvent(gMagic,edLots,_symbol);
ObjectSetInteger(0,prefix+"_openSell",OBJPROP_STATE,false);
ChartRedraw();
}
//===============================================================================================//------------------ Функция посылает сообщение всем открытым графикам -------------------------+//===============================================================================================void BroadcastEvent(long lparam,double dparam,string sparam) {
ushort eventID=9784-CHARTEVENT_CUSTOM;
long currChart=ChartFirst();
int i=0;
while(i<CHARTS_MAX) // у нас наверняка не больше CHARTS_MAX открытых графиков
{
EventChartCustom(currChart,eventID,lparam,dparam,sparam);
currChart=ChartNext(currChart); // на основании предыдущего получим новый график if(currChart==-1) break; // достигли конца списка графиков
i++; // не забудем увеличить счетчик
}
}
Sí, también estaba pensando en hacer que el EA escriba el ChartID de mi gráfico en una variable global del terminal, entonces todos los indicadores saben a dónde enviar el evento. Spot sin BroadcastEvent.
Aleksei Stepanenko: Sí, estoy pensando en escribir el ChartID de mi gráfico en la variable global de la terminal, entonces todos los indicadores saben dónde enviar el evento. Spot sin BroadcastEvent.
Glob.variable es el mismo archivo, el terminal trabaja mucho con él y mata el disco, y no sirve para comprobarlo de forma estática, es el mismo ciclo pero de perfil :)
Glob.variable es el mismo archivo, el terminal trabaja mucho con él y mata el disco, y no sirve para comprobarlo de forma estática, es el mismo ciclo pero de perfil :)
No, no. Una vez al inicio del Asesor Experto, escribe el número de su gráfico en la variable global. Entonces una vez al inicio el indicador lee esta variable, y cada vez que se crea el objeto, envía el evento sólo al gráfico con el EA.
Glob.variable es el mismo archivo, el terminal trabaja mucho con él y mata el disco, y no es razonable comprobarlo de forma estática, es el mismo ciclo, pero de perfil :)
el mismo archivo si lo vacía a la fuerza, de lo contrario la ram funciona en su mayoría
En general, un transmisor normal entre EAs/indicadores funcionaría:
no es normal, por 8 bytes cada uno, estará cansado de transferir algo
aunque funcionará -@fxsaber hizo un bibloo, parece que TypeToByte utiliza para intercambiar estructuras más complejas
ZS: ¿cómo manejar las colisiones? - en mi opinión, todos los caminos conducen a la base de datos en el intercambio de datos, el 90% del trabajo está hecho para usted y muy cualitativamente
Para iniciar sesión y usar el sitio web MQL5.com es necesario permitir el uso de Сookies.
Por favor, active este ajuste en su navegador, de lo contrario, no podrá iniciar sesión.
Ha iniciado sesión. La autenticación de dos factores se ha desactivado. Vuelva a configurarla y escanee un nuevo código QR, o continúe con la autenticación de dos factores desactivada.
Bueno, tengo un objetivo diferente al de ahorrar dinero.
Tengo EAs en los gráficos, y abrir copias adicionales de windows para operar desde el panel no es lo correcto. Por eso escribí el panel de operaciones en forma de indicador: puedes poner muchos en un solo gráfico.
Este es un pequeño extracto, el código está un poco truncado, pero la lógica es clara:
Indicador
Asesor experto
¿Dónde está el indicador? Por favor, adjúntalo aquí para no tener que vagar por los hilos del foro.
Sí, estoy pensando en escribir el ChartID de mi gráfico en la variable global de la terminal, entonces todos los indicadores saben dónde enviar el evento. Spot sin BroadcastEvent.
Glob.variable es el mismo archivo, el terminal trabaja mucho con él y mata el disco, y no sirve para comprobarlo de forma estática, es el mismo ciclo pero de perfil :)
indicador
indicador
En todo caso, tomado de aquí
Glob.variable es el mismo archivo, el terminal trabaja mucho con él y mata el disco, y no sirve para comprobarlo de forma estática, es el mismo ciclo pero de perfil :)
Glob.variable es el mismo archivo, el terminal trabaja mucho con él y mata el disco, y no es razonable comprobarlo de forma estática, es el mismo ciclo, pero de perfil :)
el mismo archivo si lo vacía a la fuerza, de lo contrario la ram funciona en su mayoría
Generalmente un transmisor normal entre EAs/indicadores resulta ser
receptor:
transmisor:
No hay carga en el procesador.
En general, un transmisor normal entre EAs/indicadores funcionaría:
no es normal, por 8 bytes cada uno, estará cansado de transferir algo
aunque funcionará -@fxsaber hizo un bibloo, parece que TypeToByte utiliza para intercambiar estructuras más complejas
ZS: ¿cómo manejar las colisiones? - en mi opinión, todos los caminos conducen a la base de datos en el intercambio de datos, el 90% del trabajo está hecho para usted y muy cualitativamente