что значит БЕЗ DoubleToStr(YourPrice,5) ? у меня DoubleToStr(YourPrice,5) нигде не было
Если где-нибудь в Print или Alert Вы просто ставите double-переменную (Print(double-переменная)), то выведется только четыре знака после запятой, если поставите Print(DoubleToStr(double-переменная,N)) - выведется N знаков после запятой.
Вопрос модераторам - очень часто сайт меня скидывает на переавторизацию. При попытке авторизации выводится сообщение"Ваш доступ временно ограничен или запрещён". Затем, по истечении нескольких часов, доступ восстанавливается. затем, вновь по круговую. В чем может быть проблема?
yosuf: Вопрос модераторам - очень часто сайт меня скидывает на переавторизацию. При попытке авторизации выводится сообщение"Ваш доступ временно ограничен или запрещён". Затем, по истечении нескольких часов, доступ восстанавливается. затем, вновь по круговую. В чем может быть проблема?
Гомеостатическое Мироздание. Модераторы не могут повлиять на авторизацию. Только забанить намертво.
yosuf: Вопрос модераторам - очень часто сайт меня скидывает на переавторизацию. При попытке авторизации выводится сообщение"Ваш доступ временно ограничен или запрещён". Затем, по истечении нескольких часов, доступ восстанавливается. затем, вновь по круговую. В чем может быть проблема?
Подскажите, как учесть пересечение цены с линией индикатора? как это можно зафиксировать?
есть три линии у индикатора: нижняя, средняя и верхняя.
такой пример:
когда цена пересекла верхнюю линию, мне нужно этот момент зафиксировать и после его использовать, когда цена будет ниже верхней линии и выше средней линии, а когда цена опустится ниже средней линии, то зафиксированный результат сбросить. Мне не нужно запоминать цену, где было пересечение, мне нужно просто, как бы поставить галочку, что пересечение было, а после снять, как то так.
LineUp //верхняя линия
LineS // средняя линия
LineDown // нижняя линия
Ask > LineUp // фиксируем
Ask < LineS // сбрасываем
и так же с нижней линией
Bid < LineDown // фиксируем
Bid > LineS // сбрасываем
пробовал через True и false, то не получилось, не могу понять почему.
вот так пробовал:
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)
{
то нужно сделать это . . . . . .
}
а оно не получается. почему? помогите разобраться.
Уважаемые пользователи форума, пожалуйста помогите, никак не могу найти ошибку в коде моего советника, а именно он не умеет или не хочет закрывать позиции по индикатору, только по tp или sl, вот, как мне кажется, часть кода, с которой и связана данная проблема, заранее большое спасибо
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
Подскажите, как учесть пересечение цены с линией индикатора? как это можно зафиксировать?
есть три линии у индикатора: нижняя, средняя и верхняя.
такой пример:
когда цена пересекла верхнюю линию, мне нужно этот момент зафиксировать и после его использовать, когда цена будет ниже верхней линии и выше средней линии, а когда цена опустится ниже средней линии, то зафиксированный результат сбросить. Мне не нужно запоминать цену, где было пересечение, мне нужно просто, как бы поставить галочку, что пересечение было, а после снять, как то так.
пробовал через True и false, то не получилось, не могу понять почему.
вот так пробовал:
а оно не получается. почему? помогите разобраться.
Не получается, потому что нужно вывести переменные которые хочешь зафиксировать на глобальный уровень, то бишь до функции Start... Например вот эти и т.д.... " FiksiruemUp = True; // фиксируем " и "iksiruemUp = False; // сбрасываем" Если не переключать между таймфреймами, должно работать...
ДЦ пятизначный...
что значит БЕЗ DoubleToStr(YourPrice,5) ? у меня DoubleToStr(YourPrice,5) нигде не было
Вопрос модераторам - очень часто сайт меня скидывает на переавторизацию. При попытке авторизации выводится сообщение"Ваш доступ временно ограничен или запрещён". Затем, по истечении нескольких часов, доступ восстанавливается. затем, вновь по круговую. В чем может быть проблема?
Гомеостатическое Мироздание. Модераторы не могут повлиять на авторизацию. Только забанить намертво.
Как быть, теперь? К кому обратиться?
Вопрос модераторам - очень часто сайт меня скидывает на переавторизацию. При попытке авторизации выводится сообщение"Ваш доступ временно ограничен или запрещён". Затем, по истечении нескольких часов, доступ восстанавливается. затем, вновь по круговую. В чем может быть проблема?
Тролят Вас))) Вы личность харизматичная))))
Приветствую.
Подскажите, как учесть пересечение цены с линией индикатора? как это можно зафиксировать?
есть три линии у индикатора: нижняя, средняя и верхняя.
такой пример:
когда цена пересекла верхнюю линию, мне нужно этот момент зафиксировать и после его использовать, когда цена будет ниже верхней линии и выше средней линии, а когда цена опустится ниже средней линии, то зафиксированный результат сбросить. Мне не нужно запоминать цену, где было пересечение, мне нужно просто, как бы поставить галочку, что пересечение было, а после снять, как то так.
пробовал через True и false, то не получилось, не могу понять почему.
вот так пробовал:
а оно не получается. почему? помогите разобраться.
Приветствую.
Подскажите, как учесть пересечение цены с линией индикатора? как это можно зафиксировать?
есть три линии у индикатора: нижняя, средняя и верхняя.
такой пример:
когда цена пересекла верхнюю линию, мне нужно этот момент зафиксировать и после его использовать, когда цена будет ниже верхней линии и выше средней линии, а когда цена опустится ниже средней линии, то зафиксированный результат сбросить. Мне не нужно запоминать цену, где было пересечение, мне нужно просто, как бы поставить галочку, что пересечение было, а после снять, как то так.
пробовал через True и false, то не получилось, не могу понять почему.
вот так пробовал:
а оно не получается. почему? помогите разобраться.
Не получается, потому что нужно вывести переменные которые хочешь зафиксировать на глобальный уровень, то бишь до функции Start... Например вот эти и т.д.... " FiksiruemUp = True; // фиксируем " и "iksiruemUp = False; // сбрасываем"
Если не переключать между таймфреймами, должно работать...