[ARCHIVO] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. En ninguna parte sin ti - 3. - página 457

 
sergeev:

normalice sus _lotes

Gracias. Ayudó.
 
Hola, tengo una pregunta sobre la exportación de datos a Excel. Necesito que el indicador (o el script) exporte automáticamente los valores actuales de "Saldo", "Fondos", etc. a Excel al principio de cada día. ¿Pueden decirme cómo ponerlo en práctica? O, al menos, dónde leer sobre ello. La búsqueda no ha dado ningún resultado, así que pregunto aquí. Gracias.
 
Gerkl:
Hola, tengo una pregunta sobre la exportación de datos a Excel. Necesito que el indicador (o el script) exporte automáticamente los valores actuales de "Saldo", "Fondos", etc. a Excel al principio de cada día. ¿Puede decirme cómo ponerlo en práctica? O, al menos, dónde leer sobre ello. La búsqueda no produjo ningún resultado, por lo que pregunto aquí. Gracias.
Puedes guardar un archivo csv con Expert, Excel lo procesará con bastante éxito.
 
splxgf:
Puedes guardar un archivo csv con un experto y Excel lo procesará con bastante éxito.
¿Puede decirme cómo hacerlo? Y dónde obtener más información al respecto. Gracias.
 
Gerkl:
¿Puede decirme cómo hacerlo? ¿Y dónde puedo encontrar más información al respecto? Gracias.
https://docs.mql4.com/ru/files
 

Por favor, aconseja cómo hacer que un indicador en el EA no se dibuje en un gráfico?

Es decir, las líneas del indicador no se dibujan en el gráfico. El indicador se llama así:

indikator_1=iMA(NULL,60,maTrendPeriodv_1,0,MODE_SMA,PRICE_CLOSE,0);
 
Gracias. Aunque no me dice mucho, se investigará.
 
belck:

Por favor, aconseja cómo hacer que un indicador en el EA no se dibuje en un gráfico?

Es decir, las líneas del indicador no se dibujan en el gráfico. El indicador se llama así:

indikator_1=iMA(NULL,60,maTrendPeriodv_1,0,MODE_SMA,PRICE_CLOSE,0);
A menos que lo pongas en el gráfico tú mismo, no se reflejará cuando el EA esté funcionando. ¿Cómo lo has hecho?
 

Durante la prueba de EA obtengo el error 130 - paradas erróneas. En la función NewOrder se deberían pasar las variables externas TakeProfit y StopLoss, y me parece que he hecho todo lo posible para conseguirlo, pero como muestra la impresión se pasan ceros. Entiendo que la razón de este error se encuentra aquí pero no he podido encontrarla todavía. Necesito tu ayuda.

extern int TakeProfit=100;
extern int StopLoss=100;

....................................

if(KVADRAT==1)
{
double Lote=GetLot(MaxRisk);
Print("Lote=",Lote);
if(Lot==0)
{
Print("no hay fondos suficientes");
return(0);
}
NewOrder(OP_BUYSTOP, Lot, TakeProfit, StopLoss);
NewOrder(OP_SELLSTOP, Lot, TakeProfit, StopLoss);
KVADRAT=0;
}

.....................................

//+---------Функция расчета лота---------------------------------------+
double GetLot(int Risk)
{
double Free=AccountFreeMargin();
double One_Lot=MarketInfo(Symbol(),MODE_MARGINREQUIRED);
double Min_Lot=MarketInfo(Symbol(),MODE_MINLOT);
double Max_Lot=MarketInfo(Symbol(),MODE_MAXLOT);
double Step=MarketInfo(Symbol(),MODE_LOTSTEP);
double Lote=MathFloor(Libre*Riesgo/100/Un_Lote/Paso)*Paso;
if(Lote<Lote_Mínimo)Lote=Lote_Mínimo;
if(Lote>Lote_máximo)Lote=Lote_máximo;
if(Lote*Uno_Lote>Libre)return(0.0);
retorno(Lote);
}

//+----------Функция открытия ордера-----------------------------------+
int NewOrder(int Cmd,double Lot,int TakeProfit,int StopLoss)
{
double TP=0;//tomarBeneficio
double SL=0;// stopLoss
double PR=0;// precio
while(!IsTradeAllowed())Sleep(100);
if(TakeProfit<MarketInfo(Symbol(),MODE_STOPLEVEL))
TakeProfit=MarketInfo(Symbol(),MODE_STOPLEVEL);
if(StopLoss<MarketInfo(Symbol(),MODE_STOPLEVEL))
StopLoss=MarketInfo(Symbol(),MODE_STOPLEVEL);
if(Cmd==OP_BUY)
{
PR=NormalizarDoble(Pregunta,Dígitos);
if(TakeProfit>0)TP=NormalizeDouble(Ask+TakeProfit*Point,Digits);
if(StopLoss>0)SL=NormalizeDouble(Bid-StopLoss*Point,Digits);
}
if(Cmd==OP_SELL)
{
PR=NormalizarDoble(Oferta,Dígitos);
if(TakeProfit>0)TP=NormalizeDouble(Bid-TakeProfit*Point,Digits);
if(StopLoss>0)SL=NormalizeDouble(Ask+StopLoss*Point,Digits);
}
Print("TakeProfit=",TakeProfit," StopLoss=",StopLoss," StopLevel=",MarketInfo(Symbol(),MODE_STOPLEVEL));
tic=OrderSend(Symbol(),Cmd,Lot,PR,3,SL,TP,"",0,0,CLR_NONE);
if(tic<0)Print("error de apertura de orden:",GetLastError()); Print("Cmd-",Cmd, "Lot=",Lot, "PR=",PR, "SL=",SL, "TP=",TP);
return(tic);
}

 
DhP:
Haz algo de magia con esta función.

* se ha ido a hacer magia *