[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 206

 

Você perdeu... Eu me tornei adequado!

Você tem o BROKO-INVESTOR mt4 instalado. Ou você (o mais provável) confundiu o servidor quando você abriu uma conta demo

É fácil de ver pelos nomes das moedas. Somente ali ao nome das moedas anexadas com o final _FX.

Lote mínimo lá = 0,1 e lá no MARKET OVERVIEW somente moedas estão presentes (não há instrumentos da bolsa)

Não seja teimoso. Acesse o site da Broco e faça o download do mt4 na seção Broco-trader.

Ou abra uma conta demo no servidor 87.239.184.73:443

Mas neste caso, todas as mesmas posições não serão abertas on-line e o registro dará um erro. Então, vá descobrir como programar a abertura de uma posição em 2 passos.

 

Eu tenho 10 minutos de tempo. Agora vou dar um exemplo de código de como abro posições na BROKO.

No final de seu código EA (fora de START), você precisa inserir esta função:

//Для  открытие позиций в условиях рыночного
 //                    исполнения торговых заявок 
int WHCOrderSend(string symbol, 
                 int cmd, 
                 double volume, 
                 double price, 
                 int slippage, 
                 double stoploss, 
                 double takeprofit, 
                 string comment, 
                 int magic, 
                 datetime expiration, 
                 color arrow_color)
{
   int ticket = OrderSend( symbol, cmd, volume, price, slippage, 0, 0, comment, 
                                                    magic, expiration, arrow_color);   
   int check = -1;
   if ( ticket > 0 && ( stoploss != 0 || takeprofit != 0)) {
    if (!OrderModify( ticket, price, stoploss, takeprofit, expiration, arrow_color)) {
         check = GetLastError();
     if ( check != ERR_NO_ERROR) {
       Print("OrderModify error: ", ErrorDescription( check));
         }}} else {
      check = GetLastError();
      if ( check != ERR_NO_ERROR){
         Print("OrderSend error: ", ErrorDescription( check));
      }}   return ( ticket);}

 

As paradas nos parâmetros externos serão então definidas da seguinte forma

extern int     Magic = 777;
extern int      StopLoss=90;
extern int      TakeProfit=90;

double SL, TP;
int ticket;
//-- Подключаемые модули --
#include <stderror.mqh>
#include <stdlib.mqh>
//---------------------------------
E as próprias posições se abrem assim:
 
//если условия соответсвуют заданным, 
// открывем позицию бай 
SL=0; TP=0;
if( StopLoss>0)   SL=Ask-Point* StopLoss;
if( TakeProfit>0) TP=Ask+Point* TakeProfit;   
ticket= WHCOrderSend(Symbol(),OP_BUY, Lots,Ask,3, SL, TP,"Dayria_02", Magic,0,Blue);
if( ticket < 0) { Print("Ошибка открытия ордера BUY #", GetLastError()); 
               Sleep(10000);   return (0); }
Da mesma forma, para posições de venda:
SL=0; TP=0;
if( StopLoss>0)   SL=Bid+Point* StopLoss;
if( TakeProfit>0) TP=Bid-Point* TakeProfit;   
ticket= WHCOrderSend(Symbol(),OP_SELL, Lots,Bid,3, SL, TP,"Dayria_02", Magic,0,Red);
if( ticket < 0){Print("Ошибка открытия ордера SELL #", GetLastError()); 
                Sleep(10000);   return (0);  }
 

rid, muito obrigado pelo feedback, eu realmente escolhi o servidor errado. Estou ordenando o código.

 

Não discuta (c) pois é fácil ficar confuso.



O terminal é da Life e a demonstração é de outra pessoa. ;)

Portanto, a prioridade é o servidor conectado e não o nome do terminal ou da empresa.

Especialmente se você estiver lidando com EMTs como baratas... )))

 
kombat >> :

.... Portanto, é o servidor que está conectado e não o nome do terminal ou da empresa.

Especialmente uma onde as EMTs são espalhadas como baratas. )))



Sim, é claro.

Mas para os iniciantes, muitas vezes é mais fácil fazer o download de uma nova plataforma do que introduzir um servidor diferente.

 
cdover >> :

rid, muito obrigado pelo feedback, eu realmente escolhi o servidor errado. Estou ordenando o código.

A propósito. No testador a EA deve funcionar sem função de modificação.

Se você precisar de uma verificação rápida de uma idéia programada, use o testador mt4 (aqui está descrito de forma clara e inteligente como fazê-lo)

Teste e otimização de EAs''.

 
rid писал(а) >>

A propósito. No testador, o Expert Advisor deve trabalhar sem a função de modificação.

Se você precisar de uma verificação rápida de uma idéia programada, use o testador mt4 (aqui está descrito de forma clara e inteligente como fazê-lo)

O testador é uma descrição fácil e clara de como fazê-lo)- 'Testing and Optimizing Expert Advisors'.

Estou trabalhando com o testador e foi realmente estranho, tudo funciona e dá a você os relatórios de otimização.

 
granit77 >> :

Foi o que eu quis dizer quando sugeri rodar o mesmo ambiente (objetos, indicadores) com e sem o modelo.

Quanto à desaceleração do testador, é um buraco negro para mim. Às vezes tais truques acontecem com Consultores Especialistas absolutamente inofensivos que dificilmente se pode acreditar, mas tudo está bem no registro. Portanto, não ousarei dar nenhum conselho, exceto nos casos mais simples. Quem me dera poder descobrir por mim mesmo :))

...Mas que emoção é descobrir a solução :)

 

Boa tarde!

Por favor, me ajude com uma pergunta:

Preciso escrever uma fórmula para calcular a garantia de um instrumento.

Eu entendo como extrair a quantidade total da promessa - usando uma fórmula,

Mas como decompor este juramento em instrumentos (moedas)?

Afinal de contas, só há compra e venda, e há muito.

MODE_MARGININIT 29 Exigência de margem inicial para 1 lote
MODE_MARGINMAINTENANCE 30 Quantidade de margem necessária para suportar posições em aberto por 1 lote
MODE_MARGINHEDGED 31 Margem cobrada em posições sobrepostas por 1 lote

Preciso usar estas fórmulas, mas não está claro qual é a diferença entre elas e quando usá-las.

Como resultado, precisamos obter a distribuição do montante total da margem para certos instrumentos.

Ou seja, abrir lotes de um instrumento usa uma quantidade tão grande do depósito. outro instrumento usa tanto e tanto ... e assim por diante.

Talvez alguém tenha algumas idéias? Obrigado.