[ARCHIVO] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. En ninguna parte sin ti - 3. - página 216

 

¡Chicos!

¿Cómo limitar el número de operaciones que el EA puede hacer al mismo tiempo?

¡urgentemente!

Gracias.

if (OrdersTotal()>1 && OrdersTotal()<3) - ?
 

Finalmente descubrí que ObjectGet(nm,OBJPROP_TIME1) ignora la hora del objeto HLine.

¿Puede decirme cómo especificar la hora de creación de HLine para el cálculo?

iHighest(NULL,0,MODE_HIGH,shift,1 )desde la creación deHLine hasta la hora actual?

Leer el hilo sobre las reglas de ordenación de los objetos por su nombre, no se añaden ideas.

 
Operr:

Finalmente descubrí que ObjectGet(nm,OBJPROP_TIME1) ignora la hora del objeto HLine.

¿Puede decirme cómo especificar la hora de creación de HLine para el cálculo?

iHighest(NULL,0,MODE_HIGH,shift,1 )desde la creación deHLine hasta la hora actual?



Utilice las líneas de tendencia horizontales :)
 
Tengo varios EAs operando en diferentes terminales en la misma casa de bolsa. De vez en cuando convergen. Entonces, ¿cuál es la mejor manera de diluir estos EAs?
 
TANKER:
Tengo varios EAs operando en diferentes terminales en la misma casa de bolsa. De vez en cuando convergen. Entonces, ¿cuál es la mejor manera de diluir estos EAs?

La mejor manera de diluir los EA es en la confianza.
 
tara:

Utilice las líneas de tendencia horizontales :)
¡Gracias dos veces amigo! No me lo habría imaginado, y ahora conozco el nuevo tipo de objeto.
 

Por favor, ayúdenme a encontrar la razón por la que al escribir los datos en un archivo exceL, las columnas no se dividen, las cabeceras sólo se escriben en una celda.

Además, el script sólo crea una cabecera de tabla, faltan los valores del pedido en sí.

+------------------------------------------------------------------+
//| script program start function |
//+------------------------------------------------------------------+
int start()
{
//----
string FileName;
int Handle;
int ClOp; // разница между закрытием и открытием в пунктах
int spread;// спред по инструменту
int BarYear;// год
int BarDay; // день недели, 0 - восресенье

spread=MarketInfo(Symbol(),MODE_SPREAD); // запомним спред

// сформируем имя файла, например, EURUSD1440.csv
FileName=Symbol()+Period()+".csv";
//откроем файл с именем FileName (создадим указатель/handle на него)
Handle=FileOpen(FileName,FILE_WRITE | FILE_CSV,";");
if (Handle<1)
{
Print("Не удалось открыть файл, ошибка ",GetLastError());
return;
}

// запишем названия столбцов (создание шапки)
FileWrite(Handle,"Дата","Open","High","Low","Close","Close-Open в пунктах",
"Спред в пунктах","День недели","Год");


for (int index=Bars-1;index>=0;index--)
{
// пропустим бары до 2001 года
if (TimeYear(Time[index])<2001) continue;

// прервем (закончим) цикл, если 2005 год мы прошли весь
if (TimeYear(Time[index])>2005) break;

// Выведем High, Low, Open, Close для бара с индексом index
//Print(High[index]," ",Low[index]," ",Open[index]," "
//,Close[index]," бар=",index);
BarYear=TimeYear(Time[index]);
BarDay=TimeDayOfWeek(Time[index]);
ClOp=Close[index]/Point-Open[index]/Point;
FileWrite(Handle,TimeToStr(Time[index]),Open[index],High[index],Low[index],Close[index],ClOp,spread,BarDay,BarYear);
}


//----


//закроем файл (освободим указатель/handle, чтобы файл можно было
//открыть для редактирования другими программами)
if(Handle>0) FileClose(Handle);


return(0);// работа скрипта завершена
}

 
Suliena:

Por favor, ayúdenme a encontrar la razón por la que al escribir los datos en un archivo exceL, las columnas no se dividen, las cabeceras sólo se escriben en una celda.

Además, el script sólo crea una cabecera de tabla, faltan los valores del pedido en sí.


No lo he probado, creo que se necesitan delimitadores. Espacio, tabulación, barra, etc. Si lo haces a través de un archivo de texto, los delimitadores son imprescindibles.

 
smartemiy:

¡Chicos!

¿Cómo limitar el número de operaciones que el EA puede hacer al mismo tiempo?

¡urgentemente!

Gracias.

NumberOrd es una función que cuenta el número de órdenes abiertas.

if (NumberOrd()>3) return(0); - esta será la entrada correcta para limitar el número de operaciones abiertas al mismo tiempo ?

¡No quiero que se vea como en la foto!

Gracias de antemano.

¡Que tengas un buen intercambio!

 
smartemiy:

NumberOrd es una función que cuenta el número de órdenes abiertas.

if (NumberOrd()>3) return(0); - ¿será correcta esta entrada para limitar el número de operaciones introducidas al mismo tiempo?

¡No quiero que se vea como en la foto!

Gracias de antemano.

¡Que tengas un buen intercambio!

Razón de la queja: