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

 
Chiripaha:

No, no es más fácil. Porque si había una bandera negativa (o una variable global), la comprobación todavía tiene que ser ejecutada. Tanto la bandera como la variable global sólo funcionarán en el caso positivo. Y algunas funciones siguen siendo necesarias al inicio (aunque, aquí es diferente).

Se mire por donde se mire, el arranque sigue siendo necesario de todas formas: ya sea mediante la repetición del "init", que es igual de molesto, o mediante la repetición de las funciones necesarias.


Estás haciendo algo tan complicado que es casi imposible de comprender...

Dígame, ¿cuál es la diferencia entre la devolución de un valor por una función, o una variable global que cambia en la función, cuyo resultado debe ser devuelto? En este caso "inite".

 

Colegas, ¿cuál es el error?

//========================================================================================================//     
                                             //---- SELL ----//
//========================================================================================================//

if(OrdS<=OrederSell) 
  { //----- start

if(.........)
  
{ticketSell=OrderSend(Symbol(),OP_SELL,0.1,Bid,3,0,0,0,magick,0,Blue);OrdS++; Этот ордер открывается
Sleep(3000); RefreshRates();
 ticketSell2=OrderSend(Symbol(),OP_SELL,0.2,Bid-20*Point,3,0,0,0,magick,0,Blue);OrdS++; Ошибка 138 или OP_SELLLIMIT - 130
 Sleep(3000); RefreshRates();
 ticketSell3=OrderSend(Symbol(),OP_SELL,0.4,Bid-40*Point,3,0,0,0,magick,0,Blue);OrdS++; Ошибка 138 или OP_SELLLIMIT - 130
}
 
  } //-----end
          
//========================================================================================================//  
                                             //---- BUY ----//
//========================================================================================================//  

if(OrdB<=OrederBuy)
  { //-----start

if(.........)

{ticketBuy=OrderSend(Symbol(),OP_BUY,0.1,Ask,3,0,0,0,magick,0,Red);OrdB++; Этот ордер открывается
Sleep(3000); RefreshRates();
 ticketBuy2=OrderSend(Symbol(),OP_BUY,0.2,Ask+20*Point,3,0,0,0,magick,0,Red);OrdB++; Ошибка 138 или OP_BUYLIMIT - 130
 Sleep(3000); RefreshRates();
 ticketBuy3=OrderSend(Symbol(),OP_BUY,0.4,Ask+40*Point,3,0,0,0,magick,0,Red);OrdB++; Ошибка 138 или OP_BUYLIMIT - 130
}

Ya he comprobado en el foro el error 130/138, pero sigo sin entender por qué no se abren las órdenes adicionales 2 y 3. Sólo los principales.

 
NORMALIZACIÓN
 
Fox_RM:

Colegas, ¿cuál es el error?

Ya he comprobado en el foro el error 130/138, pero sigo sin entender por qué no se abren las órdenes adicionales 2 y 3. Sólo los principales.

Colega, quieres abrir órdenes de mercado no a precio de mercado... :)
Y no está de más entender la diferencia entre órdenes limitadas (SELLLIMIT y BUYLIMIT) y órdenes stop (SELLSTOP y BUYSTOP).

 
TarasBY:
Colega, quieres abrir órdenes de mercado no a precio de mercado... :)

Y en efecto
 
Buenas tardes. Hay dos puntos con coordenadas (x1,y1) y (x2,y2). ¿Cómo puedo utilizar estos dos puntos para construir una función logarítmica con una base de logaritmo que no sea la natural? Parece que tengo que usar la función inversa(MathPow), pero no puedo averiguar cómo hacerla diagonal. Si alguien se ha enfrentado a ello, por favor, avise. Gracias de antemano.
 
hoz:

Así que el ciclo no tiene fin, por eso se estanca.

¿Cuál es la forma correcta de terminar?
 
Chiripaha:

No, no es más fácil. Porque si había una bandera negativa (o una variable global), la comprobación todavía tiene que ser ejecutada.

No todos son iguales.

Chiripaha:

Tanto la bandera como el global sólo se activarán en el caso positivo. Y algunas funciones siguen siendo necesarias en Start (aunque, aquí es diferente).

Si hay una interrupción de la conexión o algo así, la bandera adquirirá un significado diferente. Hay que decidir cómo crear las condiciones adecuadas para ello.
 
Krokus:

¿Cuál es la forma correcta de terminar?
Es algo así:
int i, countedBars = IndicatorCounted();
        
    for(i = Bars - countedBars;i > 0;i--)
    {
      pointOfMaFirst = iMA(Symbol(),maTF,maPeriod,maShiftByPrice,maMethod,maPrice,shiftBarsBack1);
      pointOfMaLast = iMA(Symbol(),0,maPeriod,maShiftByPrice,maMethod,maPrice,shiftBarsBack2);    
    }
 
TarasBY:

Colega, quieres abrir órdenes de mercado no a precio de mercado... :)
También ayudaría a entender la diferencia entre órdenes limitadas (SELLLIMIT y BUYLIMIT) y órdenes stop (SELLSTOP y BUYSTOP).


¿Puedo preguntarle qué quiere decir con que no está a precio de mercado? Con SELLLIMIT y BUYLIMIT, todo es correcto.