Como codificar? - página 181

 

Ajuda com a modificação da OrderHistory 2.0

Fiquei imaginando se alguém poderia modificar este arquivo MQ4 para mim. Quero que a descrição que vem quando o cursor está sobre as setas e linhas de tendência se pareça mais com isto..:

VENDER

(nome da ordem removido)

Tempo Aberto: 2009.05.25 10.00

Horário de fechamento: 2009.05.25 11.00

Preço Aberto: 94.98

Fechar Preço: 94.992

Pips: 25.0 |

SL: 50,0 | -> (fazer 5 dígitos)

TP: 25.0 | TP: 25.0 | TP: 25.0 | TP: 25.0

Max Fl. L: 16,9 ("Max Floating Loss/Profit" - Fixe se isto puder ser integrado)

Muitos: 0.38

Bruto: 100.28

...ao invés disso:

Venda: 12345678 2009.05.25 10.00 @ 94.98

Pips: 250 SL: -750 TP: 250 Lotes: 0.38 Bruto: $ 100.28

94.992

Eu mesmo tentei mudar isso, mas sem sucesso. Não sou um programador (é claro), mas seria legal se alguém que é pudesse consertar isto. Isso seria apreciado.

Arquivos anexados:
 

Antiderrapante NFA, por favor, ajude

Oi, eu tenho um problema com a nova regra da NFA. Minha EA não pode mais fazer nenhuma ordem pendente . É uma simples EA: abrir 1 ordem, apagar 1 ordem pendente não utilizada e fazer 2 novas ordens pendentes, limite de compra e limite de venda.

Aqui está o código :

if (TotalMikuOrders()==2 && TotalMikuOrders_Mode(OP_BUY)+TotalMikuOrders_Mode(OP_SELLL)==1){

for (int j=0;j<OrdersTotal();j++){

OrderSelect(j,SELECT_BY_POS);

se (OrderType()==OP_BUY){

se (OrderMagicNumber()==Magic_Miku_B){

deleteMikuPending();

sendMikuPending(OrderOpenPrice(),Magic_Miku_S,Magic_Miku_B+1,XFactor*CoA,XFactor*CoB,com+"XA",com+"XB",sl1,sl2,r1,r1,r1,sp,sp0,tp1,tp2);

retorno(0);

}

}

se (OrderType()==OP_SELL){

se (OrderMagicNumber()==Magic_Miku_S){

deleteMikuPending();

sendMikuPending(OrderOpenPrice(),Magic_Miku_S+1,Magic_Miku_B,XFactor*CoB,XFactor*CoA,com+"XB",com+"XA",sl2,sl1,r1,r1,r1,sp0,sp,tp2,tp1);

retorno(0);

}

}

}

}

}

retorno(0);

}

enviMikuPendente(preço duplo, int ms,int mb, lotes duplos, loteb duplo, coms de corda, pente de corda, sls duplo, slb duplo, rs duplo, rb duplo, sps duplo, spb duplo, tps duplo, tpb duplo){

duplo SL=0,TP=0;

int i;

if (StopLoss>0) {SL=NormalizeDouble(NormalizeDouble(OrderOpenPrice()-Range*rb*Point+spb*Point,Digits)-StopLoss*slb*Point,Digits);}else{SL=0;}

if (TakeProfit>0) {TP=NormalizeDouble(NormalizeDouble(OrderOpenPrice()-Range*rb*Point+spb*Point,Digits)+TakeProfit*tpb*Point,Digits);}else{TP=0;}

if (OrderSend(Symbol(),OP_BUYLIMIT,lotb,NormalizeDouble(OrderOpenPrice()-Range*rb*Point+spb*Point,Digits),Slippage,SL,TP,comb,mb,0,Blue)==-1) {

i=GetLastError();

se (i!=1 && i!=0) Imprimir("Buy stop Error : "+error(i)+" em "+Symbol()+" "+Period());

}

if (StopLoss>0) {SL=NormalizeDouble(NormalizeDouble(NormalizeDouble(OrderOpenPrice()+Range*rs*Point-sps*Point,Digits)+StopLoss*sls*Point,Digits);}else{SL=0;}

if (TakeProfit>0) {TP=NormalizeDouble(NormalizeDouble(OrderOpenPrice()+Range*rs*Point-sps*Point,Digits)-TakeProfit*tps*Point,Digits);}else{TP=0;}

if (OrderSend(Symbol(),OP_SELLLIMIT,lots,NormalizeDouble(OrderOpenPrice()+Range*rs*Point-sps*Point,Digits),Slippage,SL,TP,coms,ms,0,Red)==-1) {

i=GetLastError();

if (i!=1 && i!=0) Print("Sell stop Error : "+error(i)+" em "+Symbol()+" "+Period());

}

}

o código completo está em anexo. Estou pensando que talvez a EA deva ler a última ordem fechada, e fazer diretamente 1 ordem aberta. Mas eu não faço a menor idéia.

Por favor, ajude qualquer pessoa . Muito obrigado.

Arquivos anexados:
miku_test.mq4  15 kb
 

Questão de codificação

Ok Tenho um código que parece causar o erro OrderSend #130. Eu verifiquei as configurações de Stop Loss e Take Profit e elas devem estar bem longe da distância mínima necessária, se colocar uma na ordem. Eu até normalizei os números para ter certeza de que eles se encaixam nos parâmetros do site. Portanto, meu palpite é que deve haver um problema com o preço Ask ou o preço Bid que ele recebe e assim o servidor não o aceitará.

Este é o código da seção onde ele faria um pedido de compra:

RefreshRates();

ticket = OrderSend(Symbol(),openType,lots,Ask,Slippage,SL,TP,comment,ExpertMagicNumber,0,Color);

Há algo especial que eu deveria estar fazendo ao Ask para ter certeza de que ele se encaixa no que o site está procurando quando recebe o pedido? Acabei de assumir que ele obteria o preço exatamente como o site o deu.

 

Olá, há um bom sistema que funciona, postado por JoeSmoe

Seria útil se alguém soubesse como criar a EA mais simples que só abriria posição quando houvesse uma fuga - isso seria uma grande ajuda. Eu tentei, mas não sei como.

o melhor,

j

Arquivos anexados:
 

Como incluir condicionalmente um arquivo como parte de um EA?

Olá,

Eu postei isto em outra seção do fórum, mas depois descobri esta seção. Por favor, desculpe a dupla postagem...

É possível incluir condicionalmente um arquivo como parte de um EA? Embora a sintaxe possa estar incorreta, o conceito é...

switch(MASTER_PERIOD)

{

caso 30:

#Incluir ;

intervalo;

caso 240:

#incluir ;

pausa;

}

com MASTER_PERIOD sendo uma variável externa.

Agradeço e aguardo com expectativa seus comentários, sugestões e exemplos de como realizar isto!

Cumprimentos,

DMMcCollum

 

Como ler/recuperar o preço em um determinado momento?

Meu amigo e eu estamos trabalhando em um EA. Em algum momento ele (o EA) precisa ler e recuperar o preço em uma determinada hora, digamos, 17:00 EST... etc.

Qualquer idoso pode aconselhar como fazer isso, em vez de contar as barras de preço para trás? Talvez já exista uma função escrita para isso. Por gentileza, ajude. Obrigado a todos e que Deus os abençoe!

B rgds/abundância

 
 

Editar

Steven_1974:
Ok Tenho um código que parece causar o erro OrderSend #130. Eu verifiquei as configurações de Stop Loss e Take Profit e elas devem estar bem longe da distância mínima exigida, se colocar uma na ordem. Eu até normalizei os números para ter certeza de que eles se encaixam nos parâmetros do site. Portanto, meu palpite é que deve haver um problema com o preço Ask ou o preço Bid que ele recebe e assim o servidor não o aceitará.

Este é o código da seção onde seria feita uma ordem de compra:

RefreshRates();

ticket = OrderSend(Symbol(),OP_BUY,lots,Ask,Slippage,Bid - SL*Point,Ask + TP*Point,comment,ExpertMagicNumber,0,Color);

ticket = OrderSend(Symbol(),OP_SELL,lots,Bid,Slippage,Ask + SL*Point,Bid - TP*Point,comment,ExpertMagicNumber,0,Color);

Há algo especial que eu deveria estar fazendo ao Ask para ter certeza de que ele se encaixa no que o site está procurando quando recebe o pedido? Eu apenas assumi que ele obteria o preço exatamente como o site o deu.

editar como acima

OTR

 

Sistema JoseMoe EA

janekpietrzyk:
Seria útil se alguém soubesse como criar a EA mais simples que só abriria posição quando houvesse uma fuga - isso seria uma grande ajuda. Eu tentei, mas não sei como.

melhor,

j

encontre RonaldRaygun EA nessa linha.(100 300 pips diariamente...)

OTR

 

Erro de dados inigualável

Olá Codificadores

Ainda estou aprendendo meus primeiros passos no MQL-Code.

qual é a razão quando tenho a mensagem seguinte na revista:

Testgenerator:

erro de dados incomparável ( limite de volume 159 em 2009.05.06 19 15 excedido )

onde devo procurar no código?

Obrigado