Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 6. - page 438

 
Zver4991:

Je n'arrive pas à comprendre quelle est mon erreur, encore une fois.

Je n'en ai pas envie. Je ne veux pas le faire tant que tu ne me dis pas en russe quel est le problème.
 
tara:

Votre code est-il particulièrement secret, ou êtes-vous trop paresseux pour le poster ?

L'erreur se situe au niveau de l'appareil et non de l'environnement, selon moi.



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:



Je veux dire le code entier.
 
tara:

Je veux dire le code entier.

C'est tout... il n'y a rien d'autre.

Il s'agit d'ouvrir une commande

- sur un multiple de 3337 ou 3204

- sur un multiple de chandelier de 3337 ou 3204 MAIS UNIQUEMENT après un STOP LOSS"virtuel".

NOTE : la deuxième bougie est "virtuellement" décalée de 239 barres.

 

Je l'ai.

Je vais me coucher, et demain, si tu veux, tu pourras me dire ce dont tu as besoin, OK ?

 
tara:

Je l'ai.

Je vais me coucher, et demain, si tu veux, tu pourras me dire ce dont tu as besoin, OK ?

Juste un peu de retard..... Bonne nuit !

J'ai hâte de vous voir sur ....... mais j'espère que ce ne sera pas demain mais ce soir.

 
Zver4991:

Je n'arrive pas à comprendre quelle est mon erreur, encore une fois.


now=Open Time[0] ;
 
Bonjour. Veuillez me dire comment résoudre la situation suivante : j'ai une variable high1, sa tâche (selon le plan) est de montrer les valeurs maximales seulement pour les 7 premières barres du début de la journée. Veuillez me conseiller sur la manière de le ramener à la raison, afin que jusqu'à la fin de la journée, ou une heure donnée (ce qui serait mieux), il ne change pas les indicateurs. Merci d'avance.
double high1   =High[iHighest (Symbol(), Period(), MODE_HIGH, 7,1)];
 
xxxKillxxx:
Bonjour. Veuillez me dire comment résoudre la situation suivante : j'ai une variable high1, sa tâche (selon le plan) est de montrer les valeurs maximales seulement pour les 7 premières barres du début de la journée. Veuillez me conseiller sur la manière de le ramener à la raison, afin que jusqu'à la fin de la journée, ou une heure donnée (ce qui serait mieux), il ne change pas les indicateurs. Merci d'avance.

A vue de nez, quelque chose comme ça :

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

Nous devons également ajouter une condition pour suivre les changements de jour, mais c'est à vous de voir.

 
pu6ka:

A vue de nez, quelque chose comme ça :

Nous devons également ajouter une condition pour suivre le changement de jour, mais c'est à vous de voir.



Merci beaucoup, pouvez-vous me dire quelles sont les conséquences auxquelles je peux être confronté s'il y a un "trou" dans le graphique (bougie manquante) ?