[ARCHIV!] Alle Fragen von Anfängern, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Ohne dich kann ich nirgendwo hingehen - 4. - Seite 302

 
skyjet:

Hallo! Entschuldigen Sie, dass ich so hartnäckig bin, aber könnten Sie mir bitte einen Rat geben?

Mit iCustom erhalte ich ein Indikator-Signal im EA, aber der EA öffnet nur Trades in eine Richtung, abhängig von der Bedingung dieses Teils .

Es gibt nichts Ermüdenderes, als nach Fehlern im Code anderer Leute zu suchen. Und ich bin kein Programmierer.

Sehen Sie sich an, wie der Öffnungsblock mit dem Pfeilanzeiger im Assistenten erstellt wird. Auch die Anzahl der Aufträge ist begrenzt.

         #property copyright "Integer"
         //..............................  
         double bv=iCustom(NULL,TimeFrame,IND,PatternLength,PatternID,UsePatternStr,BuyPatternStr,0,1);
         double sv=iCustom(NULL,TimeFrame,IND,PatternLength,PatternID,UsePatternStr,BuyPatternStr,1,1);
         
         bool BuySignal=false;
         bool SellSignal=false;
            if(bv!=0 && bv!=EMPTY_VALUE){
               BuySignal=true;
            }
            if(sv!=0 && sv!=EMPTY_VALUE){
               SellSignal=true;
            }
            
            if(BuySignal || SellSignal){
               if(CloseOnRev)fOrderCloseMarket(SellSignal,BuySignal);
               int BuyCount,SellCount;
               int Total=fMarketOrdersTotal(BuyCount,SellCount);
                  if(Total==-1){
                     return(0);
                  }
                  if(Total<MaxCount || MaxCount==-1){
                     if(BuySignal){
                        if(BuyCount<MaxBuyCount || MaxBuyCount==-1){
                           if(LastBuyTime!=iTime(NULL,TimeFrame,0)){
                              fOrderOpenBuy();
                           }  
                        }
                     }
                     if(SellSignal){
                        if(SellCount<MaxSellCount || MaxSellCount==-1){
                           if(LastSellTime!=iTime(NULL,TimeFrame,0)){
                              fOrderOpenSell();
                           }
                        }
                     }
                  }
                  
            }
            
 
skyjet:

Hallo! Entschuldigen Sie, dass ich so hartnäckig bin, aber könnten Sie mir bitte einen Rat geben?

Mit iCustom erhalte ich ein Indikator-Signal im EA, aber der EA öffnet nur Trades in eine Richtung, abhängig von der Bedingung dieses Teils .


Ich müsste mir auch diese Bedingungen ansehen
 
Vinin:

Aber es ist besser, den Code des Indikators nicht an den Experten zu übertragen - es wird zu Verzögerungen kommen.
Soll ich iCustom verwenden, um Daten für den Expert Advisor zu erhalten?
 
Alexandr24:
Wie erhalte ich über iCustom Daten für den Prüfer?

Eine optimale Variante, wenn der Code des Indikators optimal ist. Andernfalls können Sie die Verarbeitung beschleunigen
 
Vinin:

Ich hätte mir diese Bedingungen ansehen sollen

Bei der Suche nach einem Signal, zunächst sowohl bei Kauf als auch bei Verkauf, war db/ub == 0 und eröffnet nur Long Trades


nachdem das Signal db!=1 wurde, eröffnet ub!=0 nur noch Short-Positionen

Wenn ich db!=0 und ub!=!0 eintrage, werden überhaupt keine Geschäfte geöffnet.

//------ получение сигнала в советнике


double db=iCustom(NULL,0,"GetSignal",0,SignalBar);// Стрелка вниз
double ub=iCustom(NULL,0,"GetSignal",1,SignalBar);// Cтрелка вверх
 
 
 bool BuySignal=false;
 bool SellSignal=false;
 
//-----------------------------------------------------------------------------------+
//Проверка на сигнал
if(db!=1)
 {
  SellSignal=true;
 }
if(ub!=1)
 {
  BuySignal=true;
 }
 
skyjet:

Bei der Suche nach einem Signal, zunächst sowohl bei Kauf als auch bei Verkauf, war db/ub == 0 und eröffnet nur Long Trades


nachdem das Signal db!=1 wurde, eröffnet ub!=0 nur noch Short-Positionen

Ich habe db!=0 und ub!=!0 gesetzt, die Geschäfte wurden überhaupt nicht geöffnet.


Das sagt nichts aus, vor allem, wenn der Indikator gekrümmt ist.
 
Vinin:

Sagt nichts aus, vor allem wenn der Indikator schief ist.

Ich habe den Betrieb des Indikators überwacht und keine Probleme festgestellt.

Aber wenn Sie sagen, dass es schief ist, was kann man dann überprüfen?

 
skyjet:
MetaEditor
Ich danke Ihnen!
 

Guten Abend, können Sie mir den Unterschied zwischen

Text und Textmarke?

OBJ_TEXT 21 Text
OBJ_LABEL 23 Text-Etikett.
 

könnten Sie mir sagen...
Es wird nach einem Maximalwert in einem bestimmten Intervall gesucht:

buy_stop_level = High[iHighest(NULL,0,MODE_HIGH,Bars-bar_start,1)];

Erforderlich:
Nachdem Sie ein Maximum gefunden haben, suchen Sie in einem neuen Intervall (vom ersten Balken bis zu dem Balken, in dem das Maximum ermittelt wurde) das Minimum.

StopLoseBuy    = Low[iLowest(NULL,0,MODE_LOW,Bars-(бар который приходится на максимум),1)];