[WARNUNG GESCHLOSSEN!] Alle Fragen von Neulingen, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Ohne dich kann ich nirgendwo hingehen. - Seite 145

 
xmurik писал(а) >>
Wo liegt der Fehler?

Offensichtlich zu nahe am aktuellen Preis. Sie sollten MarketInfo(Symbol(),MODE_STOPLEVEL) überprüfen;

 
Vinin писал(а) >>

Offensichtlich zu nahe am aktuellen Preis. Wir sollten nach MarketInfo(Symbol(),MODE_STOPLEVEL) suchen;

Es sind 210 Punkte zum Preis. Und das Prüfgerät gibt Fehler 3 aus.

 
xmurik писал(а) >>

Bis zu einem Preis von 210 Punkten. Und das Prüfgerät gibt Fehler 3 aus.

Ich glaube, sie ist falsch eingestellt, irgendwo in der Vergangenheit.

 
xmurik писал(а) >>

Bis zu einem Preis von 210 Punkten. Und das Prüfgerät gibt Fehler 3 aus.

Ich hatte diesen Fehler vor kurzem. Irgendwie bin ich darüber hinweggekommen.

 
Bitte helfen Sie mir, den Fehler zu finden. Ich kann nicht... Ich weiß nicht einmal, wo ich danach suchen soll. Fehler wie: 'Programmende' - unausgewogene linke Klammer
Dateien:
 
Alex5757000 писал(а) >>
Bitte helfen Sie, den Fehler zu finden. Ich kann es nicht mehr finden. Ich weiß nicht einmal, wo ich danach suchen soll. Fehler wie: 'Programmende' - unausgewogene linke Klammer

if(NormalizeDouble(MathAbs(OrderOpenPrice()-Win_Price),Digits) < NormalizeDouble(Dist,Digits)) // fehlende schließende Klammer

 
Vinin >> :

if(NormalizeDouble(MathAbs(OrderOpenPrice()-Win_Price),Digits) < NormalizeDouble(Dist,Digits)) // fehlende schließende Klammer

Vinin , vielen Dank :-). Entschuldigung für so einen lächerlichen Fehler, ich fange gerade erst an zu programmieren, ich sammle Erfahrungen...

 
Roger писал(а) >>

Ich glaube, sie ist fehlgeleitet, irgendwo in der Vergangenheit.

Ganz genau. Das war das Problem.

 

Und nochmals vielen Dank für Ihre Hilfe... Ich glaube, ich habe den EA beendet, .... Aber ich kann einen Auftrag unter bestimmten Bedingungen nicht abschließen. Ich erhalte immer wieder Fehler, wenn ich nach einem Ticket oder einer Auftragsnummer suche, oder ich erhalte einen ungültigen Wert in den Codes, wenn ich versuche zu bestimmen, welcher Auftrag geschlossen werden soll. Ich habe keine Bestellmöglichkeit, aber es scheint möglich zu sein, ohne sie auszukommen, vielleicht gibt es eine falsche Installation von aufeinanderfolgenden Operationen im Code, aber es scheint richtig zu sein. Helfen Sie, wer kann, schauen Sie sich den Code, Beratung über das, was hinzugefügt werden muss, um die Reihenfolge durch eine Bedingung zu schließen, machen Kommentare über die Umsetzung des Codes in Bezug auf die Richtigkeit der Reihenfolge der Verarbeitung in der fun-i starten, und das Gefühl, dass ich wie eine Schleife und in einigen Momenten, wenn die Bedingung nicht geöffnet wird, um (übersprungen, um den nächsten Fall) ....... ! !!! ..))) Hier ist der Code!

//+-----------------Включаемые дериктивы-----------------------------+
#include <Param.mqh>          //фун-я параметры 
//#include <Message_Print.mqh>          //фун-я коммент
#include <isTradeTimeString_m.mqh> //фун-я торгов по времени
#include <TrailingStop.mqh>          //фун-я трайлинг 
#include <isNewBar.mqh>       //фун-я проверки нового бара
#include <TotalOrders.mqh>    //фун-я проверки кол-ва открытых сделок
#include <Crit_Flat.mqh>      //фун-я проверки флэт
#include <Crit_Sell.mqh>      //фун-я проверки сигнала  продажи
#include <Crit_Buy.mqh>       //фун-я проверки сигнала  покупки
#include <TakeProfitLastClosePos.mqh>      //фун-я определения профита послед закрыт поз
#include <GetTypeLastClosePos2.mqh>         //функция определения типа закрытой поз
//+-----------------Переменные---------------------------------------+
int               ExpertOrdersTotal;   //общее колличество открытых позиций
int tiket = 0;
int mn = 0;                                //магик


//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
  {
//----
   MinStop=MarketInfo(Symbol(),MODE_STOPLEVEL); //минимальное разрешимое отклонение стоп лосс от рыночной цены
//----
   return(0);
  }

int start()
  {

//Print("Проверка открытых ордеров 1");
//---------------------Проверка по времени------------1---------
  if ( tim==true)
   {
   isTradeTimeString(); //торговля по времени
   if ( isTradeTimeString( TimeBegin, TimeEnd))
     {
//---------------------Проверка трейлинга------------2---------
   TrailingStop();


//---------------------Проверка открытых ордеров------------3---------
   ExpertOrdersTotal = TotalBuy()+ TotalSell(); // СКОЛЬКО ВСЕГО ОРДЕРОВ ОТКРЫТО  
   if ( ExpertOrdersTotal>= Sdelki)         // если кол-во открытых сделок меньше максимального
     {                                   // кол-ва сделок, проверяем возможность открытия сделки
      //Print("превышено кол-во сделок,выход"); 
      return(0);
     }   
   else
     {

          Print("проверка появления нового бара ");

//--------------------проверка появления нового бара--------4---------
        Fun_New_Bar();                               // Обращение к функции и передача ей управления
        if ( New_Bar==false)                          // Если бар не новый..
         {
          //Print("Нового бара пока нет,выход");   
          return;                                      // ..то уходим   
         }
        //Print("проверка сигнала ");
//--------------------проверка сигнала----------------------5---------
        Crit_Flat();
      
        Crit_Sell();
        Crit_Buy();
//        Print("коэф-нт покупки ",ves_buy);
//        Print("коэф-нт продажи ",ves_sell);
        
        if ( Flat == true)  //проверка наличия флэта
          {
            return(0);
          }
        if ( Trend==true)  //сделки по тренду
          {
              
              if ( ves_buy < ves_sell) 
                {
                 tiket = OrderSend(Symbol(),OP_SELL, Lot,Bid,3,Bid+ SL*Point,Ask- TP*Point,"My order #", mn,0,Green);
                 Print ("Ордер открыт по тренду"); 
                } 
              if ( ves_buy > ves_sell)
                {
                 tiket = OrderSend(Symbol(),OP_BUY, Lot,Ask,3,Bid- SL*Point,Ask+ TP*Point,"My order #", mn,0,Red);
                 Print ("Ордер открыт по тренду"); 
                } 
          }
        else
          {       
        if ( ves_buy > ves_sell && ves_buy >= param)
           {
             tiket = OrderSend(Symbol(),OP_BUY, Lot,Ask,3,Bid- SL*Point,Ask+ TP*Point,"My order #", mn,0,Red);
             Print ("Ордер открыт по коэфициенту"); 
        //--------------------------------------------------
        //          доработать фун-ю открытия ордера
        //--------------------------------------------------
           }
           
        if ( ves_buy < ves_sell && ves_sell >= param)
           {
            tiket = OrderSend(Symbol(),OP_SELL, Lot,Bid,3,Bid+ SL*Point,Ask- TP*Point,"My order #", mn,0,Green);
            Print ("Ордер открыт по коэфициенту");
        //--------------------------------------------------
        //          доработать фун-ю открытия ордера
        //--------------------------------------------------
           }
          }  
    
//+------------------------------------------------------------------------   
            
       
     }        //скобка проверки колва сделок
  Print("есть сделки, выход");

  }//скобка проверки времени   
 Print ("время не подошло");  
  }//проверка флага торговли по времени 
   return(0);                                  //ретурн основного старта
  }

Hier ist der Code. Da ich hier bin, habe ich eine weitere Frage ... gibt es irgendwelche Einschränkungen für die EA-Implementierung, in Bezug auf mehrere Neuberechnung oder Parameter-Anfrage von einem Brokerage-Unternehmen?

ich warte auf Hilfe und ein wenig Kritik )

 
Alex5757000 >> :
Bitte helfen Sie mir, den Fehler zu finden. Ich kann nicht... Ich weiß nicht einmal, wo ich danach suchen soll. Fehler wie: 'Programmende' - unausgewogene linke Klammer

Semjon Semjonych...

Lernen Sie, eine Konstruktion wie diese zu schreiben:

if(){}

und fangen dann an, sie auszufüllen, dann kommen Sie fast nie durcheinander.

Fehler wie: 'Programmende' - unausgewogene linke Klammer ist sehr unangenehm, weil der Compiler die Stelle des Fehlers nicht lokalisieren kann, daher ist es besser, dies nicht zu tun, sondern es durch die oben beschriebene Methode zu vermeiden, Sie können irgendwo eine Vorlage machen und an den richtigen Stellen einfügen.

Das nächste "Du kannst eine Soutane nicht in deine Jeans stecken"

if();{} - это не верная конструкция

>> Ihr Code mit den Korrekturen ist in der angehängten Datei enthalten.

Dateien:
Grund der Beschwerde: