Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. En ninguna parte sin ti - 6. - página 438

 
Zver4991:

No puedo entender cuál es mi error de nuevo

No quiero hacerlo. No quiero hasta que me digas en ruso cuál es el problema.
 
tara:

¿Su código es especialmente secreto o le da pereza publicarlo?

El error está en él, no en el entorno, en mi opinión.



double p1;
int p;

bool Х;// о.зарылся по СТОПУ
bool N;// значение Х1 не меняется
bool N1;//значение Х не меняется 
int ot;

int pY2;
int pY3;

int start()  
 {
int pY=Bars;    //  ЕСЛИ ОСТАВИТЬ ТОЛЬКО ЛЮБУЮ ОДНУ ИЗ ПЕРЕМЕННЫХ pY ИЛЛИ pY1,(и соответственно изменить некоторые дальнейшие строки)ТО ПРОГРАММА КОРРЕКТНО РАБОТАЕТ В СООТВЕТСТВИИ С ЗАМЫСЛОМ.
int p=pY%3337; //А КОГДА ПЕРЕМЕННЫЙ 2 ,ТО УПРАВЛЕНИЕ В ЭТИ ПЕРЕМЕННЫЕ И ДАЛЕЕ ПОПАДАЕТ ПОЧЕМУ-ТО НЕ НА КАЖДОЙ СВЕЧЕ КРАТНОЙ  3337 и 3204,А ПО НЕПОНЯТНОМУ МНЕ АЛГОРИТМУ

int pY1=Bars+239;
int p2=pY1%3204;         //ОСТАТОК ОТ ДЕЛЕНИЯ
          
ot = OrdersTotal(); 
if (ot>0)               
 {              
   if (OrderSelect (ot-1,SELECT_BY_POS))                
      if ( OrderType ()==OP_SELL||OrderType ()==OP_BUY)                 
        int last = iBarShift (Symbol (),0,OrderOpenTime () );   
 }
if ( p2<1||p<1)        

{                           // СЮДА УПРАВЛЕНИЕ ДОЛЖНО ПОПАДАТЬ НА КАЖДОЙ ОЧЕРЕДНОЙ СВЕЧЕ ТФ 5 МИН КРАТНОЙ 3204 ИЛИ 3337 НО ПОПАДАЕТ НЕ НА КАЖДОЙ ОЧЕРЕДНОЙ СВЕЧЕ ТФ 5 МИН.
p1=Open[0];//нужно привести ключи в исходное положение
 N=true;
 N1=true;
 
}
//---------------------------------------------------------------
if(p1 - Bid >=1500*Point && N==true)   
{
Х= false;                            
N1= false;                                    


}
//---------------------------------------------------------------                                    
if(Bid - p1  >=300*Point && N1==true)    

N = false;            

//---------------------------------------------------------------
if(ot==0||last>0
&& p2<1||p<1
&&Х== false)
{
OrderSend(Symbol(),OP_BUY,0.1,Ask,1,Bid-1500*Point,Bid+300*Point,"jfh",1 );                                    
Х=true;                                   
N=true;
N1=true;

}
                           
return(0);
}
 
solnce600:



Me refiero a todo el código.
 
tara:

Me refiero a todo el código.

Eso es todo... no hay nada más.

Se trata de abrir una orden

- en un múltiplo de 3337 o 3204

- en un múltiplo de vela de 3337 o 3204 PERO SÓLO después de un STOP LOSS"virtual"

NOTA: la segunda vela está "virtualmente" desplazada por 239 barras.

 

Lo tengo.

Me voy a la cama, y mañana, si quieres, me dices lo que necesitas, ¿vale?

 
tara:

Lo tengo.

Me voy a la cama, y mañana, si quieres, me dices lo que necesitas, ¿vale?

Sólo un poco tarde..... ¡Buenas noches!

Espero veros en awake....... pero espero que no sea mañana sino esta noche.

 
Zver4991:

No puedo entender cuál es mi error de nuevo


now=Open Time[0] ;
 
Hola. Por favor, dígame cómo arreglar la siguiente situación: tengo una variable high1, su tarea (según el plan) es mostrar los valores máximos sólo para las primeras 7 barras desde el comienzo del día. Por favor, aconséjenme cómo puedo hacerlo entrar en razón, para que hasta el final del día, o una hora determinada (para que sea mejor) no cambie los indicadores. Gracias de antemano.
double high1   =High[iHighest (Symbol(), Period(), MODE_HIGH, 7,1)];
 
xxxKillxxx:
Hola. Por favor, dígame cómo arreglar la siguiente situación: tengo una variable high1, su tarea (según el plan) es mostrar los valores máximos sólo para las primeras 7 barras desde el comienzo del día. Por favor, aconséjenme cómo puedo hacerlo entrar en razón, para que hasta el final del día, o una hora determinada (para que sea mejor) no cambie los indicadores. Gracias de antemano.

A grandes rasgos, algo así:

     DayTime = iTime(NULL, PERIOD_D1, 0);             // Начало времени в секундах текущего дня
     cb = iBarShift(NULL,0,DayTime);                  // Получим на текущем ТФ индекс бара 
     if(cb>=7)                                        // Есть 7 сформированных баров от начала дня
         high1 = High[iHighest (Symbol(), Period(), MODE_HIGH, 7, cb-6)];

También tenemos que añadir una condición para seguir los cambios de día, pero eso depende de ti.

 
pu6ka:

A grandes rasgos, algo así:

También tenemos que añadir una condición para controlar el cambio de día, pero eso depende de usted



Muchas gracias, ¿podría decirme qué consecuencias puedo tener si hay un "agujero" en el gráfico (vela que falta)?