Qualquer pergunta de novato, de modo a não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 6. - página 438

 
Zver4991:

Não consigo descobrir qual é o meu erro novamente

Eu não quero. Não quero fazê-lo até que você me diga em russo qual é o problema.
 
tara:

Seu código é particularmente secreto, ou você é preguiçoso demais para publicá-lo?

O erro está nele, não no 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:



Refiro-me ao código completo.
 
tara:

Refiro-me ao código completo.

É isso... não há mais nada.

O objetivo é abrir uma ordem

- em um múltiplo de 3337 ou 3204

- em um castiçal múltiplo de 3337 ou 3204 MAS SOMENTE após um STOP LOSS"virtual".

OBSERVAÇÃO: a segunda vela é "virtualmente" deslocada por 239 barras.

 

Entendi.

Vou para a cama e amanhã, se você quiser, pode me dizer o que precisa, certo?

 
tara:

Entendi.

Vou para a cama e amanhã, se você quiser, pode me dizer o que precisa, certo?

Apenas um pouco tarde..... Boa noite!

Aguardo ansioso para vê-lo acordado......., mas espero que não amanhã, mas hoje à noite.

 
Zver4991:

Não consigo descobrir qual é o meu erro novamente


now=Open Time[0] ;
 
Olá. Por favor, me diga como corrigir a seguinte situação: tenho uma variável alta1, sua tarefa (de acordo com o plano) é mostrar valores máximos somente para as primeiras 7 barras desde o início do dia. Por favor, informe como posso trazê-lo à razão, para que até o final do dia, ou até um determinado momento (para que seja melhor), não mude os indicadores. Agradecemos antecipadamente.
double high1   =High[iHighest (Symbol(), Period(), MODE_HIGH, 7,1)];
 
xxxKillxxx:
Olá. Por favor, me diga como corrigir a seguinte situação: tenho uma variável alta1, sua tarefa (de acordo com o plano) é mostrar valores máximos somente para as primeiras 7 barras desde o início do dia. Por favor, avise como posso trazê-lo à razão, para que até o final do dia, ou até um determinado momento (para que seja melhor), não mude os indicadores. Agradecemos antecipadamente.

Com um palpite, algo como isto:

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

Também precisamos acrescentar uma condição para acompanhar as mudanças do dia, mas isso depende de você.

 
pu6ka:

Com um palpite, algo como isto:

Também precisamos acrescentar uma condição para acompanhar a mudança do dia, mas isso depende de você



Muito obrigado, você pode me dizer que conseqüências posso enfrentar se houver um "buraco" na tabela (vela ausente)?

Razão: