Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. En ninguna parte sin ti - 6. - página 46

 
KarpovNikolay:

Hola a todos. Soy nuevo en el comercio, estoy sentado en la demo con Asesores Expertos, pero quiero empezar real con $ 45. Por ahora estoy probando EAs, por lo que quiero usar señales. Yo uso MT4. He seleccionado una lista de la que me gustaría que me ayudaras a elegir la mejor señal. Esta es la lista:

https://www.mql5.com/ru/signals/10276

https://www.mql5.com/ru/signals/11021

https://www.mql5.com/ru/signals/6283

https://www.mql5.com/ru/signals/10964

https://www.mql5.com/ru/signals/9649

¡Es la suerte del principiante! ¡Pero es mejor no perder el tiempo, estudiar el comercio, el idioma! Tal vez tengas suerte.
 
Buenas tardes. ayúdenme por favor si la variable sig=1 necesita que la variable pol recuerde el saldo y no cambie su valor sin importar el tiempo que siga mostrando y si sig=1 de nuevo que recuerde el actual por favor denme el código
 
sannin:
Buenas tardes. ayúdenme por favor si la variable sig=1 necesita que la variable pol recuerde el saldo y no cambie su valor sin importar el tiempo que siga mostrando y si sig=1 de nuevo que recuerde el actual por favor denme el código
    if (сиг == 1) pol = AccountBalance();
 
TarasBY:


si el saldo cambia, el sexo será igual al nuevo saldo

esto es inmediatamente visible si se hace lo siguiente

int pol;
Comentario("\n saldo: ", pol);

pol=Saldo de la cuenta();

 

Hice un Asesor Experto para probar el comercio, pero no puedo averiguar una cosa...

La bahía/venta se abre usando las MAs máximas y mínimas

// Condición para abrir la posición de COMPRA
if(MA_L1<MA_L0&&Ask<=MA_L0&MA_0>MA_1&&HA_up>HA_dw)

// Condición para abrir una posición de VENTA
if(MA_H1>MA_H0&&Bid>=MA_H0&MA_0<MA_1&HA_up<HA_dw)

#include <b-Lots.mqh>
extern double TrailingStop = 30;
extern double Sploss = 15;
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
int start() {
   double HA_up,HA_dw;
   double MA_H0,MA_H1,MA_L0,MA_L1,MA_0,MA_1;
   int i, cnt, ticket, total;
   bool flag=true;

   if(Bars<100) {
      Print("bars less than 100");
      return(0); 
   }
// Проверяем стоит ли открываться
   
   cnt=OrdersHistoryTotal()-1;
   for(i=cnt;i>=0;i--) {
      if(!OrderSelect(i, SELECT_BY_POS, MODE_HISTORY )) continue;
      if(OrderOpenTime()>=Time[0]) { // Time[0] - если позиция открывается на нулевом баре текущего символа
         flag=false;
         break;
      }
   }
   cnt=OrdersTotal()-1;
   for(i=cnt;i>=0;i--) {
      if(!OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) continue;
      if(OrderOpenTime()>=Time[0]) { // Time[0] - если позиция открывается на нулевом баре текущего символа
         flag=false;
         break;
      }
   }
   if(!flag) return(0); 
//-----------------------------------------------
   MA_H0=iMA(0,0,3,0,MODE_SMA,PRICE_HIGH,0);
   MA_H1=iMA(0,0,3,0,MODE_SMA,PRICE_HIGH,1);
   MA_0=iMA(0,0,3,0,MODE_EMA,PRICE_MEDIAN,0);
   MA_1=iMA(0,0,3,0,MODE_EMA,PRICE_MEDIAN,1);
   MA_L0=iMA(0,0,3,0,MODE_SMA,PRICE_LOW,0);
   MA_L1=iMA(0,0,3,0,MODE_SMA,PRICE_LOW,1);
   HA_up=iCustom(0,0,"Heiken Ashi",3,0);
   HA_dw=iCustom(0,0,"Heiken Ashi",2,0);

//задали все данные 

   total=OrdersTotal();
   if(total<1) 
     {
      // Проверка свободной маржи
      if(AccountFreeMargin()<(1000*Lots))
        {
         Print("We have no money. Free Margin = ", AccountFreeMargin());
         return(0);  
        }
      // Условие открытие позиции BUY
      if(MA_L1<MA_L0&&Ask<=MA_L0&&MA_0>MA_1&&HA_up>HA_dw)
        {
         Lots=GetSizeLot();
         ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,5,Bid-Sploss*Point,0,"",16384,0,Green);
         if(ticket>0)
           {
            if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("BUY order opened : ",OrderOpenPrice());
           }
         else Print("Error opening BUY order : ",GetLastError()); 
         return(0); 
        }
      // Условие открытие позиции SELL
      if(MA_H1>MA_H0&&Bid>=MA_H0&&MA_0<MA_1&&HA_up<HA_dw)
        {
         Lots=GetSizeLot();
         ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,5,Ask+Sploss*Point,0,"",16384,0,Red);
         if(ticket>0)
           {
            if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("SELL order opened : ",OrderOpenPrice());
           }
         else Print("Error opening SELL order : ",GetLastError()); 
         return(0); 
        }
      return(0);
     }
    
   for(cnt=0;cnt<total;cnt++)
     {
      OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
      if(OrderType()<=OP_SELL &&   
         OrderSymbol()==Symbol())  
        {
         if(OrderType()==OP_BUY)   // длинная позиция открыта
           {
           if(NormalizeDouble (MathAbs(MA_H0-Bid),Digits)<Point)
                {
                 OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet); 
                 return(0); 
                }
            // трейлинг-стоп для длинной позиции
            if(TrailingStop>0)  
              {                 
               if(Bid-OrderOpenPrice()>Point*TrailingStop)
                 {
                  if(OrderStopLoss()<Bid-Point*TrailingStop)
                    {
                     OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*TrailingStop,OrderTakeProfit(),0,Green);
                     return(0);
                    }
                 }
              }
           }
         else 
           {
           if(NormalizeDouble (MathAbs(MA_L0-Ask),Digits)<Point)
              {
               OrderClose(OrderTicket(),OrderLots(),Ask,3,Violet); 
               return(0); 
              }
            // трейлинг-стоп для короткой позиции
            if(TrailingStop>0)  
              {                 
               if((OrderOpenPrice()-Ask)>(Point*TrailingStop))
                 {
                  if((OrderStopLoss()>(Ask+Point*TrailingStop)) || (OrderStopLoss()==0))
                    {
                     OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*TrailingStop,OrderTakeProfit(),0,Red);
                     return(0);
                    }
                 }
              }
           }
        }
     }
   return(0);
  }

Pregunta: Si la posición en la vela actual no está cerrada (las condiciones no han llegado), cómo cerrarla en la siguiente vela, cuando coincida con MA_0= iMA ( 0, 0, 3, 0, MODE_EMA, PRICE_MEDIAN, 0 );

Tenemos una condición de cierre: cruzar el máximo o el mínimo de la vela actual, pero necesitamos que la posición se cierre en la siguiente vela después de abrirla.

Podemos escribir if ( NormalizeDouble ( MathAbs (MA_0-Ask), Digits )< Point ), pero cómo cumplir la condición de la segunda vela abierta.


Si puedes responder con código, el ejemplo es más claro.

 
sannin:


si el saldo cambia, pol será igual al nuevo saldo

Esto es inmediatamente visible si se hace lo siguiente

int pol;
Comentario("\n saldo: ", pol);

pol=Saldo de la cuenta();

No se puede comprobar nada con este código. Y la variable pol debe ser declarada globalmente, así como la variable sig.
 
TarasBY:
Este código no comprueba nada. Y la variable pol debe ser declarada globalmente, así como la variable sig.


bueno... como hacerlo... el somente muestra el valor actual de la variable pol

al principio, la mitad del pedido muestra el saldo inicial

abro una orden y mi saldo es igual al inicial pero si cierro en beneficio o viceversa el saldo cambia

El sexo se convierte en un nuevo equilibrio bajo ciertas condiciones y hasta que estas condiciones se cumplan, es igual al equilibrio inicial.

 
borilunad:
Para el código MQL4, utiliza el SRC y todo el mundo podrá descubrirlo y ayudarte.

Gracias, lo sabré.
 
sannin:


bueno... como hacerlo... el comentario muestra el valor actual de la variable sexo

al principio, la mitad del pedido muestra el saldo inicial

abro una orden y mi saldo es igual al inicial pero si cierro en beneficio o viceversa el saldo cambia

necesito que el suelo se convierta en un nuevo saldo bajo ciertas condiciones y hasta que se cumplan las condiciones el suelo es igual al saldo inicial

Hay una categoría de personas que no saben escuchar, es casi imposible ayudarlas.
 
TarasBY:
Hay una categoría de personas que no saben escuchar, es casi imposible ayudarlas.


Hola, ayudenme por favor si necesito que la variable pol almacene el saldo cuando la variable sig=1 sin cambiar su valor, no importa el tiempo que siga mostrando, y si sig=1 de nuevo necesito almacenar el actual , por favor denme el código

está de acuerdo

Todo el mundo es un listillo.

Lo siento... la cosa es que he estado temiendo la tarea durante dos días...

Yo no pediría ayuda.