[Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Da nessuna parte senza di te - 4. - pagina 207

 
Un consiglio, per favore: quando creo la funzione ObjectCreate (quando creo una linea di tendenza), ottengo un raggio, che, seguendo da un punto all'altro ha una continuazione sul grafico solo a destra.
 
DemanRap: Quindi la semiretta che va da un punto all'altro continua solo sul lato destro del grafico, ma come posso farla continuare sul lato sinistro?
Non puoi disegnare un raggio verso sinistra, o vuoi una linea retta invece di un raggio?
 
Voglio che il mio robot sia in grado di tracciare dove sarebbe questo raggio sui dati storici. Per esempio, voglio controllare quanto sarebbe vicino ad altri frattali, non solo i 2 frattali su cui l'ho originariamente costruito.
 
Sì, quindi il mio obiettivo è quello di ottenere una linea retta.
 
DemanRap: Sì, quindi il mio obiettivo è quello di ottenere una linea retta.

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); // добавить

Per ottenere una linea retta, prova a sommare le linee evidenziate

 
Grazie mille, ma si è rivelato essere molto più semplice. ho solo disegnato un altro raggio e scambiato time1, price1 e time2 price2 in esso. ma mi ci è voluto un giorno intero per capirlo)))
 
Aleksander:

che dire di loro? - globale a livello di terminale?

memorizzano un po' di tempo nel file variabile :-) data di accesso, nome e valore di tipo doppio


La domanda sulle variabili GV è la seguente... Nel libro di S.K. su MQL4, nel capitolo "GlobalVariables" nella sezione "Properties of GV-Variables" è scritto: "Una variabile GV può essere solo di tipo doppio". Sotto, nella sezione "Funzione GlobalVariableDel()", c'è un esempio di esperto globalvar.mq4 con il seguente contenuto:

//--------------------------------------------------------------------
// 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()
  }
//--------------------------------------------------------------------

Domanda: perché in questo esempio le variabili GV Expert e New_Expert sono di tipo int. anche se, come detto prima, queste variabili dovrebbero essere di tipo double?

 

Buon pomeriggio, potete dirmi cosa potrebbe esserci di sbagliato nell'EA?

//+------------------------------------------------------------------+
//|                                                           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);
  }
//+------------------------------------------------------------------+
Compila senza problemi, nessun errore, ma non scambia. Ho provato a commentare diversi blocchi di codice, ma non ho trovato il colpevole. Non ho notato alcun problema con la logica.
 
Ho dimenticato la mia password sul mio vecchio conto demo. Dove posso trovarlo?
 
MikeM:
Ho dimenticato la mia password sul mio vecchio conto demo. Dove posso trovarlo?


Non ce l'hai da nessuna parte, se non ti sei occupato tu stesso di salvarlo - ho controllato con il team di supporto di una delle società di brokeraggio.

Devi controllare la tua email - quando apri un account ti mandano tutti i suoi parametri, comprese le password...