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

 
Ein Ratschlag, bitte: beim Erstellen der Funktion ObjectCreate (beim Erstellen einer Trendlinie) erhalte ich einen Strahl, der von einem Punkt zu einem anderen führt und sich im Diagramm nur auf der rechten Seite fortsetzt.
 
DemanRap: Der Strahl, der von einem Punkt zum nächsten geht, setzt sich also nur auf der rechten Seite des Diagramms fort, aber wie kann ich ihn auf der linken Seite fortsetzen?
Kannst du nicht einen Strahl nach links zeichnen, oder willst du eine gerade Linie statt eines Strahls?
 
Ich möchte, dass mein Roboter in der Lage ist, die Position dieses Strahls anhand historischer Daten zu ermitteln, z. B. wie nahe er an anderen Fraktalen liegt, nicht nur an den beiden Fraktalen, auf denen ich ihn ursprünglich gebaut habe.
 
Ja. Mein Ziel ist es also, eine gerade Linie zu erhalten.
 
DemanRap: Ja. Mein Ziel ist es also, eine gerade Linie zu erhalten.

datetime time1 = …;
double price1 = …;

datetime time2 = …;
double price2 = …;

datetime timeDifference =  time2 – time1;  // добавить
double priceDifference = price2 – price1;  // добавить

ObjectCreate("trend_line1", OBJ_TREND, 0, time1, price1, time2, price2);
ObjectCreate("trend_line2", OBJ_TREND, 0, time1, price1, time1 - timeDifference, price1 - priceDifference); // добавить

Um eine gerade Linie zu erhalten, versuchen Sie, die hervorgehobenen Linien zu addieren

 
Vielen Dank, aber es stellte sich heraus, dass es viel einfacher ist. Ich habe einfach einen anderen Strahl gezeichnet und time1, price1 und time2 price2 darin vertauscht. aber es hat mich einen ganzen Tag gekostet, um es herauszufinden)))
 
Aleksander:

Was ist mit ihnen? - global auf der Terminalebene?

sie speichern einige Zeit in der variablen Datei :-) Datum des Zugriffs, Name und Wert vom Typ double


Die Frage zu den GV-Variablen lautet wie folgt... In S.K.'s Buch über MQL4, im Kapitel "GlobalVariables" im Abschnitt "Properties of GV-Variables" steht es geschrieben: "Eine GV-Variable kann nur vom Typ double sein". Unten, im Abschnitt "Funktion GlobalVariableDel()", befindet sich ein Beispiel des Experten globalvar.mq4 mit folgendem Inhalt:

//--------------------------------------------------------------------
// globalvar.mq4
// Предназначен для использования в качестве примера в учебнике MQL4.
//--------------------------------------------------------------------
int    Experts;                                 // Колич. экспертов
double Depo=10000.0,                            // Заданный депозит
       Persent=30,                              // Заданный процент     
       Money;                                   // Искомые средства
string Quantity="GV_Quantity";                  // Имя GV-переменной
//--------------------------------------------------------------------
int init()                                      // Спец. функция init
  {
   Experts=GlobalVariableGet(Quantity);         // Получим тек. знач.
   Experts=Experts+1;                           // Колич. экспертов
   GlobalVariableSet(Quantity, Experts);        // Новое значение
   Money=Depo*Persent/100/Experts;              // Средства для эксп.
   Alert("Для эксперта в окне ", Symbol()," выделено ",Money);
   return;                                      // Выход из init()
  }
//--------------------------------------------------------------------
int start()                                     // Спец. функция start
  {
   int New_Experts= GlobalVariableGet(Quantity);// Новое колич. эксп.
   if (Experts!=New_Experts)                    // Если изменилось
     {
      Experts=New_Experts;                      // Теперь текущ. такое
      Money=Depo*Persent/100/Experts;           // Новое знач. средств 
      Alert("Новое значение для эксперта ",Symbol(),": ",Money);
     }
   /*
   ...
   Здесь долен быть указан основной код эксперта,
   в котором используется значение переменной Money
   ...
   */
   return;                                      // Выход из start()
  }
//--------------------------------------------------------------------
int deinit()                                    // Спец. ф-ия deinit
  {
   if (Experts ==1)                             // Если эксперт один..
      GlobalVariableDel(Quantity);              //..удаляем GV-перемен
   else                                         // А иначе..
      GlobalVariableSet(Quantity, Experts-1);   //..уменьшаем на 1
   Alert("Эксперт выгружен из окна ",Symbol()); // Сообщ. о выгрузке
   return;                                      // Выход из deinit()
  }
//--------------------------------------------------------------------

Frage: Warum sind in diesem Beispiel die GV-Variablen Expert und New_Expert vom Typ int, obwohl diese Variablen, wie bereits erwähnt, vom Typ double sein sollten?

 

Guten Tag, können Sie mir sagen, was mit dem EA falsch sein könnte?

//+------------------------------------------------------------------+
//|                                                           iB.mq4 |
//|                        Copyright 2012, MetaQuotes Software Corp. |
//|                                        http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright 2012, MetaQuotes Software Corp."
#property link      "http://www.metaquotes.net"

int MagicNumber = 1981;
//-----------------------------------------
extern double  Percent        = 0.8;
extern double  Lots           = 0.1;

bool Accept()
  {
   bool TradeOpen;
//----
   for(int i=0;i<OrdersTotal();i++)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break;
      if(OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber)
        {
         if(OrderType()==OP_BUYSTOP || OrderType()==OP_SELLSTOP) TradeOpen=false;
            else TradeOpen=True;
         if (OrderType() == OP_BUY)
            {if (OrderStopLoss() < (Low[1] * Point)) 
                  OrderModify(OrderTicket(),OrderOpenPrice(),(Low[1] * Point),0,0,Green);}
         if (OrderType() == OP_SELL) 
            {if (OrderStopLoss() > (High[1] * Point)) 
                  OrderModify(OrderTicket(),OrderOpenPrice(),(High[1] * Point),0,0,Red);}
        }
     }

   return(TradeOpen);
  }
//-------------------------------------------------------------------+
int start()
  {
//----
   if (Accept())
   {
      if(High[1]<High[2] && Low[1]>Low[2])   
         if ((High[1]-Low[1])/(High[2]-Low[2])<Percent)
       {
         OrderSend(Symbol(), OP_BUYSTOP, Lots, High[1], 3, Low[2], 0, "iB", MagicNumber, 0, Green);
         OrderSend(Symbol(), OP_SELLSTOP, Lots, Low[1], 3, High[2], 0, "iB", MagicNumber, 0, Red);
       }
   }
   return(0);
  }
//+------------------------------------------------------------------+
Er kompiliert problemlos, ohne Fehler, aber er handelt nicht. Ich habe versucht, verschiedene Codeblöcke auszukommentieren, aber ich habe den Übeltäter nicht gefunden. Ich habe keine Probleme mit der Logik festgestellt.
 
Ich habe mein Passwort für mein altes Demokonto vergessen. Wo kann ich es finden?
 
MikeM:
Ich habe mein Passwort für mein altes Demokonto vergessen. Wo kann ich es finden?


Sie haben sie nirgendwo, wenn Sie sich nicht selbst um die Speicherung gekümmert haben - ich habe mich beim Support-Team eines der Maklerunternehmen erkundigt.

Sie müssen Ihre E-Mail überprüfen - wenn Sie ein Konto eröffnen, werden Ihnen alle Parameter, einschließlich der Passwörter, zugesandt...