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

 
O que é este botão?
 
Pr0t0tip:

Olá. Eu mesmo escrevi um simples EA (tentando aprender). O robô só abre negócios para vender, mas não quer comprar. Entendo que não escrevi corretamente as condições de compra ou não as dividi corretamente. Estou pedindo ajuda. Aqui está:

int int externo tp=100;

sl=100;

externo int H=14;

externo int M=00;

duplo ma1, ma2;

int start()

{

ma1=iMA (NULL,0,18,0,MODE_SMA,PRICE_CLOSE,0);

ma2=iMA (NULL,0,36,0,MODE_SMA,PRICE_CLOSE,0);

if (OrderTotal ()==0 && iStochastic (NULL,0,50,30,3,0,1,MODE_MAIN,4)<iStochastic (NULL,0,50,30,3,0,1,MODE_SIGNAL,4) && ma1<ma2)

OrderSend ("EURUSD", OP_SELL,0.1,Bid,0,Ask+sl*Point,Ask-tp*Point,",123,Red);

if (OrderTotal ()==0 && iStochastic (NULL,0,50,30,3,0,1,MODE_MAIN,4)>iStochastic (NULL,0,50,30,3,0,1,MODE_SIGNAL,4) && ma1>ma2)

OrderSend ("EURUSD", OP_BUY,0.1,Ask,0,Bid+sl*Point,Bid-tp*Point,",123,Red);

}

retorno (0);

Bem, olhe - de relance - bem ali nesta linha:

OrderSend ("EURUSD", OP_BUY,0.1,Ask,0,Bid+sl*Point,Bid-tp*Point,"",123,Red);

Você, como em resumo, adiciona ao Bid+sl para Stop-Loss e subtrai do Bid-tp para Take-Profit. E, ao contrário, você precisa subtrair SL de Bid - para um stop loss, e adicionar TP a Bid - para um lucro.

OrderSend ("EURUSD", OP_BUY,0.1,Ask,0,Bid-sl*Point,Bid+tp*Point,"",123,Red);

Acho que deve funcionar. Experimente.

E você pode ver como é agradável e fácil ler o código, quando ele é inserido usando SRC.

 
Pr0t0tip:
O que é este botão?
É onde você escreve o texto na caixa, na parte superior há botões que você usa para fazer o texto. Um deles é o botão SRC. Está ao lado da câmera.
 
Obrigado, tudo deu certo. Apenas o assessor está despejando, mas isso não é o principal nesta fase.
 
Dimka-novitsek:

O que significa otimizar? Juntamente com o robô no testador, otimize.

Você poderia me dizer o que "(' - tipos incompatíveis C:\Documents and Settings\User\My Documents\FxClub\TeleTRADE\experts\Constructor.mq4 (68, 39) significa
retorno relativo (comentário de erro);?

Não entendo bem - foi uma pergunta ou foi uma resposta?

Vou pular a primeira linha, já que não está nada claro.

E sobre o segundo ponto (se fosse uma pergunta) - é jurar que o tipo de colchete é incompatível. Provavelmente, em algum lugar o parêntese é redondo em vez de quadrado (ou encaracolado).

 

Bom dia! Por favor, ajudem!

Quero escrever uma função que devolva o tipo de posição aberta com base nos preços de licitação.

Se alguma quantidade de preços de licitação subir constantemente - tipo Bcu e vice versa.

Eu mesmo tentei, mas ele sempre retorna 0.

//+----------------------------------------------------------------------------+ 
//|  Описание : Возвращает тип открываемой позиции.                            |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    sy - наименование инструмента   (""   - любой символ,                   |
//|                                     NULL - текущий символ)                 |
//|                                                                            |
//|                                                                            |
//|  Глобальные переменные:     NAME_OP - тип открываемой позиции              |
//|                             BID[]   - массив цены BID                      |
//+----------------------------------------------------------------------------+
int NamePositions(string sy="") 
{
int Kol_Tikov=6;
ArrayResize(BID,Kol_Tikov);
//--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
   if (sy=="0") sy=Symbol();
   {
   for(int i=Kol_Tikov-1;i>0;i--)
         BID[i]=BID[i-1];
         BID[0]=NormalizeDouble(MarketInfo(sy,MODE_BID),5);
         
         if (BID[3]>BID[2] && BID[2]>BID[1]) NAME_OP=OP_SELL;
         if (BID[3]<BID[2] && BID[2]<BID[1]) NAME_OP=OP_BUY;
   }
   return(NAME_OP);
}
 
NICK_R:

Bom dia! Por favor, ajudem!

Quero escrever uma função que devolva o tipo de posição aberta com base nos preços de licitação.

Se alguma quantidade de preços Bid sobe constantemente - tipo Bcu e vice-versa.

Eu mesmo tentei, mas ele sempre retorna 0.


 

Costumava ser assim: no testador, você marca OPTIMIZE e aparece uma janela com todas as suas variáveis EXTERNAS. você especifica o min, max e step. é isso.

Agora eu assinalo a caixa...e nada acontece.

você pode me dizer onde está o parâmetro e a janela de inclinação?

 
lottamer:

Costumava ser assim: no testador, você marca OPTIMIZE e aparece uma janela com todas as suas variáveis EXTERNAS. você especifica o min, max e step. é isso.

mas agora eu marquei a caixa... e nada acontece.

você pode me dizer onde está o parâmetro e a janela de inclinação?

Quando no testador, vá para as configurações da EA - há 4 colunas. A 1ª coluna é o que vai funcionar sem otimização. A 2ª coluna é o parâmetro inicial para otimização, a 3ª coluna é o passo e a 4ª coluna é o fim da otimização.
 
Chiripaha:
Quando no testador, vá para as configurações da EA - há 4 colunas. A 1ª coluna é o que vai funcionar sem otimização. A 2ª coluna é os parâmetros iniciais para otimização, a 3ª coluna é o passo e a 4ª coluna é o fim da otimização.


Eu só vejo as PROPRIEDADES DE EXPERIÊNCIA no testador. Não vejo as configurações do Expert Advisor. Onde eles estão ?

não há nada parecido nas propriedades. build 500