[ARCHIVO]Cualquier pregunta de novato, para no saturar el foro. Profesionales, no lo dejéis pasar. No puedo ir a ningún sitio sin ti - 5. - página 232

 
Vit1986:

Hice una cuenta de demostración, descargué las cotizaciones (SP500, RTSI, SBER etc). Creé un Asesor Experto trivial. He decidido probarlo. Pero funciona perfectamente en SP500 pero no funciona con SBER o RTSI (abre una orden y luego termina su trabajo) y no muestra ningún mensaje de error.


1) Parece más un script que un EA.

2. Compruebe la cantidad de dinero en la demo después de haber movido veinte lotes.

3. Prueba con OrderSend(Symbol(),OP_BUY,0.1,Ask,3,Bid-MarketInfo(Symbol(),MODE_STOPLEVEL)*Point,Bid+MarketInfo(Symbol(),MODE_STOPLEVEL)*Point);

4. Añade un gestor de errores, al menos una alerta básica (GetLastError());

5. Consulteel manual.

 

También puede ir a lo seguro y especificar los tipos de datos explícitamente:

int cmd = OP_SELL;//торговая операция
double volume = 0.1;//лот
int slippage = 2;//отклонение ордера в пипсах
double stoploss = 0;//лось
double takeprofit = 0;//профит

int start(){
   OrderSend(Symbol(),cmd,volume,Bid,slippage,stoploss,takeprofit); 
  return(0);
}
 
GaNDarM:

¿Por qué las variables se asignan a cero en INIT()? ¿Cuál es el error o cómo asignar los precios de compra y venta a variables fuera de la función start()? He probado a poner RefreshRates(); delante de ellos, pero no hay cambios :(

Este es el código en el indicador init():

init()
{
    Print ("Ask = ", Ask, " | Bid = ", Bid);
}

y aquí está el registro:

2013.03.19 17:49:27     i-PSI@Dash Board EURUSD,M15: Ask = 1.2932 | Bid = 1.293

¿Por qué "lloras"?

 
gyfto:

GaNDarM

La sucursal

gracias
 
TarasBY:

Este es el código en el init() del indicador:

y aquí está el registro:

¿Por qué estás "llorando"?


Estoy "llorando" por ello:

//---Ф-ЦИЯ init()----------------------------------------------------
int init()
  {
   RefreshRates();// обновляем данные по ценам
   UpL  =  Ask;     // Пик вверх изначально равен цене покупки
   DownL  =  Bid;     // Пик вниз изначально равен цене продажи
   Print ("СРАБОТАЛА Ф_ЦИЯ ИНИТ: DownL = ", DownL, " UpL = ", UpL);
   
   SetIndexStyle(0,DRAW_SECTION);     // стиль линии: отрезки между непустыми значениями
   SetIndexBuffer(0,ExtMapBuffer1);     // привязываем массив к номеру буфера
   SetIndexEmptyValue(0,0.0);     // указываем при каком значении не надо ничего рисовать
   //---
   
   return(0);
  }

y aquí está el registro:

18:25:09 IndikatorZZ GBPJPY,Daily: INIT F_CY: DownL = 0 UpL = 0

 
¿Puedes decirme?
Si hay negociación intradía, ¿significa eso que la operación no se traslada al día siguiente y se ve obligada a cerrar al final del día?
 

Cuántas veces he utilizado el punto automático, pero la primera vez no funciona.

Aquí está Init()

int init()
{
   if (Digits == 2 || Digits == 4)
     pt = Point;
   if (Digits == 1 || Digits == 3 || Digits == 5)
     pt = Point * 10;
 
  return (0);
}

Lo pongo en cualquier lugar de mi programa (en este caso, incluso en el inicio para el experimento):

Print("ptStart = ", pt);
Print("PointStart = ", Point);

La función vuelve al registro:

2013.03.19 19:55:35     2013.01.11 00:00  TradingByLine EURUSD.GI,M5: Point = 0
2013.03.19 19:55:35     2013.01.11 00:00  TradingByLine EURUSD.GI,M5: pt = 0

¿Dónde está la lógica?

 

Hola. ¿Puede decirme, por favor, si el valor " >= " en lugar de " = ". Quito el " <" o " >" y dejando sólo " =" da errores al compilar.

Por ejemplo: mi EA tiene (precio >= MA) y yo quiero (precio = MA).SOLO IGUALDAD

 
artemka_1981:

Hola. ¿Puede decirme, por favor, si el valor " >= " en lugar de " = ". Quito el " <" o " >" y dejando sólo " =" da errores al compilar.

Por ejemplo: mi EA tiene (precio >= MA) y yo quiero (precio = MA).SOLO IGUALDAD

==
 
TarasBY:
==

MUCHAS GRACIAS