[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 260

 
yosuf:
Ein gut funktionierender EA platziert nicht genau 1 Stunde lang Aufträge und arbeitet dann noch 23 Stunden lang normal. Die "Pause" von 23 bis 24 Stunden und es funktioniert wieder. In den Einstellungen steht aber: HourStart 0, HourEnd 24.


Wie klein sind Sie?

Kommen die Zecken herein?

Wenn ja, versucht der EA, einen Auftrag zu eröffnen?

Wenn ja, wie lautet die von OrderSend() zurückgegebene Ticketnummer?

Wenn "-1", welcher Fehlercode wird von GetLastError() zurückgegeben?

 
PapaYozh:


Warum bist du so klein?

Kommen die Zecken herein?

Wenn ja, versucht der EA, einen Auftrag zu eröffnen?

Wenn ja, wie lautet die von OrderSend() zurückgegebene Ticketnummer?

Wenn "-1", welcher Fehlercode wird von GetLastError() zurückgegeben?

1. Ich komme;

2. Sie kommen, wie immer, und zwar beharrlich;

3., 4. - Jetzt mit dem Protokoll abgleichen.

Ich erinnerte mich, und auf der Tester nicht Bestellungen während dieser Zeit.

Ich danke Ihnen.

 

Guten Morgen, liebe Freunde. Ich habe früher in C++ programmiert (Institut vor etwa 10 Jahren).

Ich brauche Hilfe bei dieser Frage:

Der Algorithmus öffnet 2 schwebende Aufträge nach Bedingung. Ein BUYSTOP wird immer zuerst eröffnet, ein SELLSTOP danach.

Dies ist ein neues TIC:

Wie kann man feststellen, ob es bereits funktionierende Aufträge gibt (BUY ? SELL ? BUYSTOP? SELLSTOP? ) ?

Wie erkenne ich bei einem neuen Tick, ob eine ausgelöste TakeProfit-Order geschlossen ist und schließe in diesem Fall die entgegengesetzte Order (falls es noch eine gibt)?

 

Hallo, könnten Sie mir bitte den Code für einen Indikator geben, um eine Linie wie diese zu zeichnen, oder besser noch einen Balken, der auf diesen beiden Punkten basiert.

 
silhouette: (с. 259)

Ein Ratschlag, bitte:

Ich möchte einen Multi-Timeframe-MA erstellen, der seine Farbe ändert, wenn sich der Trend ändert. Ich habe die Durchschnittspreisanzeige von anderen Zeitrahmen gemacht, aber ich weiß nicht, wie ich das Problem mit dem Farbwechsel lösen kann.


Kann jemand eine Idee oder sogar einen direkten Weg vorschlagen, wie man vorgehen kann?
 
Guten Tag, der Indikator zeichnet überhaupt nicht. Ich kann nicht herausfinden, wo der Fehler liegt, denn alles sieht richtig geschrieben aus. Ich weiß nicht, was ich davon halten soll. Und über den gleichen Code, ohne die Funktion und nicht einen großen Zusatz am Ende, zieht!!! Bitte sagen Sie mir, wenn ich etwas nicht weiß, nicht verstehe oder einfach den Fehler nicht sehe, den ich hätte verstehen können.
//+------------------------------------------------------------------+
//|                                            ИндюкДимонакомпил.mq4 |
//|                        Copyright 2012, MetaQuotes Software Corp. |
//|                                        http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright 2012, MetaQuotes Software Corp."
#property link      "http://www.metaquotes.net"
#import "user32.dll"
   int   PostMessageA(int  hWnd,int  Msg,int  wParam,string lParam);
#import
#define WM_COMMAND                     0x0111
int delimiter = 0;

#property indicator_chart_window
double ВерхняячертаBuffer1[];
double НижняячертаBuffer2[];
double СинняячертаBuffer3[];
 double вершина; 
 double основание_первого_снижения;
 double начало;
 double вершина_волны_3;
 extern int T=4,K=200;
 int timeframe, start ;
 int бар_вершина ;
 int бар_основание_первого_снижения;
 int бар_начало;
int pereklutsatel;
double naklon,linija2; int P;extern int RO=1;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
   int    counted_bars=IndicatorCounted();
   int limit=Bars-counted_bars-1;

   for (int i=limit;i>=0;i--) {
//----
 for ( int J=0;J<=RO;J++){
//----

  // for(int i=Bars; i>=0;i--)
   i=Bars;
      бар_вершина=iHighest( NULL,  timeframe, MODE_HIGH, K, start ) ;
       вершина =High[ бар_вершина ];
       бар_основание_первого_снижения=iLowest( NULL,  timeframe, MODE_LOW,NormalizeDouble ( бар_вершина/2,0), start ) ;
       основание_первого_снижения=Low[ бар_основание_первого_снижения ];
       бар_начало=iLowest( NULL,  timeframe, MODE_LOW,NormalizeDouble (бар_вершина*1.5,0), бар_вершина ) ;
       начало=Low[ бар_начало ];
       
         
  if(начало>основание_первого_снижения){naklon=(начало-основание_первого_снижения)/(бар_начало-бар_основание_первого_снижения);
 
    НижняячертаBuffer2[бар_начало]=начало;linija2=начало;for(i=бар_начало-1;i>=0;i--){linija2=linija2-naklon;
   
    НижняячертаBuffer2[i]=linija2;
     
   }
    НижняячертаBuffer2[бар_основание_первого_снижения]=основание_первого_снижения;}
    
    
         for (i=0;i<100;i++){  СинняячертаBuffer3[i]= Open[i];}
          for (i=330;i<500;i++){  СинняячертаBuffer3[i]= Open[i];}

     ВерхняячертаBuffer1[бар_начало]=начало;
     
 double точка4; int бар_точка4;   бар_точка4=iHighest( NULL,  timeframe, MODE_HIGH, бар_основание_первого_снижения, 3 ) ; 
  точка4 =High[ бар_точка4 ];  
   
   if(вершина>точка4){naklon=(начало-точка4)/(бар_начало-бар_точка4);  
   double linija1=начало;for(i=бар_начало-1;i>=0;i--){linija1=linija1-naklon;ВерхняячертаBuffer1[i]=linija1; }}
   
double vulf=НижняячертаBuffer2[0];
  if ( vulf==Ask&&vulf==Bid)vulf=1;
  else{ for (vulf=vulf+Point*10; vulf==НижняячертаBuffer2[0];vulf=vulf-Point){
           if ( vulf==Ask&&vulf==Bid){vulf=1;}} 
      for (vulf=vulf-Point*10; vulf==НижняячертаBuffer2[0];vulf=vulf+Point){
           if ( vulf==Ask&&vulf==Bid)vulf=1;} 
              
           
           
           }
           
           
   if (vulf==1){Comment ("  Есть вульв!!! "  , "  timeframe " , timeframe);return(0);  }
    if (vulf!=1&&pereklutsatel==1) {    
   
     if(delimiter<3){delimiter++;Comment(delimiter);return(0);}
   delimiter=0;
    fChangePeriod();P++;
                                 
                   }  } }
//----
   return(0);
  }
//+------------------------------------------------------------------+

void fChangePeriod(){int ii,hwd = WindowHandle(Symbol(),Period());
   switch(Period()){
      case PERIOD_W1    : ii = 33134; break; //PERIOD_D1;
      case PERIOD_D1    : ii = 33136; break; //PERIOD_H4;
      case PERIOD_H4    : ii = 33135; break; //PERIOD_H1;
      case PERIOD_H1    : ii = 33140; break; //PERIOD_M30;
      case PERIOD_M30   : ii = 33139; break; //PERIOD_M15;
      case PERIOD_M15   : ii = 33138; break; //PERIOD_M5;
      case PERIOD_M5    : ii = 33137; break; //PERIOD_M1;
      case PERIOD_M1    : ii = 33141; break; //PERIOD_W1;
   }     
   PostMessageA(hwd, WM_COMMAND, ii, 0);
   return;
}
 
Dimka-novitsek:
Guten Tag, der Indikator zeichnet überhaupt nicht. Ich kann nicht herausfinden, wo der Fehler liegt, denn alles sieht richtig geschrieben aus. Ich weiß nicht, was ich davon halten soll. Und über den gleichen Code, ohne die Funktion und nicht einen großen Zusatz am Ende, zieht!!! Bitte sagen Sie mir, wenn ich etwas nicht weiß, nicht verstehe oder einfach den Fehler nicht sehe, den ich hätte verstehen können.

Natürlich nicht, er hat keine Indikatorpuffer.
 
Warum nicht?
 
Dimka-novitsek:
Wie könnte ich nicht?


Wo sind sie?

Nennen Sie einen.

 
Also, ich glaube, ich habe da etwas... Danke!!!!!!!!!!!!!!!!!!!!