[ARQUIVO] Qualquer pergunta de novato, de modo a não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 3. - página 457

 
sergeev:

normalize seus _ lotes

Obrigado! Isso ajudou.
 
Olá! Tenho uma pergunta sobre a exportação de dados para o Excel. Eu preciso do indicador (ou script) para exportar automaticamente os valores atuais de "Saldo", "Fundos", etc. para o Excel no início de cada dia. Você pode me dizer como implementar isto? Ou pelo menos onde ler sobre isso. A pesquisa não produziu nenhum resultado, por isso estou perguntando aqui. Obrigado.
 
Gerkl:
Olá! Tenho uma pergunta sobre a exportação de dados para o Excel. Eu preciso do indicador (ou script) para exportar automaticamente os valores atuais de "Saldo", "Fundos", etc. para o Excel no início de cada dia. Você pode me dizer como implementar isto? Ou pelo menos onde ler sobre isso. A pesquisa não produziu nenhum resultado, por isso estou perguntando aqui. Obrigado.
Você pode salvar um arquivo csv com o Expert, o Excel irá processá-lo com bastante sucesso.
 
splxgf:
Você pode salvar um arquivo csv com um especialista e o Excel irá processá-lo com bastante sucesso.
Você pode me dizer como fazer isso? E onde saber mais sobre isso. Obrigado.
 
Gerkl:
Você pode me dizer como fazer isso? E onde posso saber mais sobre isso? Obrigado.
https://docs.mql4.com/ru/files
 

Favor aconselhar como fazer um indicador no EA para não ser desenhado em um gráfico?

Isto é, as linhas do indicador não seriam desenhadas no gráfico. O indicador é chamado assim:

indikator_1=iMA(NULL,60,maTrendPeriodv_1,0,MODE_SMA,PRICE_CLOSE,0);
 
Obrigado. Embora não me diga muito, será investigado.
 
belck:

Favor aconselhar como fazer um indicador no EA para não ser desenhado em um gráfico?

Isto é, as linhas do indicador não seriam desenhadas no gráfico. O indicador é chamado assim:

indikator_1=iMA(NULL,60,maTrendPeriodv_1,0,MODE_SMA,PRICE_CLOSE,0);
A menos que você mesmo a coloque na tabela, ela não será refletida quando a EA estiver em funcionamento. Como você fez isso?
 

Durante os testes EA eu recebo erro 130 - paradas erradas. Na função NewOrder as variáveis externas TakeProfit e StopLoss devem ser passadas, e me parece que fiz de tudo para conseguir isso, mas como a impressão mostra, os zeros são passados. Entendo a razão deste erro aqui, mas ainda não fui capaz de encontrá-lo. Eu preciso de sua ajuda.

Exterior int TakeProfit=100;
externo int StopLoss=100;

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

if(KVADRAT===1)
{
double Lot=GetLot(MaxRisk);
Imprimir("Lote=",Lote);
if(Lote==0)
{
Imprimir ("não há fundos suficientes");
retorno(0);
}
NewOrder(OP_BUYSTOP, Lot, TakeProfit, StopLoss);
NewOrder(OP_SELLSTOP, Lot, TakeProfit, StopLoss);
KVADRAT=0;
}

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

//+---------Функция расчета лота---------------------------------------+
duplo GetLot(int Risk)
{
duplo 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 Lot=MathFloor(Free*Risk/100/One_Lot/Step)*Step;
if(Lot<Min_Lot)Lot=Min_Lot;
if(Lote>Lote_Máximo)Lote=Lote_Máximo;
if(Lote*Um_Lote>Livre)return(0.0);
retorno(Lote);
}

//+----------Функция открытия ордера-----------------------------------+
int NewOrder(int Cmd,double Lot,int TakeProfit,int StopLoss)
{
duplo TP=0;//takeProfit
duplo SL=0;// stopLoss
duplo PR=0;// preço
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=NormalizeDuplo(Pergunte,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=NormalizeDouble(Bid,Digits);
if(TakeProfit>0)TP=NormalizeDouble(Bid-TakeProfit*Point,Dígitos);
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("order open error:",GetLastError()); Print("Cmd-",Cmd, "Lot=",Lot, "PR=",PR, "SL=",SL, "TP=",TP);
retorno(tique);
}

 
DhP:
Faça um pouco de magia com esta função.

* ¶ gone to do magic *