[AVISO FECHADO!] Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por aqui. Não posso ir a lugar algum sem você. - página 965

 
Vinin:


DC - Mesa de operações

No testador para outros instrumentos você só pode obter o preço de abertura na barra zero, os carrapatos para outros instrumentos não são modelados, o ambiente do mercado é quase inacessível.

O comércio de outros instrumentos não é aberto.

Se você precisar realizar corretamente a análise de múltiplas moedas, é melhor usar o MT5. Há lá um testador de múltiplas moedas.


É possível negociar em contas reais através do MT5? Ou é apenas para contas de demonstração até agora?
 
ViktorF:

É possível negociar em contas reais através do MT5? Ou é apenas para contas de demonstração?

Algumas empresas de corretagem oferecem este serviço.
 
Ajude-me, por favor. Eu inventei um pequeno código, mas há um erro com parênteses... o que está errado?
//+------------------------------------------------------------------+
void line()
{
 ObjectCreate("MILINE", 1, 0, Time[0], Bid-5*Point);
 
 if (Bid<ObjectGet("MILINE", 1) 
 {
 ObjectSet("MILINE", 1, (ObjectGet("MILINE", 1)-1*Point));
 return;
   }
 
 
 if (Bid>ObjectGet("MILINE", 1)
 
 {
  ObjectSet("MILINE", 1, (ObjectGet("MILINE", 1)+1*Point));
 return;
   }
   //+------------------------------------------------------------------+
  }
 
143alex:
Pergunte-me, por favor. Eu fiz um pequeno código, aparece um erro com parênteses... o que está errado?


É difícil calcular você mesmo os parênteses ou é impossível comentar um pedaço de código com um erro?

//+------------------------------------------------------------------+
void line(){
 ObjectCreate("MILINE", 1, 0, Time[0], Bid-5*Point);
 if (Bid<ObjectGet("MILINE", 1)) { ObjectSet("MILINE", 1, ObjectGet("MILINE", 1)-1*Point); return; }
 if (Bid>ObjectGet("MILINE", 1)) { ObjectSet("MILINE", 1, ObjectGet("MILINE", 1)+1*Point); return; }
   //+------------------------------------------------------------------+
  }

ZS: mesmo assim, não funcionará - sem verificar se o objeto é criado, sem redesenhar a janela para verificar a criação de um objeto

 
IgorM:


É difícil calcular você mesmo os parênteses ou é impossível comentar um pedaço de código com um erro?

HH: não vai funcionar de qualquer maneira - sem verificações para ver se o objeto foi criado, sem redesenhar a janela para verificar se o objeto foi criado

Obrigado! Estou apenas aprendendo... Um dia chegarei às inspeções.
 
143alex:
Obrigado! Estou apenas aprendendo... Um dia chegarei às inspeções.
No testador do m-1 funciona... muito interessante experimentar em movimentos bruscos. Mais uma vez, obrigado!
 
 void Send_BUYLIMIT(double Lot,double cena)
{
if ( OrdersTotal()==0  ) OrderSend(Symbol(),OP_BUY,0.01,Ask,10,0,Bid+10*Point);
if (OrderType()==OP_BUY && OrdersTotal()<=4)OrderSend(Symbol(),OP_BUYLIMIT,Lot,cena,10,0,cena+tp*Point,0,123,0,Blue);
 
}
   return(0);


Como posso abrir uma ordem de compra e definir 4 ordens pendentes de bylimit? Um total de 5 ordens, 1 ordem de mercado e 4 ordens pendentes. Qual é o erro aqui?

 

Olá a todos.

Você pode me dizer por favor: após testar a história, há alguma maneira de obter o comentário ou o número mágico de cada comércio feito, ou qualquer outra maneira de identificar os ofícios? Deixe-me tentar explicar o significado. Suponha que eu tenha programado alguns padrões e executado o Expert Advisor sobre a história e, como muitas vezes acontece, ele falha. Seria interessante ver, qual dos padrões e sob quais condições de mercado está perdendo cada vez mais, e qual (se houver) mostra pelo menos algum lucro.

Agradecemos antecipadamente as respostas.

 
artmedia70:


Artemida70, obrigado pela dica de encontrar erros ao depurar o programa.

Tenho mais algumas perguntas, por favor, responda o mais longe possível.

Primeira pergunta. Durante os testes, exibo informações técnicas sobre o nível de escorregamentos, taxa de crescimento da tendência, etc., com a ajuda de alertas. Ao final dos testes, estou revendo a revista com informações técnicas e comerciais no momento da abertura do pedido. Eu reviso todas as entradas no registro usando o controle deslizante. Parece que as informações sobre as negociações mais recentes são visíveis, enquanto as primeiras negociações e no meio do período de tempo em teste não são visíveis. Pergunta: Como posso ver todas as informações dentro de todo o período que está sendo testado?

Segunda pergunta. Em um dos fóruns fechados vi uma palestra sobre a existência de um livro mais completo sobre a linguagem MQL4 e também sobre um pequeno manual ou instrução para o terminal MT4, que dá aos operadores chave que permitem remover o Expert Advisor da negociação, colocá-lo para teste, etc. de forma programática.

PERGUNTA: você pode ajudar a obter estas informações?

OBRIGADO

 

Eu criei um indicador personalizado com os seguintes dados externos:

//------- Параметры индикатора --------------------------------------+
extern datetime  Zero_Point      = D'2010.10.10 00:00';
extern int       cnt_Bars        = 0;
extern string    Lots            = "0.1";                            // Размеры лотов
extern string    BUY_Pairs       = "AUDJPY;AUDCAD;EURJPY;GBPJPY;GBPUSD;NZDUSD;CADJPY";
extern string    SELL_Pairs      = "AUDUSD;CHFJPY;EURCHF;EURUSD;GBPCHF;NZDJPY;USDJPY";
extern bool      CalculateInPips = False;

Eu o chamo da EA:

string List = DSDig (MathMax (Lot, gd_Lot[gi_cur_Basket]));
        Print ("Zero_Point = ", Zero_Point, "; Lot = ", List, "; Basket Long = ", cur_Basket_Long, "; Basket Short = ", cur_Basket_Short);
        iCustom (Symbol(), TF_ind, "i-PSI@EquityBasket", Zero_Point, 0, List, cur_Basket_Long, cur_Basket_Short, False, 0, 0);

Diário da EA:

20:13:54 e-PSI@BasketBull_v2.4 EURUSD,H4: Zero_Point = 1288915200; Lot = 0.10; Basket Long = USDJPY;USDCHF;CADJPY;CADCHF; Basket Short = NZDUSD;AUDCAD;EURJPY;EURGBP;AUDUSD;EURCAD;EURCHF;EURUSD

Aqui eu tenho que os dados são transmitidos corretamente.

Vamos ver o registro indicador:

Basket LONG[8]: 0 - NZDUSD; 1 - AUDCAD; 2 - EURJPY; 3 - EURGBP; 4 - AUDUSD; 5 - EURCAD; 6 - EURCHF; 7 - EURUSD; 
Basket SHORT[7]: 0 - AUDUSD; 1 - CHFJPY; 2 - EURCHF; 3 - EURUSD; 4 - GBPCHF; 5 - NZDJPY; 6 - USDJPY; 
20:13:34 i-PSI@EquityBasket EURUSD,M30: List Lot = USDJPY;USDCHF;CADJPY;CADCHF
20:13:34 i-PSI@EquityBasket EURUSD,M30: Zero_Point = 0; Lot = 0.00

Valor Zero_ponto no EA:

extern datetime Zero_Point          = D'2010.10.10 00:00';
Transmitir valor igual a (do log EA)
Zero_Point = 1288915200

e ficamos com 0 no indicador. Alguém pode me dizer qual é o problema?

Razão: