neonobblu: Por favor, aconséjeme. Me he conectado a la señal y por tanto copio sus órdenes abiertas, ¿puedo cambiar el volumen de lote que negocia? ¿Cómo puedo cambiar el volumen del pedido?
Trabajo con arrays - necesito escribir la hora de llegada del tick en el array - por ejemplo, escribo una oferta. En cada garrapata. Lo hago todo según las entradas, por lo que estoy agradecido a Artyom Trishkin. No todo funciona. Lucha por el segundo día. Imprime
Veo que en la variable init SIZE es 0, entonces ¿cuál es el tamaño del array? Entonces de nuevo en el inicio SIZE es también 0 ... ¿Qué hay en el registro?
Artyom Trishkin: Veo que en el init la variable SIZE tiene un valor de 0, entonces ¿cuál es el tamaño del array? Entonces de nuevo en el inicio SIZE es también 0 ... ¿Qué hay en el registro?
Hay algo que no entiendo: SIZE es cero, así que ¿por qué debo cambiar primero el tamaño del array y luego aumentar SIZE? Qué lío...
Una vez hice un relleno de array con ticks para un Expert Advisor de ticks, que define la intensidad y el rango de los ticks. He recortado piezas a modo de ejemplo:
//+------------------------------------------------------------------+//| Expert tick function |//+------------------------------------------------------------------+voidOnTick()
{
//---//--- Запись ID графика
gv_chart_id_name=Prefix+"_chart_id"; // имя GV терминалаlong chart_id=get.GetChartID(symbol); // id текущего графикаdouble chart_id_double=ToDouble(chart_id); // id в представлении doubleif(chart_id>=0) { // chart_id==0 в тестереif(!GlobalVariableCheck(gv_chart_id_name)) // Если GV-переменная удаленаGlobalVariableSet(gv_chart_id_name,chart_id_double); // создадим опять
}
else graph.Message("Чё-та нету chart_id : Symbol()="+symbol+", chart_id="+IntegerToString(chart_id));
//--- работа с тиками текущего графикаif(SymbolInfoTick(symbol,struct_tick)) {
double tick_bid=struct_tick.bid;
datetime tick_time=struct_tick.time;
WorkOnTick(symbol,tick_bid,tick_time,slowPeriod);
}
//---
}
//+------------------------------------------------------------------+
La función siguiente organiza el trabajo con el símbolo deseado almacenado en la variable de símbolo, si necesita trabajar con otro símbolo - escríbalo allí. La función FillArrays() sólo rellena arrays.
//+------------------------------------------------------------------+void WorkOnTick(string sy, double symbol_bid, datetime symbol_time, int limit) {
long chart_id=get.GetChartID(sy);
int index_symbol=get.PositionsSymbolInList(sy); // позиция символа в спискеdouble pt=SymbolInfoDouble(sy,SYMBOL_POINT);
double pa=SymbolInfoDouble(sy,SYMBOL_ASK);
double pb=SymbolInfoDouble(sy,SYMBOL_BID);
int stoplevel=(int)MarketInfo(sy,MODE_STOPLEVEL);
int dg=(int)SymbolInfoInteger(sy,SYMBOL_DIGITS);
//--- заполним массивы
FillArrays(sy,symbol_bid,symbol_time,table_price,table_time);
//--- расчёт среднего изменения цен тиковdouble avg_change_price=AverageChangePrice(index_symbol,limit,slowPeriod,table_price);
//--- вывод информации на график
wtf(index_symbol,avg_change_price,slowPeriod,table_price,table_time);
return;
Trailing(sy, 50, 3, magic);
}
//+------------------------------------------------------------------+
Necesitaba llenar las matrices con ticks de esta manera:
//+------------------------------------------------------------------+void FillArrays(string sy, double price, datetime time, double &mass_price[][], datetime &mass_time[][]) {
//--- сместим данные в массивах влевоint index_symbol=get.PositionsSymbolInList(sy); // позиция символа в спискеfor(int i=99; i>0; i--) { // сместим данные в массивах влево
mass_price[index_symbol][i]=mass_price[index_symbol][i-1];
mass_time[index_symbol][i]=mass_time[index_symbol][i-1];
}
//--- запишем товый тик в массивы
mass_price[index_symbol][0]=price;
mass_time[index_symbol][0]=time;
}
//+------------------------------------------------------------------+
No lo entiendo - el TAMAÑO es cero, así que ¿por qué cambiar el tamaño de la matriz primero y luego aumentar el TAMAÑO? Qué lío...
Una vez hice un llenado de array con ticks para un asesor de ticking, que determina la intensidad y propagación de los ticks. He recortado piezas a modo de ejemplo:
La función siguiente organiza el trabajo con el símbolo deseado almacenado en la variable de símbolo, si necesita trabajar con otro símbolo - escríbalo allí. La función FillArrays() sólo rellena arrays.
Necesitaba llenar las matrices con ticks de esta manera:
Necesito una tasa media de 1 tick/in 1 seg en n - ticks. Es decir, n-ticks se reciben en k-segundos, k/n se reciben en ticks por segundo. Esta velocidad debe medirse en cada tic que llega. Cambiará con cada tilde posterior.
Por favor, aconséjeme. Me he conectado a la señal y por tanto copio sus órdenes abiertas, ¿puedo cambiar el volumen de lote que negocia? ¿Cómo puedo cambiar el volumen del pedido?
En la cuenta del Proveedor todas las operaciones se ejecutan con un volumen de 0,1 lotes. Quiero que me copien estas operaciones con un volumen mayor, por ejemplo, 0,3 lotes. ¿Puedo aumentar el volumen manualmente?
¿Puedo crear reglas para copiar las operaciones del proveedor en las del suscriptor?
Mira, en el cuatro, parece que no puedo pasar...
Trabajo con arrays - necesito escribir la hora de llegada del tick en el array - por ejemplo, escribo una oferta. En cada garrapata. Lo hago todo según las entradas, por lo que estoy agradecido a Artyom Trishkin . No todo funciona. Lucha por el segundo día. Imprime
ceros.
https://www.mql5.com/ru/forum/145455/page913#1017464
Gracias.
Veo que en el init la variable SIZE tiene un valor de 0, entonces ¿cuál es el tamaño del array? Entonces de nuevo en el inicio SIZE es también 0 ... ¿Qué hay en el registro?
Y también los ceros... No entiendo nada...
En la cuenta del Proveedor todas las operaciones se ejecutan con un volumen de 0,1 lotes. Quiero que me copien estas operaciones con un volumen mayor, por ejemplo, 0,3 lotes. ¿Puedo aumentar el volumen por mí mismo?
¿Puedo crear mis propias reglas para copiar las operaciones del símbolo del proveedor al símbolo del suscriptor?
Y también los ceros... No entiendo nada...
Bueno, he insinuado que primero hay que aumentar SIZE para que sea distinto de cero, y sólo entonces cambiar el tamaño de la matriz.
:-)
Gracias.
Funciona: úsalo si lo necesitas.
:-)
Spc.
Funciona: úsalo si lo necesitas.
Hay algo que no entiendo: SIZE es cero, así que ¿por qué debo cambiar primero el tamaño del array y luego aumentar SIZE? Qué lío...
Una vez hice un relleno de array con ticks para un Expert Advisor de ticks, que define la intensidad y el rango de los ticks. He recortado piezas a modo de ejemplo:
La función siguiente organiza el trabajo con el símbolo deseado almacenado en la variable de símbolo, si necesita trabajar con otro símbolo - escríbalo allí. La función FillArrays() sólo rellena arrays.
Necesitaba llenar las matrices con ticks de esta manera:
No lo entiendo - el TAMAÑO es cero, así que ¿por qué cambiar el tamaño de la matriz primero y luego aumentar el TAMAÑO? Qué lío...
Una vez hice un llenado de array con ticks para un asesor de ticking, que determina la intensidad y propagación de los ticks. He recortado piezas a modo de ejemplo:
La función siguiente organiza el trabajo con el símbolo deseado almacenado en la variable de símbolo, si necesita trabajar con otro símbolo - escríbalo allí. La función FillArrays() sólo rellena arrays.
Necesitaba llenar las matrices con ticks de esta manera:
Necesito una tasa media de 1 tick/in 1 seg en n - ticks. Es decir, n-ticks se reciben en k-segundos, k/n se reciben en ticks por segundo. Esta velocidad debe medirse en cada tic que llega. Cambiará con cada tilde posterior.
¿Puedes decirme si hay un reloj en mt4? Preferiblemente con una segunda mano.
o tal vez hay un Asesor Experto que mostraría el tiempo en algún lugar en la línea inferior de la terminal