[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 138

 
supernyb:

pero para la salida, entiendo que la impresora sólo imprime 4 o menos dígitos.

entonces si Print (DoubleToStr(Startprice,5)); // imprimir Startprice

da 5.

Pero cuando se añade un tiempo de barra

Esta línea no añade el tiempo de la barra?



string name="Pr1_";
string cur_name=name+Time[0];
 
supernyb:


si es así.

no funciona, culpa a '=' - tipos incompatibles C:\fortest\experts\sve.mq4 (34, 14)

¿Cómo lo escribo correctamente?

Gracias por la respuesta, ya llevo una semana trabajando en ello)


Pruébalo así:

 extern int MA_Period = 50;                   //периуд Ма
extern int MA_Method =MODE_SMA;               //Метод усреднения скользящего среднего. Может быть любым из значений методов скользящего среднего (Moving Average):
                              //*MODE_SMA 
                              
 extern int Maximum_History = 0;              //Ограничение истории для расчетов, если 0 то расчет всей истории
 
   
    
                                               //начало кода советника
int start()
{      
    double MA4;                                // Значение МА на 4 баре     
    double Startprice;
  
   MA4=iMA(NULL,0,MA_Period,0,MA_Method,PRICE_CLOSE,4); 
 
   
 if  (Low[4]< MA4 && MA4 < High[4])            //условия если 4-я свеча лежит в скользящей  
     {      
   Startprice=Close[0];
     }
       
   Print (DoubleToStr(Startprice,5));          // распечатаем Startprice
     
      
   datetime TmR1=Time[0];                      // запоминаем время текущего бара? 
   
       ObjectCreate("Rep1"+TmR1,OBJ_ARROW, 0, TmR1, Startprice); // создаем обьект 
       ObjectSet("Rep1", OBJPROP_COLOR, White); // устанавливаем обьект на график
       ObjectSet("Rep1", OBJPROP_ARROWCODE,71); 
      
     return(0); 
 }    
 
supernyb:

pero para la salida, entiendo que la impresora sólo imprime 4 o menos dígitos.

entonces si Print (DoubleToStr(Startprice,5)); // imprimir Startprice

da 5.

Pero cuando se añade un tiempo de barra

Esta línea no añade el tiempo de la barra?


 
Roger:
Muestra cómo tienes a bay_min.


 if (StochM < St_min && StochS < St_min) 
   bay_min = true;
 
r772ra:
if (bay_min == true)   datetime T=Time[0] //сработал сигнал на покупку запоминаем время  бара

if(iBarShift(NULL,0,T)==2) //по времени, сигнал был на 2 баре
   {   
  if (Open[1]<Close[1] && Open[2]<Close[2] )   //и эти бары бычьи 
     { 
    // что-то делаем
     }
   }
   
// я думаю, как-то так.

Gracias, la lógica es clara, pero ha dejado de abrir una operación por completo
проблема в этой строчке
if(iBarShift(NULL,0,T)==2) //по времени, сигнал был на 2 баре
 
Por favor, avisa. Mi indicador ZigZag está sobredimensionado. Dibuja un objeto determinado en el gráfico. Cuando el precio cambia y es necesario eliminar el objeto, el objeto se elimina, pero el valor de la memoria intermedia en el gráfico sigue siendo. ¿Cómo eliminar el valor antiguo también, no sólo del gráfico? ¿Si puedes codificar o mostrar dónde se implementa en el zigzag?
 
Dimka-novitsek:
¿Cómo puedo enseñar al ordenador a realizar esta tarea estrictamente empresarial de los frenos? De lo contrario, la palanca del comprobador de velocidad sólo responde si quiere. El retraso suele ser de 3 a 8 segundos. ¡Mencionando a todas las mujeres malas!
Que tenga un buen día.
 
Dimka-novitsek:
¿Cómo puedo enseñar al ordenador a realizar esta tarea estrictamente empresarial de los frenos? De lo contrario, la palanca del comprobador de velocidad sólo responde si quiere. El retraso suele ser de 3 a 8 segundos. ¡Mencionando a todas las mujeres malas!


Sacar lo mejor de sí mismo
 



Informe de comprobación de la estrategia

subot11
(Construcción 438)

SímboloEURUSD (Euro vs. Dólar)
Periodo1 Hora (H1) 2005.01.24 00:00 - 2012.09.26 23:00 (2005.01.24 - 2012.09.27)
ModeloTodos los ticks (método más preciso basado en todos los plazos más pequeños disponibles)
ParámetrosParámetros=" EA"; lot=1; lot2=1; Magic_Number=68705; yroven=120; pr=50; sp=16; MA_Period=50; Maximum_History=0;

Bares en la historia48438Garrapatas modeladas62876826Calidad de la simulación90.00%
Errores de concordancia de los gráficos0




Depósito inicial10000.00



Beneficio neto7635.00Beneficio total41380.00Pérdida total-33745.00
Rentabilidad1.23Remuneración esperada16.71

Reducción absoluta2271.00Reducción máxima3769.00 (32.78%)Reducción relativa32.78% (3769.00)

Total de operaciones457Posiciones cortas (% de ganancias)0 (0.00%)Posiciones largas (% de ganancias)457 (24.29%)

Operaciones rentables (% del total)111 (24.29%)Operaciones con pérdidas (% del total)346 (75.71%)
El más grandecomercio rentable600.00trato perdedor-150.00
Mediaacuerdo rentable372.79comercio perdedor-97.53
Número máximovictorias continuas (beneficios)5 (2020.00)Pérdidas continuas (pérdida)20 (-2114.00)
MáximoBeneficio continuo (número de victorias)2098.00 (4)Pérdida continua (número de pérdidas)-2114.00 (20)
Mediaganancias continuas2pérdida continua5




He conseguido crear mi propio EA. Lo ejecuté con un margen fijo de 19. Desde 2005. Siempre stop loss. Toma siempre. No utiliza el promedio y el martin. Las posiciones se cierran en el día, es decir, no se trasladan al día siguiente.

Mi programador es pésimo, por decirlo suavemente.

 
artmedia70:

He estado fuera unos días... Me pregunto si los asistentes lanzados sobre el gráfico tienen los mismos parámetros que los asistentes utilizados en los cálculos. ¿Quizá ahí radica el problema?

Por supuesto, tienen los mismos parámetros. Aquí, en modo de prueba, he abierto las propiedades de una determinada MA.

Parámetros MA

artmedia70:

(Todavía no he tenido tiempo de profundizar en el código y desmontarlo).

Está todo escrito de forma muy sencilla, para que cualquiera pueda entenderlo de un vistazo :)

artmedia70:

Yo haría una función, por ejemplo:

//-----------------------------------------------------------------------------+
double ma(int MAperiod, int MAmethod, int MAshift) {return (iMA(Symbol(), Period(), MAperiod, 0, MAmethod, PRICE_OPEN,MAshift));}
//-----------------------------------------------------------------------------+
y lo llamamos para obtener los parámetros


Lo pensé inicialmente cuando escribí todo el Asesor Experto, no este. PERO. iMA ya es una función. Al llamar a la función iMA, puede introducir cualquier parámetro, algunos declarados globalmente y otros por defecto, por ejemplo. La cuestión es que ¿qué sentido tiene llamar a una función desde una función si no tiene ningún sentido?