Qualquer pergunta de novato, de modo a não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 6. - página 350

 
Forexman77:

Na foto, marquei com uma seta onde a saída deveria estar. Eu não entendo qual é o problema. Nós entramos, lembre-se do tempo,

Então saia quando o tempo for maior que a entrada com um período de compensação e o preço estiver abaixo do mínimo de 3 dias de MA.

O código é o seguinte:

O que você sugere?

Venda por pouco tempo no Ascus! É mais alto! Ask-Bid=spread;

Corrija esta linha do código:

if  (Bid <= MA_2_t)

// на

if  (Ask <= MA_2_t)

Depois fechará como desejado, mas pode reverter a qualquer momento. Temos que nos contentar com pouco!

 
Forexman77:


Na foto, marquei com uma seta onde a saída deveria estar. Eu não entendo qual é o problema. Nós entramos, lembre-se do tempo,

Então saia quando o tempo for maior que a entrada com um período de compensação e o preço estiver abaixo do mínimo de 3 dias de MA.

O código é o seguinte:

O que você acha?


Seria bom postar screenshots onde você pode ver o preço e o prazo. Talvez haja pipsing no M1 e o servidor simplesmente não tenha tempo para processar a ordem a tempo.


E ao invés de t=Tempo[0]; use melhor OrderOpenTime().

 
evillive:

Se não for muito secreto, seria bom publicar screenshots onde você possa ver os preços e o cronograma. Talvez haja pipsing no M1 e o servidor simplesmente não tenha tempo para processar o pedido.


Use OrderOpenTime() em vez de t=Time[0];.

Eureka! Eu entendi o porquê.

sinal > 0,006 quase sempre, portanto t=Tempo[0]; é atualizado o tempo todo e o comércio não fecha.

Coloco t=Tempo[0]; no bloco onde é anunciado o fato da abertura de uma posição.

 

Olá a todos, como a EA que está sendo testada se comporta contra as lacunas? Isto é, no teste ele mostra um bom lucro, mas na demonstração já há dois dias que ele tem deixado tudo em branco :(.

 

Olá a todos!

Eu fiz EA cruzando dois EMAs, este é meu primeiro EA e receio ter cometido alguns erros bobos, então estou pedindo aos profissionais que revejam o código e me dêem alguns conselhos se algo estiver errado.

Esta EA deve negociar em troca de bitcoin, o preço pode saltar em 30% por dia, portanto, o stoploss e o takeprofit devem ser em porcentagem do preço.

Eu o testei em conta demo, parece funcionar, mas tenho medo de usá-lo em conta real, o lote mínimo é de cerca de US$ 7, e a conta de centavos não tem corretor.

Ainda não anexei a trailing stop, e vou comparar a diferença EMA não com zero, mas com algum valor pequeno, para evitar trocas freqüentes quando as curvas correm paralelamente.

O programa é composto principalmente de pedaços e pedaços arrancados de exemplos e tutoriais, por isso há uma preocupação de que eu possa ter feito asneira em algum lugar ao montá-lo.

Variáveis:

#property copyright "me"
#property link      "killnosock.net"
extern int SlowEma = 21;
extern int FastEma = 10;
extern int MaxRisk = 100;// % депо которое будет использоваться для открытия ордера
extern int  TakeProfit=100;
extern int  StopLoss=100;
extern int Slippage = 10;

int LastBars = 0;

int init(){return(0);}
int deinit() {return(0);}

Esta função define o tamanho do lote:

double GetLot(int Risk)
{double Free    =AccountFreeMargin();
 double One_Lot =MarketInfo(Symbol(),MODE_MARGINREQUIRED);
 double Min_Lot =MarketInfo(Symbol(),MODE_MINLOT);
 double Max_Lot =MarketInfo(Symbol(),MODE_MAXLOT);
 double Step    =MarketInfo(Symbol(),MODE_LOTSTEP);
 double Lot     =MathFloor(Free*Risk/100/One_Lot/Step)*Step;
 if(Lot<Min_Lot) Lot=Min_Lot;
 if(Lot>Max_Lot) Lot=Max_Lot;
 if(Lot*One_Lot>Free) {
 Alert(" free= ", AccountFreeMargin()," for one lot= ", MarketInfo(Symbol(),MODE_MARGINREQUIRED)," lot= ", Lot);
 return(0.0);}
return(Lot);}

Abrimos aqui um pedido:

int NewOrder(int Cmd,double Lot)
{double TP=0; //takeprofit
 double SL=0; //stoploss
 double PR=0; //price
 color clr = CLR_NONE;
 while(!IsTradeAllowed()) Sleep(10);
 RefreshRates();
 if(Cmd==OP_BUY)
   {PR=Ask;
    if(TakeProfit>0) TP=Ask + Ask*TakeProfit/100;
    if(StopLoss>0) SL=Ask - Ask*StopLoss/100;
    if(SL<0) SL = 0;
    if(TP<0) TP = 0;
    clr = Green;}
 if(Cmd==OP_SELL)
   {PR=Bid;
    if(TakeProfit>0) TP=Bid - Bid*TakeProfit/100;
    if(StopLoss>0) SL=Bid + Bid*StopLoss/100;
    if(SL<0) SL = 0;
    if(TP<0) TP = 0;
    clr = Red;}
 int tic=OrderSend(Symbol(),Cmd,Lot,PR,Slippage,SL,TP,"",0,0,clr);
 if(tic<0) Print("Open order error: ",GetLastError());
return(tic);}

Aqui fechamos 1 ou todos os pedidos

//CloseOrder
void CloseOrder()
{double PR=0;
 while(!IsTradeAllowed()) Sleep(10);
 RefreshRates();
 if(OrderType()==OP_BUY)  PR=Bid;
 if(OrderType()==OP_SELL) PR=Ask;
 if(!OrderClose(OrderTicket(),OrderLots(),PR,Slippage,CLR_NONE))
   Print("Order close error: ",GetLastError());
return;}

//Close all Orders
void CloseAllOrders()
{
  for(int i=OrdersTotal()-1;i>=0;i--)
   if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
     {
      CloseOrder();
     }
return;}

Esta função calcula a diferença de dois EMAs

double EmaDiff(int shift)
   {
      double difference;
      difference = iMA(Symbol(),0,FastEma,0,MODE_EMA,PRICE_CLOSE,shift)
                 - iMA(Symbol(),0,SlowEma,0,MODE_EMA,PRICE_CLOSE,shift);
      return(difference);
   }

E aqui está o corpo do programa

int start()
  {
double Lot;
    // действуем, когда открывается новая свечка
    if (LastBars == Bars) return(0);
    else LastBars = Bars;
      {         
         if ((EmaDiff(1) > 0) && (EmaDiff(2) < 0))
            {
               CloseAllOrders();
               Lot = GetLot(MaxRisk);
               NewOrder(OP_BUY,Lot);
            }
            
         if ((EmaDiff(2) > 0) && (EmaDiff(1) < 0))
            {
               CloseAllOrders();
               Lot = GetLot(MaxRisk);
               NewOrder(OP_SELL,Lot);
            }                    
      }
   return(0);
  }
 

Caros senhores, olá a todos!!!

Ajude-me a fazer os acordos!!! Há um conjunto com acordos, eu o baixei de um site onde havia um concurso onde o cara com $10000 por um mês ou uma semana não me lembro de ter ganho $300 000! Como posso dizer onde ele fechou o negócio!!! Tempo de abertura, preço, lote, par de moedas, tudo lá!!!

.........................................................................................................................................................................................................................................


HÁ TANTOS OFÍCIOS, QUE NÃO SEI ONDE ELE OS FECHOU TODOS!


Resultados são exibidos a partir de 2013-08-29 14:02:05(EET)


TRANSACÇÃO HORA TIPO LOTES SYMBOL PREÇO SWAP LUCRO

272984 2013-08-05 07:58:50 SELL 1.00 EURAUD 1.49556 0 0

272986 2013-08-05 07:58:56 SELL 1.00 EURAUD 1.49553 0 0

272988 2013-08-05 07:59:03 SELL 1.00 EURAUD 1.49549 0 0

272999 2013-08-05 07:59:57 SELL 1.00 EURAUD 1.49534 0 0

273002 2013-08-05 08:00:02 SELL 1.00 EURAUD 1.4954 0 0

273004 2013-08-05 08:00:07 SELL 1.00 EURAUD 1.4954 0 0

284429 2013-08-05 16:47:27 COMPRAR 1.00 EURAUD 1.48839 0 628.85

284432 2013-08-05 16:47:33 COMPRAR 1.00 EURAUD 1.48838 0 629.71

284433 2013-08-05 16:47:37 COMPRAR 1.00 EURAUD 1.48843 0 625.28

284435 2013-08-05 16:47:43 COMPRAR 1.00 EURAUD 1.48857 0 612.81

284439 2013-08-05 16:47:47 COMPRAR 1.00 EURAUD 1.48854 0 615.46

284442 2013-08-05 16:47:50 BUY 1.00 EURAUD 1.48859 0 611.01

284443 2013-08-05 16:47:51 COMPRE 1.00 EURAUD 1.48859 0 0

284447 2013-08-05 16:48:01 BUY 1.00 AUDUSD 0.89056 0 0

284449 2013-08-05 16:48:09 SELL 1.00 EURAUD 1.48735 0 -110.44

284451 2013-08-05 16:48:21 COMPRAR 1.00 AUDUSD 0.89061 0 0

284454 2013-08-05 16:48:25 COMPRAR 1.00 AUDUSD 0.8906 0 0

284458 2013-08-05 16:48:30 COMPRAR 1.00 AUDUSD 0.89058 0 0

284461 2013-08-05 16:48:34 COMPRAR 1.00 AUDUSD 0.89051 0 0

284465 2013-08-05 16:48:39 COMPRAR 1.00 AUDUSD 0.89052 0 0

284469 2013-08-05 16:48:43 COMPRAR 1.00 AUDUSD 0.89053 0 0

284472 2013-08-05 16:48:47 COMPRAR 1.00 AUDUSD 0.89051 0 0

284475 2013-08-05 16:48:51 COMPRAR 1.00 AUDUSD 0.89056 0 0

284479 2013-08-05 16:48:55 COMPRAR 1.00 AUDUSD 0.89056 0 0

284483 2013-08-05 16:48:59 COMPRAR 1.00 AUDUSD 0.89056 0 0

284487 2013-08-05 16:49:03 COMPRAR 1.00 AUDUSD 0.89058 0 0

284491 2013-08-05 16:49:08 COMPRAR 1.00 AUDUSD 0.89053 0 0

284492 2013-08-05 16:49:12 COMPRAR 1.00 AUDUSD 0.89053 0 0

286130 2013-08-05 16:51:55 BUY STOP 1.00 AUDUSD 0.8915 0 0

288418 2013-08-05 16:52:05 BUY STOP 1.00 AUDUSD 0.89255 0 0

293964 2013-08-05 16:52:14 BUY STOP 1.00 AUDUSD 0.8935 0 0

299297 2013-08-05 16:52:26 BUY STOP 1.00 AUDUSD 0.89459 0 0

299482 2013-08-05 16:52:35 BUY STOP 1.00 AUDUSD 0.89553 0 0

299533 2013-08-05 16:52:53 BUY STOP 1.00 AUDUSD 0.89655 0 0

299595 2013-08-05 16:53:02 BUY STOP 1.00 AUDUSD 0.89703 0 0

300040 2013-08-05 16:53:36 BUY STOP 1.00 AUDUSD 0.89751 0 0

300096 2013-08-05 16:53:46 BUY STOP 1.00 AUDUSD 0.898 0 0

300151 2013-08-06 07:54:49 SELL 1.00 AUDUSD 0.89756 4.36 519.04

300153 2013-08-06 07:54:53 SELL 1.00 AUDUSD 0.89749 4.36 512.04

300154 2013-08-06 07:54:58 SELL 1.00 AUDUSD 0.89743 4.36 506.04

300156 2013-08-06 07:55:01 SELL 1.00 AUDUSD 0.89738 4.36 501.04

300158 2013-08-06 07:55:05 SELL 1.00 AUDUSD 0.89736 4.36 499.04

300160 2013-08-06 07:55:11 SELL 1.00 AUDUSD 0.89772 4.36 535.04

300161 2013-08-06 07:55:15 SELL 1.00 AUDUSD 0.89771 4.36 534.04

300163 2013-08-06 07:55:19 SELL 1.00 AUDUSD 0.89765 4.36 528.04

300167 2013-08-06 07:55:36 SELL 1.00 AUDUSD 0.89733 4.36 496.04

300169 2013-08-06 07:55:40 SELL 1.00 AUDUSD 0.89733 4.36 496.04

300171 2013-08-06 07:55:44 SELL 1.00 AUDUSD 0.89735 4.36 498.04

300173 2013-08-06 07:55:49 SELL 1.00 AUDUSD 0.89732 4.36 495.04

300178 2013-08-06 07:55:52 SELL 1.00 AUDUSD 0.89725 4.36 488.04

300181 2013-08-06 07:55:56 SELL 1.00 AUDUSD 0.89714 4.36 477.04

 
FEAR:

Caros senhores, olá a todos!!!

Ajude-me a fazer os acordos!!! Há um conjunto com acordos, eu o baixei de um site onde havia um concurso onde o cara com $10000 por um mês ou uma semana não me lembro de ter ganho $300 000! Como posso dizer onde ele fechou o negócio!!! Tempo de abertura, preço, lote, par de moedas, tudo lá!!!

.........................................................................................................................................................................................................................................

HÁ TANTOS OFÍCIOS, QUE NÃO SEI ONDE ELE OS FECHOU TODOS!

Não há como, eles não especificam um horário e preço de fechamento, não há freebies ))))
 
evillive:
Não há como, eles não especificam o preço de fechamento propositadamente, não há gratuito())


ENTENDO, MAS HÁ MUITO E UM PREÇO E UMA COMPRA OU VENDA, POR EXEMPLO:


284429 2013-08-05 16:47:27 COMPRAR 1.00 EURAUD 1.48839 0 628.85

O PREÇO É 1,48839 PAR DE MOEDAS -EURAUD, LOTE 1 CORRETOR 5 MARCO!!! LUCRO 628, OU SEJA, O PREÇO SUBIU 628 PIPS!!! no lote 1!!! quero dizer, se você puder olhar para a história, eu não entendo, honestamente a hora é quase 17:00, mas o preço é muito mais baixo do que esse 1,48839!!! MESMO QUE ESTE SEJA O PREÇO DE FECHAMENTO EU CONTEI 7000 PIPS EU NÃO ENTENDO COMO

 
FEAR:


ENTENDO, MAS HÁ MUITO E UM PREÇO E UMA COMPRA OU VENDA, POR EXEMPLO:


284429 2013-08-05 16:47:27 COMPRAR 1.00 EURAUD 1.48839 0 628.85

O PREÇO É 1,48839 PAR DE MOEDAS -EURAUD, LOTE 1 CORRETOR 5 MARCO!!! LUCRO 628, OU SEJA, O PREÇO SUBIU 628 PIPS!!! no lote 1!!! quero dizer, se você puder olhar para a história, eu não entendo, honestamente a hora é quase 17:00, mas o preço é muito mais baixo do que esse 1,48839!!! MESMO QUE SEJA O PREÇO DE FECHAMENTO EU CONTEI 7000 PIPS EU NÃO ENTENDO COMO ISSO É POSSÍVEL


Onde você contou 7000 pips? É o preço aberto, mas mesmo que fosse o preço fechado, um preço não é suficiente para contar algo lá, você ainda precisa dos dois. Acho que é apenas uma falsificação, a menos que o concurso tenha corrido até 18 de dezembro, quando esta posição poderia ter sido fechada com 630 pips de lucro. Mas antes disso, ele teria sido forçado a sentar um drawdown de cerca de -830 pips (para 4zn), não muito inteligente, a estratégia é um guano tão sombrio...


Eu o teria perdido na conta real, funciona em uma demonstração quando tenho muito dinheiro virtual))))

 

mal vivo, boa tarde, obrigado por me indicar a direção certa!!!



r772ra, olá, obrigado por explicar o erro exibindo o código corrigido (considero esta a melhor maneira de aprender (-Faça a teoria, meu amigo, e a árvore da vida é sempre verde.-)))

Razão: