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 582

 
Twilight:

Olá.


Comment("test"+test2,testJPY);

Comment("testJPY[1] = ",testJPY[1]);
De alguma forma, experimente.
 
r772ra:

Faz algo assim, experimente-o.


Não, você não entende a tarefa.

Você precisa passar ou o nome da variável ou o valor da variável, dependendo da situação.

 

Pode uma variável ser designado para vários valores?


algo como isto

int N=(1;2;5;9;15;19)

 
abeiks:

É possível pode ser atribuída uma única variável a a uma única variável?


algo como isto

int N=(1;2;5;9;15;19)

E então como descobrir qual o valor a usar?

Ou você pretendia declarar uma matriz? Então int N[6] = {1, 2, 5, 9, 15, 19};

Não uso tais matrizes, se estiver errado, serei corrigido por uma pessoa conhecedora...


 
AlexeyVik:
E então como posso descobrir qual o valor a usar?

Ou você pretendia declarar uma matriz? Então int N[6] = {1, 2, 5, 9, 15, 19};

Eu não uso tais matrizes, se estiver enganado, alguém me corrigirá...



Obrigado! estou pensando em usar isto em testes como restrição comércio em certos dias do mês. if(Day()==N[6]) !

 

Olá! Por favor, me ajude...

Como você pode criar uma caixa em um gráfico, na qual você pode colocar um segmento do mesmo gráfico, conhecendo os tempos de início e fim do segmento.

Obrigado...

 

Olá, você pode ajudar a adicionar um conselheiro de martingale, para que, no caso de um comércio perdido, o próximo abrisse com o dobro do lote em relação ao anterior.

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

//| Test3.mq4 |

//| Popov Vladimir |

//| http://vk.com/id143715412 |

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

#propriedade copyright "Popov Vladimir"

#link da propriedade "http://vk.com/id143715412"


Lotes duplos externos = 0,1;

Exterior int TakeProfit = 130;

StopLoss int externo = 80;

Escorregão externo = 5;

comentário de cadeia externa = "Tma bot";

magia int externa = 123;

cadeia externa Indi = "Dados indicadores";

String externo TimeFrame = "time frame atual";

Externo int Médio Comprimento = 20;

preço interno externo = PREÇO_CLOSE;

duplo ATRMultiplicador externo = 2,0;

período ATRP externo interno = 100;

bool externo Interpolar = verdadeiro;

Indente externo interno = 5;


Período KPT externo interno =5;

período DP int externo =3;

abrandamento externo interno =3;



duplo PriceHigh, PriceLow, SL, TP, PriceMiddle, PriceBuy, StochasticHigh, StochasticLow, PriceSell;

duplo HighesBuffer[];

duplo LowesBuffer[];

int ticket1, ticket2;


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

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

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

int init()

{


se (Dígitos == 3 || Dígitos == 5)

{

TakeProfit *= 10;

StopLoss *= 10;

Slippage *= 10;

}





retorno(0);

}

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

//| função de desinicialização especializada |

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

int deinit()

{

//----

//----

retorno(0);

}

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

//| função de início especializado |

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

int start()

{

PriceHigh = iCustom (Símbolo (), 0, "Time", TimeFrame, HalfLength, Price, ATRMultiplier, ATRPeriod, Interpolate, 1, 0);

PriceLow = iCustom (Símbolo (), 0, "Time", TimeFrame, HalfLength, Price, ATRMultiplier, ATRPeriod, Interpolate, 2, 0);

PriceMiddle = iCustom (Símbolo (), 0, "Time", TimeFrame, HalfLength, Price, ATRMultiplier, ATRPeriod, Interpolate, 0, 0);

lotes duplos, Lote;

se (Licitação >= PriceHigh && CountSell() == 0)

{

SL = NormalizeDouble(Bid+StopLoss*Point, Dígitos);

TP = NormalizeDouble(Bid-TakeProfit*Point, Dígitos);

ticket1 = OrderSend(Symbol(), OP_SELL, Lots, Bid, Slippage, 0, 0, comment, Magic, 0, Red);

se (bilhete1 > 0)

{

if(OrderSelect(ticket1, SELECT_BY_TICKET, MODE_TRADES) == verdadeiro)

OrderModify(ticket1, OrderOpenPrice(), SL, TP, 0);

PriceBuy = NormalizeDouble(OrderOpenPrice() + Indent*Point, Dígitos);

}

ticket2 = OrderSend(Symbol(), OP_BUYSTOP, Lots, PriceBuy, Slippage, 0, 0, comment, Magic, 0, Green);

se (bilhete2 > 0)

{

se (OrderSelect(ticket2, SELECT_BY_TICKET, MODE_TRADES)==verdadeiro)

{

SL = NormalizeDuplo(PriceBuy - StopLoss * Ponto, Dígitos);

TP = NormalizeDuplo(PriceBuy + TakeProfit * Ponto, Dígitos);

OrderModify(ticket2, OrderOpenPrice(), SL, TP, 0);

}

}

}


if(Ask <== PriceLow && Ask <= StochasticLow && CountBuy() == 0)

{

SL = NormalizeDouble(Ask-StopLoss*Point, Dígitos);

TP = NormalizeDouble(Ask+TakeProfit*Point, Dígitos);

ticket1 = OrderSend(Symbol(), OP_BUY, Lots, Bid, Slippage, 0, 0, comment, Magic, 0, Blue);

se (bilhete1 > 0)

{

if(OrderSelect(ticket1, SELECT_BY_TICKET, MODE_TRADES) == verdadeiro)

OrderModify(ticket1, OrderOpenPrice(), SL, TP, 0);

PriceSell = NormalizeDouble(OrderOpenPrice() - Indent*Point, Dígitos);

}

ticket2 = OrderSend(Symbol(), OP_SELLSTOP, Lots, PriceSell, Slippage, 0, 0, comment, Magic, 0, Orange);

se (bilhete2 > 0)

{

se (OrderSelect(ticket2, SELECT_BY_TICKET, MODE_TRADES)==verdadeiro)

{

SL = NormalizeDuplo(PriceSell + StopLoss * Ponto, Dígitos);

TP = NormalizeDuplo(PriceSell - TakeProfit * Ponto, Dígitos);

OrderModify(ticket2, OrderOpenPrice(), SL, TP, 0);

}

}

}

se (Pergunte <= PriceMiddle && CountSell() > 0)

{

for(int i=OrdensTotal()-1; i >=0; i--)

{

if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES) == verdadeiro)

{

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

OrderClose(OrderTicket(), OrderLots(), Ask, Slippage, Black);

}

}

}

if (Licitação >= PriceMiddle && CountBuy() > 0)

{

for(i=OrdensTotal()-1; i >=0; i--)

{

if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES) == verdadeiro)

{

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

OrderClose(OrderTicket(), OrderLots(), Bid, Slippage, Green);

}

}

}

retorno(0);

}

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


int CountBuy()

{

int count = 0;

para (int tr = OrderTotal()-1; tr >= 0; tr --)

{

OrderSelect(tr, SELECT_BY_POS);

se (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic)

{

se (OrderType() == OP_BUY)

contar++;

}

}

retornar (contar);

}


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


int CountSell()

{

int count = 0;

para (int tr= EncomendasTotal()-1; tr >= 0; tr --)

{

OrderSelect(tr, SELECT_BY_POS);

se (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic)

{

se (OrderType() == OP_SELL)

contar++;

}

}

retornar (contar);

}

 
Favor avisar - há dois indicadores personalizados, ambos são indicadores de histograma, ambos são exibidos em uma janela separada. Qual é a maneira de fazer um indicador que mostrará o inteiro (as leituras de um serão divididas pelo segundo). isto é feito, por exemplo, no indicador Bill Williams - MFI - lá eles dividem as leituras do tamanho da vela pelas leituras do volume do tick. Acho que pode haver um modelo (esqueleto) no qual podemos colar os nomes dos indicadores ou seus códigos para obter um indicador mostrando sua divisão (fração). Alguém sabe de alguma coisa?
 
AlexeyVik:
E então como descobrir qual o valor a usar?

Ou você pretendia declarar uma matriz? Então int N[6] = {1, 2, 5, 9, 15, 19};

Eu não uso tais matrizes, se eu estiver enganado sobre algo, meus amigos me corrigirão...



int N[6] = {1, 2, 5, 9, 15, 19};

if(Day()==N[6])!

No entanto, esta sugestão não funcionou - matriz fora de alcance. ..Os testes foram interrompidos devido a umerro crítico na EA.

 
abeiks:

int N[6] = {1, 2, 5, 9, 15, 19};

if(Day()==N[6])!

No entanto, isto não funcionou - matriz fora de alcance. ..Os testes foram interrompidos devido a um erro crítico na EA.

Se você lesse um pouco sobre arrays, você entenderia que a indexação de arrays começa com zero e vai até a dimensão 1, ou seja, no seu caso, de 0 a 5.