[¡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 493

 
hoz:

Por supuesto que lo entiendo. Excepto que nunca he visto la presencia de una orden analizada de esta manera antes:

normalmente sólo sin ==true... Me gustó ese punto. Aunque es interesante, no he visto este método en otros EAs. Entiendo la lógica, pero aún así.

Una misma acción en el código puede ser escrita de diferentes maneras y todas serán ejecutadas correctamente. La diferencia puede verse en la simplicidad de la escritura del código o en su velocidad, o en ambas cosas juntas y se puede decir que el código fue escrito por un profesional.
 
¿Puede decirme cómo detener al experto? Una búsqueda no dio nada significativo :((
 
fmillion:
¿Puedes decirme la función para detener un EA? La búsqueda no dio nada claro :(((

No hay problema:

bool ОстановкаСоветника (bool Причина)
{if (Причина) return (true) else return (false);}

int start()
{
    if (ОстановкаСоветника (Причина)) return (0);
    //---- Код советника

}

y también puede utilizar el botón "Asesores" en el terminal para desactivar un EA.

 

Hola

¿Podría decirme por favor

Cuando paso por la función OrderSelect, los pedidos se ordenan por el número de pedido, no por ticket

¿Por qué parámetro se clasifican estos pedidos?

Me he dado cuenta de que están ordenadas por la hora de apertura de la orden, es decir, la última orden es la última en cuanto a la hora de apertura, ya sea de mercado o pendiente

¿es siempre así en esta función o es diferente?

¿Es posible obtener siempre un ticket de la última orden abierta/colocada de esta manera?

 
while(!IsTradeAllowed()) Dormir(500);
RefreshRates();
if(Cmd == 0) PR = Oferta; si no, PR = Demanda;
int tic=OrderSend(Symbol(),Cmd,Lot,PR,Slippage,0,",Magic,0,CLR_NONE);
if(tic<0){
Print("Error de apertura de pedido: ",GetLastError());
Print("Par=",Símbolo(),"...Mando=",Mando,"...Lote=",Lote,"...Precio=",DoubleToStr(PR,Dígitos));

}

Deslizamiento = 5 puntos

Error 129 )) ..... ¿Dónde diablos está? ¿Qué pasa?

 
fmillion:
while(!IsTradeAllowed()) Dormir(500);
RefreshRates();
if(Cmd == 0) PR = Oferta; si no, PR = Demanda;
int tic=OrderSend(Symbol(),Cmd,Lot,PR,Slippage,0,",Magic,0,CLR_NONE);
if(tic<0){
Print("Error de apertura de pedido: ",GetLastError());
Print("Par=",Símbolo(),"...Mando=",Mando,"...Lote=",Lote,"...Precio=",DoubleToStr(PR,Dígitos));

}

Deslizamiento = 5 puntos

Error 129 )) ..... ¿Dónde diablos está? ¿Qué pasa?

Pruébalo así:

if(Cmd == 0) PR =Pregunta; si no, PR =Oferta;

Creo que esto ayudará.

 

Este es el guión:

//+------------------------------------------------------------------+
//|                                Brooky_FibIt_Extension_Script.mq4 |
//|                        Copyright 2012, www.Brooky_Indicators.com |
//|                                        www.Brooky_Indicators.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2012, www.Brooky_Indicators.com"
#property link      "www.Brooky_Indicators.com"
#property show_confirm  
#property show_inputs
//+---------------------
//| script program start function                                    |
//+------------------------------------------------------------------+

extern int       FibOnChartNum =1;

extern color     Fib_Cbar_Color = Red;
extern int       Fib_Cbar_Size=1;
extern int       Fib_Cbar_Style=2;

extern color     Fib_Level_Color = Gray;
extern int       Fib_Level_Size=1;
extern int       Fib_Level_Style=2;

extern double     Fib_Level_1 = -0.117;
extern double     Fib_Level_2 = 0;
extern double     Fib_Level_3 = 1;
extern double     Fib_Level_4 = 1.618;
extern double     Fib_Level_5 = 2;
extern double     Fib_Level_6 = 2.382;
extern double     Fib_Level_7 = 3;

string Xtra_txtFib_Level_1  = "(SL) ";
string Xtra_txtFib_Level_2  = "";
string Xtra_txtFib_Level_3  = "";
string Xtra_txtFib_Level_4  = "(TP1)";
string Xtra_txtFib_Level_5  = "(TP2)";
string Xtra_txtFib_Level_6  = "Re Entry Break ";
string Xtra_txtFib_Level_7  = "";


string txtFib_Level_1  = "";
string txtFib_Level_2  = "";
string txtFib_Level_3  = "";
string txtFib_Level_4  = "";
string txtFib_Level_5  = "";
string txtFib_Level_6  = "";
string txtFib_Level_7  = "";


string FibPrice = " @ %$";
string FibName = "";


int start()
  {
//----
      txtFib_Level_1 = StringConcatenate(Xtra_txtFib_Level_1,DoubleToStr(Fib_Level_1,3),FibPrice);
      txtFib_Level_2 = StringConcatenate(Xtra_txtFib_Level_2,DoubleToStr(Fib_Level_2,3),FibPrice);
      txtFib_Level_3 = StringConcatenate(Xtra_txtFib_Level_3,DoubleToStr(Fib_Level_3,3),FibPrice);
      txtFib_Level_4 = StringConcatenate(Xtra_txtFib_Level_4,DoubleToStr(Fib_Level_4,3),FibPrice);
      txtFib_Level_5 = StringConcatenate(Xtra_txtFib_Level_5,DoubleToStr(Fib_Level_5,3),FibPrice);
      txtFib_Level_6 = StringConcatenate(Xtra_txtFib_Level_6,DoubleToStr(Fib_Level_6,3),FibPrice);
      txtFib_Level_7 = StringConcatenate(Xtra_txtFib_Level_7,DoubleToStr(Fib_Level_7,3),FibPrice);
      
      
      
      FibName = "Brooky_Fib_"+FibOnChartNum;
      ObjectDelete(FibName);
      
      ObjectCreate(FibName,OBJ_FIBO,0,Time[9],High[24],Time[1],Low[1]);
      
      ObjectSet(FibName, OBJPROP_COLOR,Fib_Cbar_Color);
      ObjectSet(FibName, OBJPROP_WIDTH ,Fib_Cbar_Size);
      ObjectSet(FibName, OBJPROP_STYLE ,Fib_Cbar_Style);
      
      ObjectSet(FibName, OBJPROP_RAY,True);
       
      ObjectSet(FibName, OBJPROP_LEVELSTYLE,Fib_Level_Style);
      ObjectSet(FibName, OBJPROP_LEVELCOLOR,Fib_Level_Color);      
      ObjectSet(FibName, OBJPROP_LEVELWIDTH,Fib_Level_Size);  
       
          
      ObjectSet(FibName, OBJPROP_FIBOLEVELS,7);
      ObjectSet(FibName, OBJPROP_FIRSTLEVEL+0,Fib_Level_1);
      ObjectSet(FibName, OBJPROP_FIRSTLEVEL+1,Fib_Level_2);
      ObjectSet(FibName, OBJPROP_FIRSTLEVEL+2,Fib_Level_3);
      ObjectSet(FibName, OBJPROP_FIRSTLEVEL+3,Fib_Level_4);
      ObjectSet(FibName, OBJPROP_FIRSTLEVEL+4,Fib_Level_5);
      ObjectSet(FibName, OBJPROP_FIRSTLEVEL+5,Fib_Level_6);
      ObjectSet(FibName, OBJPROP_FIRSTLEVEL+6,Fib_Level_7);
      

     
      ObjectSetFiboDescription(FibName,0,txtFib_Level_1);
      ObjectSetFiboDescription(FibName,1,txtFib_Level_2);
      ObjectSetFiboDescription(FibName,2,txtFib_Level_3);
      ObjectSetFiboDescription(FibName,3,txtFib_Level_4);
      ObjectSetFiboDescription(FibName,4,txtFib_Level_5);
      ObjectSetFiboDescription(FibName,5,txtFib_Level_6);      
      ObjectSetFiboDescription(FibName,6,txtFib_Level_7);
//----
   return(0);
  }
//+------------------------------------------------------------------+

Hay un truco así:

string FibPrice = " @ %$"

La pregunta que surge es: ¿qué significa esto?

¿Es sólo un conjunto de caracteres o tiene sentido?

 
RaYDeR.tr:

Hola

¿Podría decirme por favor

Cuando paso por la función OrderSelect, los pedidos se ordenan por el número de pedido, no por ticket

¿Por qué parámetro se clasifican estos pedidos?

Me he dado cuenta de que están ordenadas por la hora de apertura de la orden, es decir, la última orden es la última en cuanto a la hora de apertura, ya sea de mercado o pendiente

¿es siempre así en esta función o es diferente?

¿Es posible obtener siempre un ticket de la última orden abierta/colocada de esta manera?

Por desgracia, también ocurre lo contrario. Ya lo he hecho antes. Así que es mejor buscar en la lista el último pedido por el tiempo máximo de apertura.
 
hoz:

Este es el guión:

Hay un truco así:

La pregunta que surge es: ¿qué significa esto?

¿Es sólo un conjunto de caracteres o tiene sentido?

Lo ejecutas y lo ves. Un "set" bastante útil.
 
Zhunko:
Lo ejecutas y lo ves. Un "set" bastante útil.

Correrlo. De hecho, lo tengo en un gráfico. Me pregunto por qué el autor ha metido estos símbolos...