[Arquivo!] Qualquer pergunta de novato, de modo a não desorganizar o fórum. Profissionais, não passem por ela. Não poderia ir a lugar algum sem você - 2. - página 125
pyatka__ASD: Você pode me dizer se alguém tem um software que tem uma conexão em ziguezague alto e baixo extremo. Obrigado
Não sei de qual conexão você precisa, mas... É assim que eu determino na EA qual extremo em ziguezague está disponível - baixo ou alto, esperemos que você encontre o que precisa:
//----------------------------------------------------------------------------------------------------------------- if (op==OP_BUY)
{
for (m=1; m<=CalcBarsLimit; m++) // Найдём первый перелом ЗЗ слева от первого бара
{
zz=iCustom(sy, tf, "ZigZag", dp, dv, bs, 0, m); // Берём данные 0 буфера ЗЗ с бара mif (zz!=0 && // Если первый экстремум верхнийNormalizeDouble(zz, dg)==NormalizeDouble(iCustom(sy, tf, "ZigZag", dp, dv, bs, 1, m), dg))
return(false); // Валим отсюдаelseif (zz!=0 && // Если первый экстремум нижнийNormalizeDouble(zz, dg)==NormalizeDouble(iCustom(sy, tf, "ZigZag", dp, dv, bs, 2, m), dg))
{
if (MathRound((KLevel-zz)/pt)>=DistanceMIN && // Если расстояние от ZZ до KLevel ...MathRound((KLevel-zz)/pt)<=DistanceMAX) // ... в заданных пределах
{
if (Open[1]<KLevel &&
Close[1]>KLevel &&
pa>KLevel)
{
Fibo0_PriceB=zz; // Сохраним цену излома ZZ
Fibo23_PriceB=pa; // Сохраним цену 23 фибы
nmKLB=DoubleToStr(Time[m], 4); // имя метки
SetArrow(5, DeepSkyBlue, nmKLB, Time[m], zz, 1); // Отмечаем излом ЗЗ на графикеreturn(true);
}
}
}
}
}
//----------------------------------------------------------------------------------------------------------------- if (op==OP_SELL)
{
for (m=1; m<=CalcBarsLimit; m++) // Найдём первый перелом ЗЗ слева от первого бара
{
zz=iCustom(sy, tf, "ZigZag", dp, dv, bs, 0, m); // Берём данные 0 буфера ЗЗ с бара mif (zz!=0 && // Если первый экстремум нижнийNormalizeDouble(zz, dg)==NormalizeDouble(iCustom(sy, tf, "ZigZag", dp, dv, bs, 2, m), dg))
return(false); // Валим отсюдаelseif (zz!=0 && // Если первый экстремум верхнийNormalizeDouble(zz, dg)==NormalizeDouble(iCustom(sy, tf, "ZigZag", dp, dv, bs, 1, m), dg))
{
if (MathRound((zz-KLevel)/pt)>=DistanceMIN && // Если расстояние от ZZ до KLevel ...MathRound((zz-KLevel)/pt)<=DistanceMAX) // ... в заданных пределах
{
if (Open[1]>KLevel &&
Close[1]<KLevel &&
pb<KLevel)
{
Fibo0_PriceS=zz; // Сохраним цену излома ZZ
Fibo23_PriceS=pb; // Сохраним цену 23 фибы
nmKLS=DoubleToStr(Time[m], 4); // имя метки
SetArrow(5, BurlyWood, nmKLS, Time[m], zz, 1); // Отмечаем излом ЗЗ на графикеreturn(true);
}
}
}
}
}
return(false);
}
//-------------------------------------------------------------------------------
ZS... O código é áspero e não otimizado. Espero que você saiba que é melhor subtrair dois valores normalizados e verificar o resultado para zero...
eddy: como? se uma variável é declarada dentro do início, você pode atribuí-la ao return_value1?
Sim, isto é chamado de passar um parâmetro por referência. Se uma função é declarada normal, sua chamada faz com que todas as variáveis, passadas como parâmetros formais, sejam copiadas para as variáveis locais da função e tratadas. A cópia não é realizada quando os parâmetros são passados por referência, ou seja, a função opera com seus originais, e não com suas cópias. Assim, todas as alterações feitas no código de função com estes parâmetros, permanecem efetivas após o retorno do código de função.
Para passar um parâmetro por referência, indique este método na declaração de função colocando o & antes do identificador do parâmetro requerido.
não é multiplicado por 5, mas por 2. No primeiro caso, o parâmetro a é passado "por valor" e seu conteúdo não é salvo após sair da função, no segundo caso é passado por referência (duplo &a), portanto o valor alterado, ou seja, 5*2=10 será contido na variável a após sair da função Func2.
Para login e uso do site MQL5.com, você deve ativar o uso de cookies.
Ative esta opção no seu navegador, caso contrário você não poderá fazer login.
Você entrou na conta. A autenticação de dois fatores foi desativada. Configure-a novamente e escaneie um novo código QR ou continue com a autenticação de dois fatores desativada.
Você pode me dizer se alguém tem um software que tem uma conexão em ziguezague alto e baixo extremo. Obrigado
Não sei de qual conexão você precisa, mas... É assim que eu determino na EA qual extremo em ziguezague está disponível - baixo ou alto, esperemos que você encontre o que precisa:
ZS... O código é áspero e não otimizado. Espero que você saiba que é melhor subtrair dois valores normalizados e verificar o resultado para zero...
Você pode. Retornar aos parâmetros.
como? se uma variável é declarada dentro do início, você pode atribuí-la ao return_value1?
Sim, isto é chamado de passar um parâmetro por referência. Se uma função é declarada normal, sua chamada faz com que todas as variáveis, passadas como parâmetros formais, sejam copiadas para as variáveis locais da função e tratadas. A cópia não é realizada quando os parâmetros são passados por referência, ou seja, a função opera com seus originais, e não com suas cópias. Assim, todas as alterações feitas no código de função com estes parâmetros, permanecem efetivas após o retorno do código de função.
Para passar um parâmetro por referência, indique este método na declaração de função colocando o & antes do identificador do parâmetro requerido.
Exemplo (compilar como um roteiro e verificar)
5*5=5?))
legal:)
Que tal isso?
Que tal isso?
O computador está ocupado com cálculos, por isso não posso verificá-lo eu mesmo no momento.
Existe uma peça de código como esta:
O Google encontrou várias repetições deste código, então concluo que ele funciona.
No entanto, esta linha
é confuso.
Se o DiminaseFactor=3 e asperdas=3, então, de acordo com a fórmula, obtemos Lote=0!!!
Se perdas>3, recebemosLote<0!!!
Isso é possível?
legal:)
Que tal isso?