Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Da nessuna parte senza di te - 6. - pagina 438

 
Zver4991:

Non riesco a capire quale sia il mio errore di nuovo

Non voglio. Non voglio finché non mi dite in russo qual è il problema.
 
tara:

Il tuo codice è particolarmente segreto o sei troppo pigro per postarlo?

L'errore è in esso, non nell'ambiente, imho.



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:



Intendo l'intero codice.
 
tara:

Intendo l'intero codice.

Questo è tutto... non c'è altro.

Il punto è aprire un ordine

- su un multiplo di 3337 o 3204

- su una candela multipla di 3337 o 3204 MA SOLO dopo uno STOP LOSS"virtuale"

NOTA: la seconda candela è "virtualmente" spostata di 239 barre.

 

Capito.

Vado a letto e domani, se vuoi, puoi dirmi di cosa hai bisogno, ok?

 
tara:

Capito.

Vado a letto e domani, se vuoi, puoi dirmi di cosa hai bisogno, ok?

Solo un po' in ritardo..... Buona notte!

Non vedo l'ora di vederti awake....... ma spero non domani ma stasera.

 
Zver4991:

Non riesco a capire quale sia il mio errore di nuovo


now=Open Time[0] ;
 
Salve. Per favore, ditemi come risolvere la seguente situazione: ho una variabile high1, il suo compito (secondo il piano) è di mostrare i valori massimi solo per le prime 7 barre dall'inizio della giornata. Vi prego di consigliarmi come posso portarlo alla ragione, in modo che fino alla fine della giornata, o un dato tempo (così sarebbe meglio) non cambi gli indicatori. Grazie in anticipo.
double high1   =High[iHighest (Symbol(), Period(), MODE_HIGH, 7,1)];
 
xxxKillxxx:
Salve. Per favore, ditemi come risolvere la seguente situazione: ho una variabile high1, il suo compito (secondo il piano) è di mostrare i valori massimi solo per le prime 7 barre dall'inizio della giornata. Vi prego di consigliarmi come posso portarlo alla ragione, in modo che fino alla fine della giornata, o un dato tempo (così sarebbe meglio) non cambi gli indicatori. Grazie in anticipo.

A grandi linee, qualcosa del genere:

     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)];

Dobbiamo anche aggiungere una condizione per tracciare i cambiamenti di giorno, ma questo dipende da voi.

 
pu6ka:

A grandi linee, qualcosa del genere:

Abbiamo anche bisogno di aggiungere una condizione per tracciare il cambio di giorno, ma questo dipende da voi



Grazie mille, potete dirmi a quali conseguenze posso andare incontro se c'è un "buco" nel grafico (candela mancante)?