Como codificar? - página 192

 

...

Eliminado por mladen

Motivo : não adianta mostrar o que pode dar errado

 

Obrigado

Obrigado....... Roger

 

precisam de ajuda em código...

obrigado...

 

Ajude por favor

OLÁ A TODOS,

Alguém pode ajudar a fazer com que este indicador não repinte o histórico, especialmente se a barra tiver sido fechada, o indicador repintará algumas vezes de 2 a 3 barras no comércio ao vivo depois que as velas tiverem sido fechadas e, se possível, um alerta será adicionado a ele.obrigado em antecipação.

 

precisam de ajuda em código...

Olá colegas,

Não sou um programador, mas gostaria muito que alguém pudesse me ajudar com esta questão.

Como eu reescrevo este código para que ele faça o seguinte;

se (Ordem Aberta Total = 0)

então

lote = Type1Lot(order_type);

se (Ordem Aberta Total = 1)

então

lote = Type2Lot(order_type);

se (Ordem Aberta Total > 2)

então

lote = Type3Lot(order_type);

Obrigado a todos.

Apreciar

 

Existe uma maneira melhor de codificar

Eu codifiquei um índio que coloca altos/baixos de balanço na tabela e preciso saber o último de cada um deles antes de continuar. Esta é minha tentativa de procurar por estes dois preços (portanto, preciso de alguma ajuda).

Na maioria das vezes isto funciona, mas hoje estava dizendo que o último swing high foi na verdade o segundo swing high.

Alguém poderia, por favor, olhar para isto e ver se há uma maneira melhor de codificar esta parte?

Obrigado por qualquer ajuda.

em alto-bar, baixo-bar, i,n;

double curlow=0,curhigh=0;

para (i=200;i>=1;i--)

{

se (Elevado<Alto & && Elevado<Alto && Elevado && Elevado<Alto)

{

curhigh=Alto;

highbar=i+2;

}

if (Baixo>baixo &&baixo>baixo &&baixo>baixo &&baixo>baixo)

{

curlow=Baixo;

lowbar=i+2;

}

}

//----check se há vela mais alta/baixa desde a última fractal----------

n=MathMax(highhbar,lowbar );

para (int x=n-1;x>=0;x--)

{

se (Alto[x]> coaxial)

{

curhigh=High[x];

highbar=x;

}

se (Low[x]< curlow)

{

curlow=Low[x];

lowbar=x;

}

}

Parece que os travessões não colaram corretamente, desculpe.

 
forexarchitect:
Olá colegas,

Não sou um programador, mas gostaria muito que alguém pudesse me ajudar com esta questão.

Como eu reescrevo este código para que ele faça o seguinte;

se (Ordem Aberta Total = 0)

então

lote = Type1Lot(order_type);

se (Ordem Aberta Total = 1)

então

lote = Type2Lot(order_type);

se (Ordem Aberta Total > 2)

então

lote = Type3Lot(order_type);

Obrigado a todos.

Apreciar

Eu não sou de forma alguma um codificador especializado, mas acho que você precisa fazer um loop em todas as suas encomendas e contar quais encomendas atendem às suas especificações. Em seguida, use uma declaração diferente se for para diferentes tipos de pedidos... exemplo.

int total=OrdersTotal(),totalBuy,totalSell;

for (int q=0; q<total; q++ )

{

OrderSelect(q,SELECT_BY_TICKET,MODE_TRADES);

if (OrderMagicNumber() == Magic && OrderType() == OP_BUY)

totalBuy++;

else if (OrderMagicNumber() == Magic && OrderType() == OP_SELL)

totalSell++;

}

Aqui estou selecionando quais tickets para contar por número Mágico, e também contando o número de Curtas, e o número de longas. Você pode usar o código acima como exemplo.

 

Colocar ordem limite em 50 e 100 níveis psicológicos

Ei, eu estava procurando uma pequena ajuda com meu código. Seria este o código a ser usado para colocar uma ordem de limite de mercado nos níveis redondos de 50 e 100 de um par de moedas. Eu quero colocar uma ordem nos níveis 50 e 100 acima e abaixo do atual Ask/Bid.

if (Point == 0.00001) Poin = 0.0001; //6 digits

else if (Point == 0.001) Poin = 0.01; //3 digits (for Yen based pairs)

else Poin = Point; //Normal

for(double q=Ask*Poin,q<Ask+100*Poin,q++)

{

if(MathMod(q,100) == 0 || MathMod(q,50) == 0)

{

\\ Place limit order

}

for(double q=Bid*Poin,q>Bid-100*Poin,q--)

{

if(MathMod(q,100) == 0 || MathMod(q,50) == 0)

{

\\ Place limit order

}

Qualquer ajuda seria bem-vinda.

 

Indicador de cor da barra

Olá, alguém pode ajudar com um indicador MT4?

Não tenho certeza se isso pode ser feito, mas preciso que as barras sejam coloridas de novo.

R1 = valor mais baixo para as últimas 20 barras + (2*ATR(10))

R2 = valor mais alto para as últimas 20 barras - (2*ATR(10))

Se o preço de fechamento for maior que R1, então colorir a barra como.... um azul brilhante.

Se o preço de fechamento da barra anterior for menor do que R2, então colorir a barra como.... FireBrick

Obrigado

A

 

ainda à procura de código exemplo de abertura da EA mais de 1 ordem

Eu só quero abrir 2 ordens de cada vez, 1 com tp e 1 sem e depois NUNCA abrir outra naquela direção até que as condições mudem para abrir em sentido contrário. depois fechar tudo e repetir em sentido contrário.

Estou me esforçando para codificá-la, mas... FALHA até agora.

Os maiores problemas são 1 posição que se abre ao fechar do bastão da vela...depois 2ª posição que se abre ao fechar do bastão da vela NEXT. Eu também recebo mais de 2 posições abertas às vezes e recebo uma nova posição toda vez que a 1ª acessa o TP. TODOS MUITO MUITO MUITO MUITO.

aqui está o código do pedido de compra e venda é basicamente o mesmo...

QUALQUER DICA seria útil, eu estou disposto a digitar o código

Mesmo uma EA que faz isso, que eu posso olhar para exemplos.

Acho que esta idéia é muito importante e deve ser incorporada a VÁRIAS EA's para fins de gerenciamento de dinheiro.

OBRIGADO UM TONELADO

se ( ) { ) {

Closebuy = Verdadeiro;

MAcrossDown = Verdadeiro;

MAcrossUP= Falso;

OrdertotalCloseBuy = OrderTotal();

int TentativasTriedCloseBuy = 0;

bool OrderCloseBuy = Falso;

bool PositionClosedBuy = Falso;

if(OrdersTotal() > 0 ){

OrderSelect(0, SELECT_BY_POS, MODE_TRADES);

if(OrderType() == OP_BUY){

for (int i = OrdertotalCloseBuy-1; i >= 0; i --) {

PositionClosedBuy = Falso;

AttemptsTriedCloseBuy = 0;

OrderSelect(i, SELECT_BY_POS, MODE_TRADES);

enquanto (!PositionClosedBuy && AttemptsTriedCloseBuy < CloseposnAttempts) {

AttemptsTriedCloseBuy = AttemptsTriedCloseBuy + 1;

OrderCloseBuy = OrderClose(OrderTicket(), OrderLots(), Bid, Slippage, LimeGreen);

Sleep(PausebetweenOrders * 1000);

if(OrderCloseBuy == Verdadeiro) { // Posição Fechada com Sucesso.

PositionClosedBuy == Verdadeiro;

// if (SignalMail) SendMail("[Signal Alert]", "[" + Symbol() + "] " + DoubleToStr(Bid, Digits) + " Close Buy");

} else if( Order == False && AttemptsTried >= CloseposnAttempts ) {

Imprimir( TentativasTestado + " tentativas de fechar ordem de mercado " +

OrderTicket() + " falhou. Erro [ " + GetLastError() + " ]" );

// se (SignalMail) SendMail( AttemptsTried, " tentativas de fechamento de ordem de compra do mercado falharam" );

} // Terminar Se, Ordem:

} // Terminar Enquanto Loop, AccountAvailable:

}// para

}//se o tipo de pedido

}// se as ordenstotal

Sleep(1000);

if(OrderTotal() == 0 && Closebuy == True && Sell_Complete_Wait4Cross_Up == False) {

SellTicket1 = Falso;

SellTicket1 = OrderSend(Symbol(), OP_SELL, Lots, Bid, Slippage, StopLoss, Bid - TakeProfit * Ponto, "SELL(#" + MagicNumber + ")", MagicNumber, 0, Vermelho);

Sleep(PausebetweenOrders * 1000);

Sell_Complete_Wait4Cross_Up = Verdadeiro;

Buy_Complete_Wait4Cross_Down = Falso;

if (Ticket && SignalMail) SendMail("[Signal Alert]", "[" + Symbol() + "] " + DoubleToStr(Bid, Digits) + " Open 1st Sell");

Sleep(1000);

SellTicket2 = OrderSend(Symbol(), OP_SELL, Lots, Bid, Slippage, StopLoss, 0, "2nd SELL(#" + MagicNumber + ")", MagicNumber, 0, Pink);

Sleep(PausebetweenOrders * 1000);

if (Ticket2 && SignalMail) SendMail("[Signal Alert]", "[" + Symbol() + "] " + DoubleToStr(Bid, Digits) + " Open 2nd Sell");

if(OrdersTotal() == 2 && MAcrossDown == Verdadeiro) {Sell_Complete_Wait4Cross_Up = Verdadeiro; Buy_Complete_Wait4Cross_Down = Falso;}

}//Ordem de compra

} //Closebuy