[ARQUIVO]Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por ela. Não posso ir a lugar nenhum sem você - 5. - página 232

 
Vit1986:

Fez uma conta demo, fez o download de citações (SP500, RTSI, SBER, etc). Criou um Expert Advisor trivial. Eu decidi testá-lo. Mas funciona perfeitamente no SP500, mas não funciona com SBER ou RTSI (abre um pedido e depois termina seu trabalho) e não mostra nenhuma mensagem de erro.


1) Parece mais um roteiro do que um EA.

2. Verifique a quantia de dinheiro na demonstração depois de ter movimentado vinte lotes.

3. Experimente OrderSend(Symbol(),OP_BUY,0.1,Ask,3,Bid-MarketInfo(Symbol(),MODE_STOPLEVEL)*Point,Bid+MarketInfo(Symbol(),MODE_STOPLEVEL)*Point);

4. Adicione um manipulador de erros, pelo menos um Alerta básico (GetLastError());

5. Consulte omanual.

 

Você também pode jogar com segurança e especificar explicitamente os tipos de dados:

int cmd = OP_SELL;//торговая операция
double volume = 0.1;//лот
int slippage = 2;//отклонение ордера в пипсах
double stoploss = 0;//лось
double takeprofit = 0;//профит

int start(){
   OrderSend(Symbol(),cmd,volume,Bid,slippage,stoploss,takeprofit); 
  return(0);
}
 
GaNDarM:

Por que as variáveis são designadas como zero no INIT()? Qual é o erro ou como atribuir os preços de compra e venda a variáveis fora da função start()? Eu tentei colocar RefreshRates(); na frente deles, mas nenhuma mudança :(

Aqui está o código no indicador init():

init()
{
    Print ("Ask = ", Ask, " | Bid = ", Bid);
}

e aqui está o diário de bordo:

2013.03.19 17:49:27     i-PSI@Dash Board EURUSD,M15: Ask = 1.2932 | Bid = 1.293

Por que você está "chorando"?

 
gyfto:

GaNDarM

O ramo

obrigado
 
TarasBY:

Aqui está o código no init() do indicador:

e aqui está o diário de bordo:

Sobre o que você está "chorando"??


Eu estou "chorando" por causa disso:

//---Ф-ЦИЯ init()----------------------------------------------------
int init()
  {
   RefreshRates();// обновляем данные по ценам
   UpL  =  Ask;     // Пик вверх изначально равен цене покупки
   DownL  =  Bid;     // Пик вниз изначально равен цене продажи
   Print ("СРАБОТАЛА Ф_ЦИЯ ИНИТ: DownL = ", DownL, " UpL = ", UpL);
   
   SetIndexStyle(0,DRAW_SECTION);     // стиль линии: отрезки между непустыми значениями
   SetIndexBuffer(0,ExtMapBuffer1);     // привязываем массив к номеру буфера
   SetIndexEmptyValue(0,0.0);     // указываем при каком значении не надо ничего рисовать
   //---
   
   return(0);
  }

e aqui está o diário de bordo:

18:25:09 IndikatorZZ GBPJPY,Daily: INIT F_CY: DownL = 0 UpL = 0

 
Você pode me dizer.
Se houver comércio intradiário, isso significa que o comércio não é transportado para o dia seguinte e é forçado a fechar no final do dia?
 

Quantas vezes já usei o autopoint, mas a primeira vez não funciona.

Aqui está Init()

int init()
{
   if (Digits == 2 || Digits == 4)
     pt = Point;
   if (Digits == 1 || Digits == 3 || Digits == 5)
     pt = Point * 10;
 
  return (0);
}

Coloquei-o em qualquer lugar do programa (neste caso, mesmo no início da experiência):

Print("ptStart = ", pt);
Print("PointStart = ", Point);

A função retorna ao registro:

2013.03.19 19:55:35     2013.01.11 00:00  TradingByLine EURUSD.GI,M5: Point = 0
2013.03.19 19:55:35     2013.01.11 00:00  TradingByLine EURUSD.GI,M5: pt = 0

Onde está a lógica?

 

Olá. Você pode me dizer, por favor, se o valor " >= " no lugar de " = ". Eu retiro o " <". ou " >". e deixando apenas " =" dá erros na compilação.

Por exemplo: meu EA tem (preço >= MA) e eu quero (preço = MA).SOMENTE IGUALMENTE

 
artemka_1981:

Olá. Você pode me dizer, por favor, se o valor " >= " no lugar de " = ". Eu retiro o " <". ou " >". e deixando apenas " =" dá erros na compilação.

Por exemplo: meu EA tem (preço >= MA) e eu quero (preço = MA).SOMENTE IGUALMENTE

==
 
TarasBY:
==

MUITO OBRIGADO