[Arquivo!] Escrever um assessor de graça - página 71

 

Peço ajuda para escrever um simples robô comercial baseado no indicador i-Regr. Se for bem feito, garanto um pagamento razoável.

Se alguém estiver interessado, escreva para ma.gog@mail.ru

 
Prezados Senhores Programadores! Estou pedindo ajuda para escrever um EA, pois ainda não falo MQL. Se o EA for lucrativo, estou pronto para compartilhar meus lucros com a pessoa que o escreveu, ou descrever suas condições. Acho que deveria ser lucrativo.

A idéia geral é a seguinte:


1. O consultor especializado deve colocar ordens de parada e limite pendentes em fractais (parada de compra, parada de venda, limite de compra, limite de venda), o tempo de validade das ordens deve ser definido (horas, minutos).

2.
Os tipos de ordem devem ser intercambiáveis (ordens de parada e de limite juntos; ou separadamente: apenas ordens de parada, apenas ordens de limite),

3. A distância do pedido que está sendo feito até o fractal deve ser definida em pips, e para pedidos de parada separadamente, e para pedidos de limite separadamente.

4. StopLoss e TakeProfit são fixos, ajustados imediatamente.


5. Você quer ter uma parada de fuga de uma tubulação e desativá-la.

6. O lote deve ser consertado. Mas também é possível criar uma gestão de dinheiro.


7. O spread deve ser considerado nos pedidos: (pedido de compra + spread, pedido de venda - spread)


Para contato: Cashinroman@yandex.ru
 

Alguém pode entender este código, porque no testador libra H4 USD funciona muito bem
E na demonstração e no real só derrama algo para mudá-lo sps talvez ele olhe na história

duplo externo Init_line1 = 1,9620;

duplo externo Init_line2 = 1,9630;

duplo externo Init_line3 = 1,9640;

duplo externo Init_line4 = 1,9650;

Int. externo Step_line = 40;

Lotes duplos externos = 1;

externo int ColUr = 2;


int i, j;

int a[4][4][4];//1-compra, 2-venda, 3-compra, 4-venda


minlot duplo;

data/hora LastWork;


//+------------------------------------------------------------------+

//| função de iniciação de especialista |

//+------------------------------------------------------------------+


//********************************************************************

//verificar se há posições em aberto,

//põe o número de posições em aberto na matriz a[4][4].

bool Pred()

{

int NL; // cujas fileiras estão na matriz

para (i=0; i<==4; i++)

para (j=0; j<=4; j++)

a[i][j]=-1;//tudo em -1

para (i=0; i<OrdensTotal(); i++) //reversão de todas as ordens

{

se (OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==falso)//seleccionar ordem se não for possível

pausa;

se (OrderSymbol()==Symbol())//sexistem posições para este símbolo

se (OrderComment()=="a1")// existe uma marca?

NL=0;

senão se (OrderComment()=="a2")//é nossa etiqueta?

NL=1;

senão se (OrderComment()=="a3")//é nossa etiqueta?

NL=2;

senão se (OrderComment()=="a4")//é nossa tag?

NL=3;

senão

continuar;// não? então continue a busca

// temos nossas ordens, vamos lidar com elas

se (OrderType()==OP_BUY)// se a posição for Comprar

a[NL][0]=OrderTicket();// lembre-se de seu número

caso contrário se (OrderType()==OP_SELL)// se a posição estiver à venda

a[NL][1]=OrderTicket();// lembre-se de seu número

caso contrário se(OrderType()==OP_BUYSTOP)// se a posição estiver pendente de compra

a[NL][2]=OrderTicket();// lembre-se de seu número

caso contrário se (OrderType()==OP_SELLSTOP)// se a posição estiver pendente de venda

a[NL][3]=OrderTicket();// lembre-se de seu número

}// fim do laço

}



//********************************************************************

//Exemplo:

//controle nível 1,9420, preço atual 1,9277 ou 1,9537 encontrar perto do nível inferior

//а)|1.9420-1.9277|*10000/40=3.575

//3,575-3=0,575; 0,575*40=23; 1,9277-0,0023=1,9255 nível superior mais próximo

//б)|1.9420-1.9537|*10000/40=2.925

// 2,925-2=0,925; 0,925*40=37; 1,9537-0,0037=1,9500 Nível mais baixo

int init()

{

LastWork = -1;

}

//********************************************************************

int deinit()

{

retorno(0);

}


//********************************************************************

int start()

{

se (CurTime() - LastWork < 5)

retorno(0); // não mais de uma vez a cada 5 segundos

LastWork = CurTime();

Pred();//todos coletados

Comment("a[1][1]=",a[0][0]," a[0][2]=",a[0][1]," a[1][3]=",a[0][2]," a[1][4]=",a[0][3],"\n",

"a[2][1]=",a[1][0], "a[2][2]=",a[1][1], "a[2][3]=",a[1][2], "a[2][4]=",a[1][3],"\n"

"a[3][1]=",a[2][0]," a[3][2]=",a[2][1], "a[3][3]=",a[2][2], "a[3][4]=",a[2][3],"\n".

"a[4][1]=",a[3][0]," a[4][2]=",a[3][1]," a[4][3]=",a[3][2]," a[4][4]=",a[3][3],"\n")

Comentário de corda;

duplo Init_line,qw,qw1,uo,w, sl, op;

for(i=0;i<ColUr;i++)//executar a matriz a[4][4]

{

//necessário mais

coment=";

se (i==0)

{

coment="a1";

Init_line=Init_line1;

}

caso contrário se(i===1)

{

coment="a2";

Init_line=Init_line2;

}

caso contrário se(i===2)

{

coment="a3";

Init_line=Init_line3;

}

caso contrário se(i===3)

{

coment="a4";

Init_line=Init_line4;

}

//verificar o nível mais próximo

w=(MathAbs(Bid-Init_line)*1/Point)/Step_line;//coeficiente

if (Licitação>=Init_line)

qw=Step_line*(w-MathFloor(w));//número de pontos até o nível mais próximo

senão

qw=Step_line-Step_line*(w-MathFloor(w));//número de pontos até o nível mais próximo

qw1=Step_line-qw;//número de pontos até o nível mais próximo

// Comentário("Linha1 ",Init_line", w=",((Bid-Init_line)*1/Point)/Step_line", qw=",qw," NewLine",Bid-(qw)*Point);

if ((a[i][0]==-1)&&(a[i][1]==-1)&&(a[i][2]==-1)&&(a[i][3]==-1))//нету открытых

{

//pedidos de colocação

se (qw+4>=15)// podemos colocar uma espera para venda

OrderSend(Symbol(), OP_SELLSTOP, Lots, Bid-(qw)*Point,0,Bid-Point*(qw-2*Step_line),0,0,CLR_NONE);

caso contrário //setar o próximo nível abaixo

OrderSend(Symbol(), OP_SELLSTOP, Lots, Bid-Point*(qw+Step_line),0,Bid-Point*(qw+Step_line-2*Step_line),0,coment,0,0,CLR_NONE);

se (qw1>=15)//cpode esperar pela compra

OrderSend(Symbol(), OP_BUYSTOP, Lots, Ask+(qw1-4)*Point,0,Ask+Point*(qw1-4-2*Step_line),0,coment,0,0,CLR_NONE);

caso contrário/// colocar para o próximo nível acima

OrderSend(Symbol(), OP_BUYSTOP, Lots, Ask+Point*(qw1-4+Step_line),0,Ask+Point*(qw1-4+Step_line-2*Step_line),0,coment,0,0,CLR_NONE);

}

//!!!!!!!!!!!!!

senão se (a[i][0]!=-1)// comprará

{//abrir compra

OrderSelect(a[i][0],SELECT_BY_TICKET, MODE_TRADES);//selecione ordem aberta

uo=OrderOpenPrice();//seu preço aberto - nível

op=uo;

se (uo<(Ask-(qw-4)*Point))// preço aberto for mais baixo que o baixo atual

//cheque SL aberto, se necessário modifique

se (OrderStopLoss()<(Ask-Point*(qw+4+2*Step_line)))//SL for inferior a 2 níveis abaixo do preço atual

OrderModify(a[i][0],NULL,Ask-Point*(qw+4+2*Step_line),NULL,NULL,CLR_NONE);

sl=OrderStopLoss();

//decidir sobre o pendente

se (a[i][3]!=-1)//stand selltop

{

OrderSelect(a[i][3],SELECT_BY_TICKET, MODE_TRADES);//posição sobre pendentes

uo=Preço de Ordem Aberta();// preço aberto - nível

if(uo!=sl)//(Bid-Point*(qw+2*Step_line)))// o nível aberto é igual à parada BUY

OrderModify(a[i][3],sl, sl+Point*(2*Step_line),NULL,NULL,CLR_NONE)

// OrderModify(a[i][3],Bid-Point*(qw-2*Step_line),Bid+qw*Point,NULL,NULL,NULL);

}

caso contrário, se (a[i][3]==-1)//volta para comprar tiver sido aberta, a vendedtop deve ser definida

OrderSend(Symbol(), OP_SELLSTOP, Lots, sl,0,sl+Point*(2*Step_line),NULL,coment,0,0,CLR_NONE);

// OrderSend(Symbol(), OP_SELLSTOP, Lots, Bid-(qw+2*Step_line)*Point,0,Bid-Point*(qw),NULL,coment,0,0,0)

}

//!!!!!!!!!!!!!

senão se (a[i][1]!=-1)//stand sell

{

OrderSelect(a[i][1],SELECT_BY_TICKET, MODE_TRADES);//selecione a ordem aberta

uo=Preço de Ordem Aberta();// preço aberto - nível

op=uo;

se (uo>(Bid+(qw1)*Ponto))// preço aberto for maior que o nível superior atual

//cheque SL aberto, se necessário modifique

se (OrderStopLoss()>(Bid+Point*(qw1+2*Step_line)))//SL for superior a 2 níveis acima do preço atual

OrderModify(a[i][1],NULL,Bid+Point*(qw1+2*Step_line),NULL,NULL,CLR_NONE);

sl=OrderStopLoss();

// adiar

se (a[i][2]!=-1)// vale a pena comprar

{

OrderSelect(a[i][2],SELECT_BY_TICKET, MODE_TRADES);//posição sobre pendentes

uo=Preço de Ordem Aberta();// preço aberto - nível

se (uo!=sl)// o nível aberto for igual à parada de venda

OrderModify(a[i][2],sl,sl-(2*Step_line)*Point,NULL,NULL,CLR_NONE);

// OrderModify(a[i][2],Ask+Point*(qw1-4+2*Step_line), Ask+(qw1-4)*Point,NULL,NULL,NULL);

}

senão se (a[i][2]==-1)//volta para vender tiver sido aberto, temos de definir o stop de compra

OrderSend(Symbol(), OP_BUYSTOP, Lots, sl,0,sl-Point*(2*Step_line),NULL,0,0,CLR_NONE);

//OrderSend(Symbol(), OP_BUYSTOP, Lots, Ask+(qw1-4+2*Step_line)*Point,0,Ask+Point*(qw1-4),NULL,coment,0,0,0,0)

}

}

retorno (0);

}

 
Cashin:
Caros senhores programadores! Gostaria de pedir ajuda para escrever um EA. Ainda não falo MQL. Se meu EA for lucrativo, estou pronto para compartilhar meus lucros com a pessoa que o escreveu, ou descrever suas condições. Acho que deveria ser lucrativo.

Sobre "dividir o prêmio" - isso é digno)

Mas é mais interessante "descrever os termos".

Meus termos: Escreverei pelo dinheiro agora, não pretendo lucrar.

Contatos no perfil

 
Caros visitantes a este site. Um Expert Advisor muito simples precisa ser escrito. Tenho uma sugestão a fazer. Eu lhe dou uma condição, você me dá o Expert Advisor. Você também poderá usar minha estratégia simples. Eu apreciaria se você pudesse explicar como alterar o volume de pedidos na EA, quando isto for necessário. Darei os termos durante a correspondência pessoal ou ICQ 300333834 ou pelo correio forexbmf@yandex.ru Andrew.
 
october:
Caros visitantes a este site. Um Expert Advisor muito simples precisa ser escrito. Tenho uma sugestão a fazer. Eu lhe dou uma condição, você me dá o Expert Advisor. Você também poderá usar minha estratégia simples. Eu apreciaria se você pudesse explicar como alterar o volume de pedidos na EA, quando isto for necessário. Darei os termos durante a correspondência pessoal ou ICQ 300333834 ou pelo correio forexbmf@yandex.ru Andrew.

Se você quiser negociar gratuitamente (de preferência real ou demo 1-2 meses).

Caso contrário, aqui https://www.mql5.com/ru/job

 
sergeev sobre a estratégia que requer um EA - o comércio manual é muito difícil, quase impossível (leva muito tempo e é difícil fazer uma aposta a tempo). Entretanto, após ouvir a condição, você perceberá que tal comércio faz sentido.
 

Однако выслушав условие вы поймёте, что действительно имеет смысл такая торговля.

october, você não tem idéia de quantas pessoas antes de você disseram praticamente as mesmas palavras e se chatearam.

 
october:
Prezados visitantes do local. Uma EA muito simples precisa ser escrita.

Veja o EA Wizard online: http://sufx.core.t3-ism.net/ExpertAdvisorBuilder/

Suporte em russo disponível

 
a tarefa aqui, e justificar que não vai funcionar )
Razão: