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

 
Im Moment wird für jeden Balken ein Lückentext in das Array eingefügt. Und wenn ich das nicht tue, muss ich berechnen, ab welchem Balken ich Daten sammeln, eine Schleife bilden und filtern soll. Damit bleibt nur noch letzteres übrig.
 
gince:

Ich weiß nicht, wie viele Elemente ein Array haben sollte. Es könnten 40 oder 65 sein. Mit einem Wort, wir brauchen ein dynamisches Array.

Verwenden Sie ArraySize, um die Größe des Arrays zu ändern:

int start()
  {
//----
   int start=3;
   int end1=30;
   int end2=90;
   int array[];

     ArrayResize(array, (end1-start) );
     int size1=ArraySize(array);
     ArrayResize(array, (end2-start) );
     int size2=ArraySize(array);

   Comment("start=",start,", end1=",end1,", end2=",end2,", size1=",size1,", size2=",size2);
//----
   return(0);
  }
In den Kommentaren heißt es: start=3, end1=30, end2=90, size1=27, size2=87.
 
LeksusMt4:

Guten Tag, Bitte helfen Sie, der Roboter mit 0,1 Lot multipliziert Volumen und mit 0,01 nicht.... Was kann ich ändern?


Und es gibt ein Bett! SRC! Zum Einfügen des Codes!
 
borilunad:

Und dann ist da noch das Chaos! SRC! Zum Einfügen von Code!


Ich bin noch nicht sehr gut darin... Sag mir, was ich tun soll....

 

Ich verwende die Funktion SetTLine() aus KimIV https://forum.mql4.com/ru/38949/page6#434255. Das Problem ist, dass ich zwei Zeilen brauche (oben und unten), aber das funktioniert bei mir nicht. Ich habe eine weitere Funktion SetTLine1() mit anderen Variablen erstellt, aber sie funktioniert immer noch nicht. Wie kann man das tun?

datetime d0=StrToTime(TimeToStr(TimeCurrent(), TIME_DATE));
datetime d1=TimeCurrent()-24*60*60;
while (TimeDayOfWeek(d1)==0 || TimeDayOfWeek(d1)==6) d1-=24*60*60;
d1=StrToTime(TimeToStr(d1, TIME_DATE));
datetime d2=d1-24*60*60;
while (TimeDayOfWeek(d2)==0 || TimeDayOfWeek(d2)==6) d2-=24*60*60;
d2=StrToTime(TimeToStr(d2, TIME_DATE));
int b2=iBarShift(NULL, 0, d2);     // номер бара начала второго дня
int b1=iBarShift(NULL, 0, d1);     // номер бара начала первого дня
int b0=iBarShift(NULL, 0, d0);     // номер бара начала текущего дня
int n2=iLowest(NULL, 0, MODE_LOW, b2-b1-1, b1);
int n1=iLowest(NULL, 0, MODE_LOW, b1-b0-1, b0);
datetime t1=Time[n2];
double   p1=Low[n2];
datetime t2=Time[n1];
double   p2=Low[n1];
SetTLine(Magenta, "", t1, p1, t2, p2, True, STYLE_SOLID, 3);   

datetime di0=StrToTime(TimeToStr(TimeCurrent(), TIME_DATE));
datetime di1=TimeCurrent()-24*60*60;
while (TimeDayOfWeek(di1)==0 || TimeDayOfWeek(di1)==6) di1-=24*60*60;
di1=StrToTime(TimeToStr(di1, TIME_DATE));
datetime di2=di1-24*60*60;
while (TimeDayOfWeek(di2)==0 || TimeDayOfWeek(di2)==6) di2-=24*60*60;
di2=StrToTime(TimeToStr(di2, TIME_DATE));
int bi2=iBarShift(NULL, 0, di2);     // номер бара начала второго дня
int bi1=iBarShift(NULL, 0, di1);     // номер бара начала первого дня
int bi0=iBarShift(NULL, 0, di0);     // номер бара начала текущего дня
int ni2=iHighest(NULL, 0, MODE_HIGH, bi2-bi1-1, bi1);
int ni1=iHighest(NULL, 0, MODE_HIGH, bi1-bi0-1, bi0);
datetime t1i=Time[ni2];
double   p1i=High[ni2];
datetime t2i=Time[ni1];
double   p2i=High[ni1];
SetTLine(..................................................
 

Guten Tag, bitte helfen Sie mir bei folgendem Fehler:ERR_INVALID_FUNCTION_PARAMVALUE - 4051 -Ungültiger Wert eines Funktionsparameters.

Ich kann diesen ungültigen Parameter nicht finden.

//--------------------------------------------------------------- 6 --
   Print ("Конец  цикла вычисления торговых критериев --------------------------------------------------------------------");     

      Print("Попытка открыть ордер.");     
      if (Opn_B==true)
        {                                       // критерий откр. Buy
         Print("Попытка открыть ордер. Buy");
         RefreshRates();                        // Обновление данных
         SL=Bid - StopLoss*Point;     // Вычисление SL откр.
         TP=Bid + TakeProfit*Point;   // Вычисление TP откр.         
         Print("Попытка открыть Buy. Ожидание ответа..");
         MyTicket=OrderSend(Symbol(),OP_BUY,Lts,Ask,2,SL,TP);//Открытие Buy counter
         if (MyTicket > 0)                        // Получилось :)
           {
            Print ("  !!!!!!!!    Открыт ордер Buy ",MyTicket);
            return;                             // Выход из start()
           }
           else if (MyTicket < 0)
           {
            Fun_Erorr=GetLastError();
            Alert("GetLastError OP_BUY ", Fun_Erorr);
            }  
         return;                                // Выход из start()
        }
      if (Opn_S==true)              // Открытых орд. нет +
        {                                       // критерий откр. Sell
        Print("Попытка открыть ордер. Sell");
         RefreshRates();                        // Обновление данных
         SL=Ask + StopLoss*Point;     // Вычисление SL откр.
         TP=Ask - TakeProfit*Point;   // Вычисление TP откр.
         Print("Попытка открыть Sell. Ожидание ответа..");
         MyTicket=OrderSend(Symbol(),OP_SELL,Lts,Bid,2,SL,TP);//Открытие Sel ,counter
         if (MyTicket > 0)                        // Получилось :)
           {
            Print ("  !!!!!!!!    Открыт ордер Sell ",MyTicket);
            return;                             // Выход из start()
           }
           else if (MyTicket < 0)
           {
            Fun_Erorr=GetLastError();
            Alert("GetLastError OP_SELL", Fun_Erorr);
            }             
         }
      return(0);
  }
//+------------------------------------------------------------------+

      
 
LeksusMt4:


Ich verstehe es noch nicht sehr gut... Sag mir, was ich tun soll....

SRC ist hier:


Und wenn der Code sehr groß ist, wie in Ihrem Fall, hängen Sie die Datei an:


 
LeksusMt4:


Ich weiß noch nicht viel... Sag mir, was ich tun soll....


Ich habe Ihnen in dem anderen Thema geantwortet! Und löschen Sie Ihre "Portmanteau"-Beiträge!
 

Jetzt ist der Fehler 130, ich verstehe nicht, warum. Wer kann mir sagen, was ich falsch mache?

   Print ("Конец  цикла вычисления торговых критериев --------------------------------------------------------------------");     

      Print("Попытка открыть ордер.");     
      if (Opn_B==true)
        {                                       // критерий откр. Buy
         Print("Попытка открыть ордер. Buy");
         RefreshRates();                        // Обновление данных
         SL=Bid - StopLoss*Point;     // Вычисление SL откр.
         TP=Bid + TakeProfit*Point;   // Вычисление TP откр.
         Print("SL ",SL," == Bid ",Bid," - StopLoss == ", StopLoss, " * Point ==",Point);
         Print("TP ",TP," == Bid ",Bid," + TakeProfit == ", TakeProfit," * Point ==",Point);         
         Print("Попытка открыть Buy. Ожидание ответа..", "| SL == ",NormalizeDouble(SL,5),"| TP == ",NormalizeDouble(TP,5));
         MyTicket=OrderSend(Symbol(),OP_BUY,0.1,Ask,2,NormalizeDouble(SL,Digits),NormalizeDouble(TP,Digits));//Открытие Buy counter
         if (MyTicket > 0)                        // Получилось :)
           {
            Print ("  !!!!!!!!    Открыт ордер Buy ", MyTicket);
            return;                             // Выход из start()
           }
           else if (MyTicket < 0)
           {
            Fun_Erorr=GetLastError();
            Alert("GetLastError OP_BUY == ", Fun_Erorr);
            }  
         return;                                // Выход из start()
        }
      if (Opn_S==true)              // Открытых орд. нет +
        {                                       // критерий откр. Sell
        Print("Попытка открыть ордер. Sell");
         RefreshRates();                        // Обновление данных
         SL=Ask + StopLoss*Point;     // Вычисление SL откр.
         TP=Ask - TakeProfit*Point;   // Вычисление TP откр.
         Print("SL ",SL," == Bid ",Bid," + StopLoss == ", StopLoss, " * Point ==",Point);
         Print("TP ",TP," == Bid ",Bid," - TakeProfit == ", TakeProfit," * Point ==",Point);
         Print("Попытка открыть Sell. Ожидание ответа..", "| SL == ",NormalizeDouble(SL,Digits),"| TP == ",NormalizeDouble(TP,Digits));
         MyTicket=OrderSend(Symbol(),OP_SELL,0.1,Bid,2,NormalizeDouble(SL,Digits),NormalizeDouble(TP,Digits));//Открытие Sel ,counter
         if (MyTicket > 0)                        // Получилось :)
           {
            Print ("  !!!!!!!!    Открыт ордер Sell ",MyTicket);
            return;                             // Выход из start()
           }
           else if (MyTicket < 0)
           {
            Fun_Erorr=GetLastError();
            Alert("GetLastError OP_SELL == ", Fun_Erorr);
            }             
         }
 
atwas:
Am 30. und 31. März 2013 haben wir eine 2-tägige Konferenz zum Thema "Alle Geheimnisse der erfolgreichen Wetten" veranstaltet. Alle waren zufrieden. Am 5. März werden wir sie auf dem YouTube-Kanal stavkana1000000 veröffentlichen. Programm: 5. Untersuchung von Streichhölzern. 6. Identifizierung von Sequenzen. 7. Zuteilung einer Reserve - Bank. 8. Rechnen Sie mit dem durchschnittlichen KEF-Einsatz. Geben Sie stavkana1000000 in eine beliebige Suchmaschine ein und Sie erhalten die Sportwetten-Strategie kostenlos. Oder besuchen Sie die Online-Konferenzen, die jeden Samstag kostenlos stattfinden. Andrey Spieler.

Hey! Aus welchem Kasino kommst du denn?! Ewige Sperre für den Spieler!