Quaisquer perguntas de recém-chegados sobre MQL4 e MQL5, ajuda e discussão sobre algoritmos e códigos - página 1735

 
anrei2002 #:

A palavra-chave é HELP!

Como eu já escrevi antes: É melhor me dizer imediatamente que este indicador não pode ser finalizado neste fórum!

E é isso...e eu vou entender.... porque tanta escória foi despejada???

Eu o escrevi em primeiro lugar.

não se pode consertá-lo, está torto...

Essa foi a primeira coisa que eu escrevi. Você não viu, não percebeu, pensou que era uma merda.

O fato de você considerar minha tentativa de transmitir a você como um lixo que você mexeu aqui - não estou ofendido, não tentei por você, outra pessoa o lerá e não cometerá erros. Quanto a você, boa sorte com seu indicador, procure outros fóruns se você não gostar deste.

 
Nikolay Ivanov #:

Eu escrevi imediatamente.

Não há como consertá-lo, ele é torto...

pode ser fixado, mas redesenhará as 8 barras mais externas.

 
anrei2002 #:

A palavra-chave é HELP!

Eu te ajudei - escrevi o que você precisava fazer - e...)

o que você fez?

 
Taras Slobodyanik #:

Ela pode ser fixada, mas redesenhará as 8 barras mais externas.

Também foi dito que o sinal pode ser aplicado imediatamente à 9ª barra e que não haverá nenhuma reelaboração.

Taras Slobodyanik#:

eu ajudei - escrevi o que você precisa fazer - e...)

o que você fez?

a propósito, você chegaria (com alguma probabilidade) a arbitrar, você precisa concordar antecipadamente sobre tudo o que ele precisa fazer.

Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам
Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам
  • 2021.11.09
  • www.mql5.com
В этой ветке я хочу начать свою помощь тем, кто действительно хочет разобраться и научиться программированию на новом MQL4 и желает легко перейти н...
 
Nikolay Ivanov #:

Também foi dito que você pode enviar um sinal no 9º bar e não haverá nenhum preço em excesso... mas o homem não entende...

a propósito, você chegaria a arbitrar, você tem que negociar tudo com antecedência... o que ele precisa não pode ser feito sem reservas

tudo é possível de fazer aqui, o homem concorda com as anulações e sinaliza 8 barras de volta, qual é o problema?

ps. As divergências e fractais também aparecem no passado, nada demais.
 
Taras Slobodyanik #:

Tudo pode ser feito aqui, a pessoa concorda com a reavaliação e os sinais 8 barras de volta, qual é o problema?

Ele precisa "apenas" remover as flechas extras e pronto. E como fazer isso, por reavaliação ou não, é seu problema... É assim que começa qualquer arbitragem :)

Depende de como você formula os termos de referência, mas em todo caso - eu não assumiria o risco ... Mesmo uma arbitragem bem sucedida são meses de estresse...

 
anrei2002 #:

A palavra-chave é HELP!

Como eu já escrevi antes: É melhor me dizer imediatamente que este indicador não pode ser finalizado neste fórum!

E é isso...e eu vou entender.... porque tanta escória foi despejada???

Exatamente. Se você ajudar a fazê-lo, isso significa que você o faz, e alguém o ajuda tanto quanto você pode e tanto quanto você pode e tanto quanto você pode.

Se tudo o que você faz é pedir, sem fazer mais nada, e alguém faz isso por você, então é um escritório de boa vontade.

Quando eu criei este fio, eu quis dizer ajuda, não a produção de desejos livres.

 

Olá Prezados usuários do fórum e programadores experientes! Eu preciso de ajuda para finalizar a EA)). Favor aconselhar como adicionar 2 coisas ao consultor de código:

1. Aqui está a situação: abro um pedido (1º) com TP e SL e um determinado lote (provavelmente 0,01). Se este pedido fechar com lucro - frio, nada muda. Mas se este (1º) pedido for fechado no SL, o próximo pedido imediatamente após este (2º) é aberto com um lote 2 vezes maior (0,01*2=0,02). Se esta segunda ordem for fechada no Take Profit, então a próxima ordem (3ª ordem) é aberta com um lote regular, ou seja, 2 vezes maior lote é necessário somente para a próxima ordem (2ª ordem) depois que a anterior (1ª ordem) foi fechada no SL. Se a terceira ordem for fechada em SL pela segunda vez consecutiva, o lote permanecerá aumentado em 2x até que não haja nenhum TP fechado. Espero ter descrito em detalhes a lógica do que precisa ser acrescentado;


2. e a segunda coisa que temos que acrescentar é o movimento SL. agora deixe-me explicar com um exemplo: vamos assumir que temos uma ordem com parâmetros básicos T.p. + 300, S.l. - 500. O preço se move na direção desejada e passa +100 pips a partir do preço de abertura do pedido. Uma vez que o preço atinja +100 a partir do preço de abertura do pedido, SL deve passar da base -500 para +90. Isto é, quando o preço atinge +100 pips do preço de abertura do pedido, transferimos o pedido para o Breakeven ajustando S,L para +90 pips. Depois disso, se o preço se mover mais na direção desejada e passar por mais + 50 pips - S.L. é movido por 50 pips => deve agora estar a + 140 pips do preço de abertura do pedido. Isto é, a S.L. primeiro se move de sua posição base para + 90 pips do preço de abertura do pedido e depois se move se passar por + 50 pips ( - 500 => + 90 => + 140 => + 190 etc.). E assim vai até o preço chegar ao T.P. ou quando a tendência se inverte e atinge a S.L.


Espero ter descrito tudo em detalhes, e espero realmente sua ajuda, porque ao acrescentar estes elementos que faltam, o Assessor Especialista estará pronto)) Se você tiver alguma dúvida, por favor, pergunte))) Estou colando uma parte do código do Expert Advisor abaixo:

extern string s1                = "Main options";
extern string Symbol            = "";     
extern int timeframe            = 30;     
extern int MagicNumber          = 122122; 
//+------------------------------------------------------------------+
extern string s2                = "Trading options";
extern int BarsForConfirm       = 40;     
extern double Lot               = 0.01;      // размер лота: 0 - авт.расчет (свободная маржа/9000 => 100/5000=0.02 лота); любое другое число - фиксированный лот
extern int StopLoss             = 50;     // стоплосс (в пунктах)
extern int TakeProfit           = 30;     // тейкпрофит (в пунктах)
//+------------------------------------------------------------------+

bool OrderBuy = true, OrderSell = true, Trade = false;  
int timeprev = 0, Slip = 3.0, Start, cnt=1, a;  
datetime newbar=0;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
   if(CheckForOpen()==0) {a=1; Trade = false;}
   else
   if(CheckForOpen()==1) {a=0; Trade = false;}
   else {Trade = true;}
   if (Digits == 3 || Digits == 5) // Пересчет для 5-ти знаков, работает автоматически
     {                                                    
      TakeProfit *= 10;
      StopLoss *=10;
      Slip *=10;
     } 
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
   
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  
  {
  
   if(CheckForOpen()==a) Trade = true;
   if(newbar!=Time[0] && Trade==true)  
     {
      if(CheckForOpen()!=Start)        
        {Start=CheckForOpen(); cnt=1;}
      else {cnt+=1;}

      if(cnt==BarsForConfirm) {        
             
                
             
         if(CheckForOpen()==0)         
           {
            if(OrderSend(Symbol(),OP_BUY,Lots(),Ask,Slip,Bid-StopLoss*Point,Ask+TakeProfit*Point,"",MagicNumber,0,Blue))
              {Print("BUY OK");} else {Print(GetLastError());}
           } 
         if(CheckForOpen()==1)         
           {
            if(OrderSend(Symbol(),OP_SELL,Lots(),Bid,Slip,Ask+StopLoss*Point,Bid-TakeProfit*Point,"",MagicNumber,0,Red))
              {Print("SELL OK");} else {Print(GetLastError());}
           }
        }   
      newbar=Time[0];  //открытие ордера на цене открытия свечи
     }
  }
//+------------------------------------------------------------------+
//| Calculate optimal lot size                                       |
//+------------------------------------------------------------------+
double Lots()  // Расчет объема лота
  {
   double Lots;
   if(Lot>0) return(Lot);           
   Lots=AccountFreeMargin()/9000;  // раcчёт лота - свободная маржа/9000 => 100/9000=0.01 лота 
   Lots=MathMin(15,MathMax(0.01,Lots));
   if(Lots<0.1) Lots=NormalizeDouble(Lots,2);
   else 
     {
      if(Lots<1) Lots=NormalizeDouble(Lots,1);
      else       Lots=NormalizeDouble(Lots,0);
     }
   return(Lots);
  }
//+------------------------------------------------------------------+
 
MakarFX #:

Apanhe

Muito obrigado. Desculpe por não ter respondido imediatamente - me distraí.
Experimentei-o, notei um pequeno problema...
Ele só desenha se eu o executar com o símbolo USDX.
Não aparece no EURUSD (é claro que estou mudando o Symbol_2).
Ver fotos, talvez seja mais fácil de entender.
Alguma idéia do porquê disso, como consertá-lo?
Arquivos anexados:
EURUSD.JPG  260 kb
USDX.JPG  318 kb
 

Olá.

Desculpe pela pergunta estúpida... O pedido é agora devidamente feito e depois erro 129 - preço errado. Está se tornando um chato... Ajude-me... ((


int f = OrderSend(para_2,OP_BUY,0.1,Ask_para_2,3,0,0,"",0,Azul); if(f < 0){Alert("Error setting Buy Stop order: ", GetLastError());}