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

 
obla4ko:
Você não deve pensar como um pau - é uma coisa muito sutil :))), virtual, eu diria, e naturalmente deve reagir à fraude na história. Se não reagisse às rasuras, posso imaginar como seria lento na vida real - 100 libras por ano por 10K - na melhor das hipóteses... Bem, é mais fácil manter o dinheiro no banco - eles dão 3-6 por cento!)

))) É claro que é mais fácil! Quem pode dizer... // E quem disse que seria fácil? )))

Uma saída - ir para a bolsa de valores. Este tipo de porcaria não acontece ali, em princípio. Mas desta forma... Para todos - como hei-de dizer - um... ... oddities você também pode trabalhar no Forex.

A melhor maneira é, é claro, testá-lo na conta real. Se os princípios estabelecidos no Expert Advisor estiverem corretos (e isto pode ser verificado exatamente no testador), então, colocando medidas de força maior em uma conta real, o comércio será bom+. Talvez não em +++++++ como no testador, mas ainda assim...))

A propósito, cortar as lacunas, que fazem com que os indicadores enlouqueçam, a partir do fluxo de cotações ajuda muito. Você pode ver em meus códigos - Kill Gap.

 

Techno:
obla4ko, создайте переменную типа datetime x, и пусть это будет время открытие бара, на котором произошел стоплосс. А в условии открытия поставте, что (Time[0]!=x). При этом x должно обновляться при новом сработавшем стоплосе. Это первый вариант. И второй как я уже в третий раз пишу, после срабатывания стопа включить ожидание 1 бар, это будет совершенно тоже самое, не логично разве?

Tenho a parte do código responsável pela abertura de uma vaga publicada no meu último cargo. Você poderia por favor colocar o que você disse aqui - como eles dizem "melhor visto uma vez do que...." :)
 

Olá!!!

Na página 71 desta linha, granit77 escreveu uma peça muito interessante!

Извините, что встреваю, поделюсь ламерским способом удобной записи множества условий. При наладке легко добавлять/убирать, не заботясь о скобках, и все наглядно. 
if (true
    && StochK_0<StochD_1
    && StochD_1 > 80 
    && cci_0 < cci_1    
    && cci_0 > 100 
    //&& .... а это я пока убрал     
   )

aqui está uma amostra e tentou fazer algo

if(((Sto_0>Sto_1&&Sto_0< 20)&&(OsMA_0>OsMA_1&&OsMA_0<-P)&&(Macd_0>Macd_1&&Macd_0<-N)))
// это основа
if(true
      &&Sto_0>Sto_1&&Sto_0< 20
      &&OsMA_0>OsMA_1&&OsMA_0<-P
      &&Macd_0>Macd_1&&Macd_0<-N
      )//а это то что получилось

estou perguntando porque é tão incomum.....

 

Por que isso funciona e conta corretamente, aumentando o valor de uma variável em 10%:

TStartS = MathRound(TStartS+TStartS*0.1);

... mas este não:

TStartS = MathRound(TStartS+TStartS/100*PercentTakePr); // где PercentTakePr - внешняя переменная, равна 10, 20, 30, и т.д. ...
Qual é a diferença, eu não sei...
 
artmedia70:

Por que isso funciona e conta corretamente, aumentando o valor de uma variável em 10%:

... mas este não:

qual é a diferença, eu não sei...





ou talvez seja assim.

TStartS = MathRound(TStartS+(TStartS/100*PercentTakePr)); 
 

Qual é o problema? Basta quebrar o cordel em substratos, sem alterar o conteúdo. Tudo vai funcionar da mesma maneira, mas é mais fácil de ler e editar, basta comentar linhas desnecessárias.

Acontece que os profissionais têm escrito desta maneira há muito tempo, até mesmo formatando-a melhor, então eu inventei a bicicleta. :))

if (true              &&
    StochK_0<StochD_1 && 
    StochD_1 > 80     &&  
    && cci_0 < cci_1  &&   
    && cci_0 > 100 
   )

//((Sto_0>Sto_1&&Sto_0< 20)&&(OsMA_0>OsMA_1&&OsMA_0<-P)&&(Macd_0>Macd_1&&Macd_0<-N))
// Ваш вариант вот так будет выглядеть наиболее прозрачно, на мой взгляд
if (true                         &&
    (Sto_0 >Sto_1  && Sto_0 <20) &&
    (OsMA_0>OsMA_1 && OsMA_0<-P) &&
    (Macd_0>Macd_1 && Macd_0<-N)  
   ) 
 
artmedia70:

Por que isso funciona e conta corretamente, aumentando o valor de uma variável em 10%:

... mas este não:

Qual é a diferença - eu não entendo...





0,1 é o dobro e 100 é int.

Consulte a conversão do tipo no livro didático.

 
Svinozavr:

0,1 é o dobro e 100 é int.

Consulte o tipo de conversão no livro didático.

Portanto , tenho TODAS as variáveis ... Acontece que ... ouch... parafusá-lo ... continuar cavando...

É assim que funciona:

LastTakeProfitS = MathRound(LastTakeProfitS+LastTakeProfitS/100*PercentTakePr);
... e se você enfiar aqui outra variável do mesmo tipo, ela não funciona. Esta manhã, tenho me sentido muito mal...
 
obla4ko:

Tenho a parte do código responsável pela abertura de uma vaga publicada no meu último cargo. Você poderia por favor colocar o que você disse aqui - como eles dizem "melhor visto uma vez do que...." :)

Aqui está um esquema. Não verificado, mas deve funcionar, as peças em falta devem ser adicionadas a partir do código original. O vermelho marcou o número que a mudança aumentará a espera, o número 2 significa que uma vela espera. Se você precisar de 2 velas à espera, coloque 3, etc.

bool work=1;int tick;datetime t;
int start()
{
  if(!work){if(t!=iTime(NULL,0,1)){t=iTime(NULL,0,1);tick++;}}
  if(tick==2){work=1;tick=0;} 
   
   time();
   if(OrdersTotal()==0)CheckForOpen();
  //-- code
}
//----
void CheckForOpen()
{
   double ma;
   int    res;
    
   ma=iMA(NULL,0,MovingPeriod,MovingShift,MODE_SMA,PRICE_CLOSE,0);

   if(work && Open[1]>ma && Close[1]<ma)  
     {
      res=OrderSend(Symbol(),OP_SELL,Lots,Bid,30,Bid+Stoploss*Point,Bid-Takeprofit*Point,"",MAGICMA,0,Red);
      return;
     }

   if(work && Open[1]<ma && Close[1]>ma)  
     {
      res=OrderSend(Symbol(),OP_BUY,Lots,Ask,30,Ask-Stoploss*Point,Ask+Takeprofit*Point,"",MAGICMA,0,Blue);
      return;
     }

}
//----
void time()
{
static datetime time;
    
  if(OrdersHistoryTotal()==0)return;
  for(int i=0;i<OrdersHistoryTotal();i++)
       {
       OrderSelect(i,SELECT_BY_POS,MODE_HISTORY);
         if(OrderCloseTime()>time && OrderSymbol()==Symbol() && OrderMagicNumber()==MAGICMA)
            {
            time=OrderCloseTime();
            if(OrderProfit()<0)work=0;
            }
       }    
   
}
 
artmedia70:

Portanto , tenho TODAS as variáveis ... Acontece que ... ouch... parafusá-lo ... continuar cavando...

Este aqui funciona:

...mas se você simplesmente conectar outra variável do mesmo tipo, ela não funciona... Esta manhã, me deu cabo da cabeça...


É... Eu o encontrei... Em vez de 100, é 100,0. Eu te mataria...
Razão: