[АРХИВ!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 4. - страница 463

 
Такой вопрос: как сделать сортировку двух (или более) массивов по данным одного из них (также, как в экселе выделяем два или более столбца и делаем сортировку данных "Сортировать по ..."? Если кто сталкивался, подскажите, плиз
 

Здравствуйте.Подскажите пожалуйста как прописать в коде условие для входа в сделку следующего вида: ЕСЛИ ЦЕНА ПЕРЕСЕКЛА( ИМЕННО ПЕРЕСЕКЛА а НЕ БОЛЬШЕ или МЕНЬШЕ)  МА-34 ТО ВХОДИМ В СДЕЛКУ.

 

Хочу в советнике изменить условия входа в сделку. На данный момент у меня стоит условие ЕСЛИ ЦЕНА БОЛЬШЕ ЛИБО РАВНО МА-34. КАК ЗАМЕНИТЬ БОЛЬШЕ ИЛИ РАВНО НА ПЕРЕСЕКЛА .

if(GO && SignalType_2 && Bid >= MA2
 
to fmillion    -Ошибаетесь! Отличные функции и работающие и с обоснованием -для новичков самое то ( грубая вложенность not detected)
 

Подскажите где ошибка, значения получаю точные, но не могу сделать так, чтобы значение "Obem_Pozic", имело вид 1,00 , чтобы я мог высчитал лот выставления, у меня никак не хочет нормализовывать значения,выдает 4 знака после запятой и все.

Пишу на MQL4.

//Представление переменных
double Stoimost_Lot;
double Obem_Pozic;

int start()
{
//Рассчитываем стоимость одного лота
Stoimost_Lot=(AccountBalance()/2)/82-2;
NormalizeDouble(Stoimost_Lot,2);

//Рассчитываем объем лота (Кредитное плечо 1:200), 1 лот (1.00) = 100.000 базовой валют (USD)
Obem_Pozic=Stoimost_Lot*0.1;
NormalizeDouble(Obem_Pozic,2);

//Выводим сообщение
Alert("# 1 лот = ",Stoimost_Lot," USD #"," Выставляем объем = ",Obem_Pozic," #");
}
 
merkulov.artem:

Подскажите где ошибка, значения получаю точные, но не могу сделать так, чтобы значение "Obem_Pozic", имело вид 1,00 , чтобы я мог высчитал лот выставления, у меня никак не хочет нормализовывать значения,выдает 4 знака после запятой и все.

Пишу на MQL4.

//Представление переменных
double Stoimost_Lot;
double Obem_Pozic;

int start()
{
//Рассчитываем стоимость одного лота
Stoimost_Lot=(AccountBalance()/2)/82-2;
NormalizeDouble(Stoimost_Lot,2);

//Рассчитываем объем лота (Кредитное плечо 1:200), 1 лот (1.00) = 100.000 базовой валют (USD)
Obem_Pozic=Stoimost_Lot*0.1;
NormalizeDouble(Obem_Pozic,2);

//Выводим сообщение
Alert("# 1 лот = ",Stoimost_Lot," USD #"," Выставляем объем = ",Obem_Pozic," #");
}

выдает 4 знака после запятой Alert. следует использовать функцию DoubleToStr(). для большей точности вывода на экран
 
ilunga:
выдает 4 знака после запятой Alert. следует использовать функцию DoubleToStr(). для большей точности вывода на экран

Вы и тут :) Мне требуется чтобы значение сохраняло тип double, для дальнейшего присвоения к лоту.  А с помощью функции DoubleToStr(), сделаю формат типа string, как раз в этом и проблема. Возможно ли оставить два знака после запятой, но сохранить тип double.
 
ilunga:
 


Я решил проблему, если интересно, перевел в строку, потом назад в дабл. :) Спасибо за совет, а то я что-то затупил :)

//Представление переменных
double Stoimost_Lot;
double Obem_Pozic;

int start()
{
//Рассчитываем стоимость одного лота
Stoimost_Lot=StrToDouble(DoubleToStr(NormalizeDouble((AccountBalance()/2)/82-2,2),2));
//Рассчитываем объем лота (Кредитное плечо 1:200), 1 лот (1.00) = 100.000 базовой валюты (USD)
Obem_Pozic=StrToDouble(DoubleToStr(NormalizeDouble(Stoimost_Lot*0.1,2),2));
//Выводим сообщение
Alert("# 1 лот = ",Stoimost_Lot," USD #"," Выставляем объем = ",Obem_Pozic," #");
}
 
merkulov.artem:


Я решил проблему, если интересно, перевел в строку, потом назад в дабл. :) Спасибо за совет, а то я что-то затупил :)

 

Вы не совсем правильно поняли

DoubleToStr следует использовать именно в Alert'е - для вывода на экран. Внутри число хранится так, как вам необходимо

 
Подскажите пожалуйста, есть ли код определяющий предельное количество ордеров, которое можно выставлять в ДЦ?
 

ДЦ в одностороннем порядке увеличил стоп аут с 1-2% до 15%. Обнаружил это случайно. Предполагаю что могут быть и другие подлянки, в виде увеличения спреда, заморозки или каких-либо изменений. Кто-либо видел советник, который сигнализирует Алерт, после любого изменения параметров? Придётся написать.

Господа, какие ещё данные можно запрашивать в ДЦ, помимо тех, которые я вставил в скрипт? 

Файлы:
Причина обращения: