[¡Archivo!] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. No puedo ir a ningún sitio sin ti - 4. - página 553

 
El inicio es inevitable en cada tic, pero en él se pueden dar las condiciones necesarias.
 
¡Buenas tardes! Sabes, algo no está funcionando en mi receta. Cuando lo arrastro al gráfico, no ocurre nada. ¿Cómo lo utilizo?
//+------------------------------------------------------------------+
//|                                                      Покупка.mq4 |
//|                        Copyright 2012, MetaQuotes Software Corp. |
//|                                        http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright 2012, MetaQuotes Software Corp."
#property link      "http://www.metaquotes.net"

//+------------------------------------------------------------------+
//| script program start function                                    |
//+------------------------------------------------------------------+
int start()
  {
//----
for(int i=0;i<=OrdersTotal();i++){
   if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES) == true)
 { if(OrderSymbol() != Symbol()) continue; 
   if(OrderType()==OP_SELL) 
  OrderClose(OrderTicket(),OrderLots(),Ask,6,Red);
   if(OrderType()==OP_BUY)
  OrderClose(OrderTicket(),OrderLots(),Bid,6,Red);
   if(OrderType()>=2)
  OrderDelete(OrderTicket());}} 
//----
   for(i=0;i<23;i++){
    Sleep(2000);RefreshRates(); if(!IsTradeAllowed())continue;
    int tiket=OrderSend(Symbol(),OP_BUY,0.1,Ask,6,0,0,"Skript",98600,0,Blue);
   if( tiket!=-1)break;
   if (tiket==-1){ int Error=GetLastError();  
            string errorcomment = "Ошибка открытия  ордера OP_BUY"  + " " + Symbol() +  " " + ErrorDescript(Error); 
            Print (errorcomment);}}
//----
   return(0);
  }
//+------------------------------------------------------------------+

//------- :  Коды ошибок
string ErrorDescript(int error_code){string error_string;switch(error_code){
      //---- Коды ошибок, возвращаемые торговым сервером:
      case 0:   error_string="Нет ошибок";                                                                                             break;
      case 1:   error_string="Нет ошибки, но результат неизвестен";                                                                    break;
      case 2:   error_string="Общая ошибка";                                                                                           break;
      case 3:   error_string="Неправильные параметры";                                                                                 break;
      case 4:   error_string="Торговый сервер занят";                                                                                  break;
      case 5:   error_string="Старая версия клиентского терминала";                                                                    break;
      case 6:   error_string="Нет связи с торговым сервером";                                                                          break;
      case 7:   error_string="Недостаточно прав";                                                                                      break;
      case 8:   error_string="Слишком частые запросы";                                                                                 break;
      case 9:   error_string="Недопустимая операция нарушающая функционирование сервера";                                              break;
     
 
paladin80:

Tras la normalización, el número cambia, por ejemplo

Otra cosa es cuando lo imprimes, con DoubleToStr, por ejemplo:

Y si lo imprimes después de la normalización, queda así:


Gracias.
 

Buenas tardes.

Necesito calcular el beneficio total de sólo las dos últimas posiciones de compra. ¿Cómo puedo reescribir el código?

double profits_buy_2pos()
{
   double pr_buy = 0;
   int cnt = 0;
   int OpenOrders=OrdersTotal();
   for(cnt=0;cnt<OpenOrders;cnt++)   // scan all orders and positions. ..
   {
     OrderSelect(cnt, SELECT_BY_POS);
          if (OrderSymbol()==Symbol() && OrderMagicNumber()==magic && OrderType() == OP_BUY)
          {     
          if (OrderType()==OP_BUY) 
          {
            pr_buy+= OrderProfit();
          } 
          }                               
   } 
return(pr_buy);   
}
 
¿Cómo puedo establecer un Take Profit en Metatrader4 haciendo clic en un gráfico? No es muy cómodo utilizar el menú contextual -> "modificar orden".
 
abeiks:

Buenas tardes.

Necesito calcular el beneficio total de sólo las dos últimas posiciones de compra. ¿Cómo puedo reescribir el código?


Función de Kim IV.

La función GetProfitOpenPosInCurrency(). - Para ayudar.

+ Usted mismo reordena el bucle, es decir, va del último al primero, sumando el beneficio de las órdenes de compra y añadiendo el contador de las posiciones de compra calculadas. En cuanto llega a 2, se sale del bucle y ya está.

 
ascerdfg:
¿Cómo puedo establecer un Take Profit en Metatrader4 haciendo clic en un gráfico? El menú contextual -> "modificar orden" es muy incómodo.
El propio terminal no puede hacerlo, pero hay scripts que pueden hacerlo. Por ejemplo, este. Hay varios scripts similares en nuestra base de datos.
 
Roman.:

Función de Kim IV.

Función GetProfitOpenPosInCurrency(). - ayuda.

+ Vuelves a hacer el bucle tú mismo, es decir, pasas del último al primero, sumando el beneficio de las órdenes de compra y añadiendo el contador de las posiciones de compra contadas. En cuanto llegue a 2, se sale del bucle y ya está.


Gracias.

 

Amigos, por favor, ayúdenme a encontrar el primer fractal del día en el gráfico horario. ¿Y que al principio del día siguiente se "reinicie" y busque un nuevo primer fractal?

Gracias de antemano.

 
granit77:
El terminal por sí mismo no puede hacer esto, pero hay scripts que pueden hacerlo. Este, por ejemplo. Y hay varios scripts similares en la base de datos.


Son muy burdos, ¿dónde puedo conseguir uno que sea más fácil?
Razón de la queja: