Jede Anfängerfrage, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Nirgendwo ohne dich - 6. - Seite 438

 
Zver4991:

Ich kann nicht herausfinden, was mein Fehler wieder ist.

Ich will das nicht. Ich will nicht, bis Sie mir auf Russisch sagen, was das Problem ist.
 
tara:

Ist Ihr Code besonders geheim, oder sind Sie zu faul, ihn zu veröffentlichen?

Der Fehler liegt darin, nicht in der Umwelt, denke ich.



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:



Ich meine den gesamten Code.
 
tara:

Ich meine den gesamten Code.

Das war's... sonst gibt es nichts.

Es geht darum, einen Auftrag zu eröffnen

- auf ein Vielfaches von 3337 oder 3204

- bei einem Candlestick-Multiple von 3337 oder 3204, ABER NUR nach einem "virtuellen" STOP LOSS

HINWEIS: Die zweite Kerze ist "virtuell" um 239 Takte verschoben.

 

Ich hab's.

Ich gehe jetzt ins Bett, und wenn du willst, kannst du mir morgen sagen, was du brauchst, okay?

 
tara:

Ich hab's.

Ich gehe jetzt ins Bett, und wenn du willst, kannst du mir morgen sagen, was du brauchst, okay?

Nur ein wenig zu spät..... Gute Nacht!

Ich freue mich darauf, Sie wach zu sehen......., aber hoffentlich nicht morgen, sondern heute Abend.

 
Zver4991:

Ich kann nicht herausfinden, was mein Fehler wieder ist.


now=Open Time[0] ;
 
Hallo. Bitte sagen Sie mir, wie die folgende Situation zu beheben: Ich habe eine Variable high1, seine Aufgabe (nach dem Plan) ist es, maximale Werte nur für die ersten 7 Bars vom Beginn des Tages zeigen. Bitte raten Sie mir, wie ich es zur Vernunft bringen kann, so dass es bis zum Ende des Tages oder einer bestimmten Zeit (so wäre es besser) die Indikatoren nicht verändert. Ich danke Ihnen im Voraus.
double high1   =High[iHighest (Symbol(), Period(), MODE_HIGH, 7,1)];
 
xxxKillxxx:
Hallo. Bitte sagen Sie mir, wie die folgende Situation zu beheben: Ich habe eine Variable high1, seine Aufgabe (nach Plan) ist es, maximale Werte nur für die ersten 7 Bars vom Beginn des Tages zu zeigen. Bitte raten Sie mir, wie ich es zur Vernunft bringen kann, so dass es bis zum Ende des Tages oder einer bestimmten Zeit (so wäre es besser) die Indikatoren nicht verändert. Ich danke Ihnen im Voraus.

Grob geschätzt, etwa so:

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

Wir müssen auch eine Bedingung hinzufügen, um den Tageswechsel zu verfolgen, aber das bleibt Ihnen überlassen.

 
pu6ka:

Grob geschätzt, etwa so:

Wir müssen auch eine Bedingung hinzufügen, um den Tageswechsel zu verfolgen, aber das bleibt Ihnen überlassen



Vielen Dank, können Sie mir sagen, welche Folgen es haben kann, wenn es ein "Loch" im Diagramm gibt (fehlende Kerze)?