o que significa SEM o DoubleToStr(YourPrice,5) ? eu tenho DoubleToStr(YourPrice,5) em nenhum lugar
Se você apenas colocar uma variável dupla em algum lugar em Imprimir ou Alerta (Print(doubleVariable)), apenas quatro casas decimais serão impressas; se você colocar Print(DoubleToStr(doubleVariable,N)) - o programa irá imprimir N casas decimais.
Pergunta aos moderadores - muitas vezes o site me envia de volta para a reautorização. Quando tento fazer o login, a mensagem "Seu acesso é temporariamente restrito ou negado" é exibida. Então, após algumas horas, o acesso é restaurado. Qual poderia ser o problema?
yosuf: Pergunta aos moderadores - muitas vezes o site me envia de volta para a reautorização. Quando tento fazer o login, a mensagem "Seu acesso é temporariamente restrito ou negado" é exibida. Então, após algumas horas, o acesso é restaurado. Qual poderia ser o problema?
Universo Homeostático. Os moderadores não podem afetar a autorização. Proibido apenas permanentemente.
yosuf: Pergunta aos moderadores - muitas vezes o site me envia de volta para a reautorização. Quando tento fazer o login, a mensagem "Seu acesso é temporariamente restrito ou negado" é exibida. Então, após algumas horas, o acesso é restaurado. Qual poderia ser o problema?
Você está sendo pisoteado)))) Você é um indivíduo carismático))))
Você pode me dizer como levar em conta um cruzamento de preços com uma linha indicadora?
o indicador tem três linhas: fundo, meio e topo.
aqui está um exemplo:
quando o preço cruzou a linha superior, preciso fixar este momento e usá-lo depois, quando o preço está abaixo da linha superior e acima da linha média, e quando o preço está abaixo da linha média, preciso repor o resultado fixado. Não preciso lembrar o preço onde ocorreu o cruzamento, só preciso colocar uma marca de verificação para indicar que o cruzamento ocorreu e depois limpá-lo.
LineUp //верхняя линия
LineS // средняя линия
LineDown // нижняя линия
Ask > LineUp // фиксируем
Ask < LineS // сбрасываем
и так же с нижней линией
Bid < LineDown // фиксируем
Bid > LineS // сбрасываем
Eu tentei com Verdadeiro e falso, não funcionou, não consigo entender o porquê.
Eu tentei isso:
double LineUp; //верхняя линия индикатораdouble LineS; // средняя линия индикатораdouble LineDown; // нижняя линия индикатораbool FiksiruemUp = False;
bool FiksiruemDown = False;
if ( Ask > LineUp) FiksiruemUp = True; // фиксируемif (Ask < LineS) FiksiruemUp = False; // сбрасываем
// и так же с нижней линией
if (Bid < LineDown) FiksiruemDown = True; // фиксируемif (Bid > LineS) FiksiruemDown = False; // сбрасываем
// дальше в коде я к нему обращаюсь:
if ( FiksiruemUp == True)
{
то нужно сделать это . . . . . .
}
Caros usuários do fórum, por favor, ajudem-me, não consigo encontrar um bug no código do meu EA, ou seja, ele não pode ou não quer fechar posições por indicador, apenas por tp ou sl, aqui, como me parece, parte do código, que está associado a este problema, muito obrigado de antemão
int start()
{
int
Total, // Количество ордеров в окне
Tip, // Тип выбран. ордера (B=0,S=1)
Ticket; // Номер ордераdouble
FT1, // Значение 0 буффера Forex Trend
FT2, // Значение 1 буффера Forex Trend
TL1, // Значение 1 буффера Trend Lord
TL2, // Значение 0 буффера Trend Lord
FI, // Значен. Force Index текущее
Lot, // Колич. лотов в выбран.ордере
Lts, // Колич. лотов в открыв.ордере
Min_Lot, // Минимальное количество лотов
Step, // Шаг изменения размера лота
Free, // Текущие свободные средства
One_Lot, // Стоимость одного лота
Price, // Цена выбранного ордера
SL, // SL выбранного ордера
TP; // TP выбранного ордераbool
Ans =false, // Ответ сервера после закрытия
Cls_B=false, // Критерий для закрытия Buy
Cls_S=false, // Критерий для закрытия Sell
Opn_B=false, // Критерий для открытия Buy
Opn_S=false; // Критерий для открытия Sell//--------------------------------------------------------------- 3 --// Предварит.обработкаif(Bars < Period_FI) // Недостаточно баров
{
Alert("Недостаточно баров в окне. Эксперт не работает.");
return; // Выход из start()
}
if(Work==false) // Критическая ошибка
{
Alert("Критическая ошибка. Эксперт не работает.");
return; // Выход из start()
}
//--------------------------------------------------------------- 4 --// Учёт ордеров
Symb=Symbol(); // Название фин.инстр.
Total=0; // Количество ордеровfor(int i=1; i<=OrdersTotal(); i++) // Цикл перебора ордер
{
if (OrderSelect(i-1,SELECT_BY_POS)==true) // Если есть следующий
{ // Анализ ордеров:if (OrderSymbol()!=Symb)continue; // Не наш фин. инструмif (OrderType()>1) // Попался отложенный
{
Alert("Обнаружен отложенный ордер. Эксперт не работает.");
return; // Выход из start()
}
Total++; // Счётчик рыночн. ордif (Total>1) // Не более одного орд
{
Alert("Несколько рыночных ордеров. Эксперт не работает.");
return; // Выход из start()
}
Ticket=OrderTicket(); // Номер выбранн. орд.
Tip =OrderType(); // Тип выбранного орд.
Price =OrderOpenPrice(); // Цена выбранн. орд.
SL =OrderStopLoss(); // SL выбранного орд.
TP =OrderTakeProfit(); // TP выбранного орд.
Lot =OrderLots(); // Количество лотов
}
}
//--------------------------------------------------------------- 5 --// Торговые критерии
TL1=iCustom(NULL, 0, "TrendLord", 1, 1); // trend lord синий
TL2=iCustom(NULL, 0, "TrendLord", 0, 1); // красный тренд лорд
FI=iForce(NULL, 0, Period_FI,MODE_EMA,PRICE_CLOSE,0); // FI
FT1=iCustom(NULL, 0, "ForexTrend", 7, 50.6, 999999, 0, 1); // forex trend blue
FT2=iCustom(NULL, 0, "ForexTrend", 7, 50.6, 999999, 1, 1); // forex trend redif (TL2 == EMPTY_VALUE && FT1 == 1 && FT2 == 0 && FI > 0)
{
Opn_B = true;
}
while (Opn_B == true)
{
if (FI <= 0)
{
Cls_B=true;
}
break;
}
if (TL1 == EMPTY_VALUE && FT2 == 1 && FT1 == 0 && FI < 0)
{
Opn_S = true;
}
while (Opn_S == true)
{
if (FI >= 0)
{
Cls_S=true;
}
break;
}
//--------------------------------------------------------------- 6 --// Закрытие ордеровwhile(true) // Цикл закрытия орд.
{
if (Tip==OP_BUY && Cls_B==true) // Открыт ордер Buy..
{ //и есть критерий закрAlert("Попытка закрыть Buy ",Ticket,". Ожидание ответа..");
RefreshRates(); // Обновление данных
Ans=OrderClose(Ticket,Lot,Bid,2); // Закрытие Buyif (Ans==true) // Получилось :)
{
Alert ("Закрыт ордер Buy ",Ticket);
break; // Выход из цикла закр
}
if (Fun_Error(GetLastError())==1) // Обработка ошибокcontinue; // Повторная попыткаreturn; // Выход из start()
}
if (Tip==OP_SELL && Cls_S==true) // Открыт ордер Sell..
{ // и есть критерий закрAlert("Попытка закрыть Sell ",Ticket,". Ожидание ответа..");
RefreshRates(); // Обновление данных
Ans=OrderClose(Ticket,Lot,Ask,2); // Закрытие Sellif (Ans==true) // Получилось :)
{
Alert ("Закрыт ордер Sell ",Ticket);
break; // Выход из цикла закр
}
if (Fun_Error(GetLastError())==1) // Обработка ошибокcontinue; // Повторная попыткаreturn; // Выход из start()
}
break; // Выход из while
Você pode me dizer como levar em conta um cruzamento de preços com uma linha indicadora?
o indicador tem três linhas: fundo, meio e topo.
aqui está um exemplo:
quando o preço cruzou a linha superior, preciso fixar este momento e usá-lo depois, quando o preço está abaixo da linha superior e acima da linha média, e quando o preço está abaixo da linha média, preciso repor o resultado fixado. Não preciso lembrar o preço onde ocorreu o cruzamento, só preciso colocar uma marca de verificação para indicar que o cruzamento ocorreu e depois limpá-lo.
Eu tentei com Verdadeiro e falso, não funcionou, não consigo entender o porquê.
Eu tentei isso:
e não funciona. Por que não? Ajude-me a entender.
Não funciona, porque você precisa trazer as variáveis que deseja comprometer para o nível global, ou seja, antes da função Start... Por exemplo, estes e assim por diante.... " FiksiruemUp = True; // commit " e "iksiruemUp = False; // reset" Se você não alternar entre os prazos, deve funcionar...
DC é de cinco dígitos...
o que significa SEM o DoubleToStr(YourPrice,5) ? eu tenho DoubleToStr(YourPrice,5) em nenhum lugar
Pergunta aos moderadores - muitas vezes o site me envia de volta para a reautorização. Quando tento fazer o login, a mensagem "Seu acesso é temporariamente restrito ou negado" é exibida. Então, após algumas horas, o acesso é restaurado. Qual poderia ser o problema?
Universo Homeostático. Os moderadores não podem afetar a autorização. Proibido apenas permanentemente.
O que fazer agora? A quem recorrer?
Pergunta aos moderadores - muitas vezes o site me envia de volta para a reautorização. Quando tento fazer o login, a mensagem "Seu acesso é temporariamente restrito ou negado" é exibida. Então, após algumas horas, o acesso é restaurado. Qual poderia ser o problema?
Você está sendo pisoteado)))) Você é um indivíduo carismático))))
Saudações.
Você pode me dizer como levar em conta um cruzamento de preços com uma linha indicadora?
o indicador tem três linhas: fundo, meio e topo.
aqui está um exemplo:
quando o preço cruzou a linha superior, preciso fixar este momento e usá-lo depois, quando o preço está abaixo da linha superior e acima da linha média, e quando o preço está abaixo da linha média, preciso repor o resultado fixado. Não preciso lembrar o preço onde ocorreu o cruzamento, só preciso colocar uma marca de verificação para indicar que o cruzamento ocorreu e depois limpá-lo.
Eu tentei com Verdadeiro e falso, não funcionou, não consigo entender o porquê.
Eu tentei isso:
e não funciona. Por que não? Ajude-me a entender.
Saudações.
Você pode me dizer como levar em conta um cruzamento de preços com uma linha indicadora?
o indicador tem três linhas: fundo, meio e topo.
aqui está um exemplo:
quando o preço cruzou a linha superior, preciso fixar este momento e usá-lo depois, quando o preço está abaixo da linha superior e acima da linha média, e quando o preço está abaixo da linha média, preciso repor o resultado fixado. Não preciso lembrar o preço onde ocorreu o cruzamento, só preciso colocar uma marca de verificação para indicar que o cruzamento ocorreu e depois limpá-lo.
Eu tentei com Verdadeiro e falso, não funcionou, não consigo entender o porquê.
Eu tentei isso:
e não funciona. Por que não? Ajude-me a entender.
Não funciona, porque você precisa trazer as variáveis que deseja comprometer para o nível global, ou seja, antes da função Start... Por exemplo, estes e assim por diante.... " FiksiruemUp = True; // commit " e "iksiruemUp = False; // reset"
Se você não alternar entre os prazos, deve funcionar...