[АРХИВ!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 4. - страница 425
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
ну тогда фунция OrderLots.
не могу разобраться в этой функции, помогите пожалуйста с примером:)
тут написано "Ордер должен быть предварительно выбран с помощью функции OrderSelect()" как мне выбрать все открытые ордера одного направления?
не могу разобраться в этой функции, помогите пожалуйста с примером:)
тут написано "Ордер должен быть предварительно выбран с помощью функции OrderSelect()" как мне выбрать все открытые ордера одного направления?
Все никак. Только в цикле перебирая поштучно с помощью OrderSelect().
кто может подскажите вот есть скрипт стоп лосса надо его вставить в этот советник
Как сократить количество знаков после запятой без округления?
(DoubleToStr(NormalizeDouble(0.109,2),2)); = 0.11 а надо 0.10
Как сократить количество знаков после запятой без округления?
(DoubleToStr(NormalizeDouble(0.109,2),2)); = 0.11 а надо 0.10
Способов миллион, например, с помощью строковых функций найти местоположение точки и обрезать строку на один символ далее нее. Но если есть готовое штатное решение, то зачем выдумывать проблемы?
подскажите пожалуйста это готовое решение:)
подскажите пожалуйста это готовое решение:)
Если без округления, то только этот :
Reshetov с помощью строковых функций найти местоположение точки и обрезать строку на один символ далее нее
Пожалуйста помогите понять что не так:
//+------------------------------------------------------------------+
//| AAAA.mq4 |
//| |
//| |
//+------------------------------------------------------------------+
#property copyright ""
#property link ""
extern string TimeStart = "00:00"; //Время начала контрольного периода
extern string TimeEnd = "00:00"; //Время окончания контрольного периода
extern double LOT = 0.01; // лот
extern int Magic = 777; // маджик
double marga,Lot,SL,TP; // Введены переменные маржа,лот, стоп лосс и тейк профит
int Total,Orders,tipOrders,TradeDey; // введены переменные тип, ордера, тип ордеров,торговый день.
//+---------------------------------------------------------------------------------------------------------------------------------------+
//| функции эксперта |
//+---------------------------------------------------------------------------------------------------------------------------------------+
int start() // Функция инициализации старт
{
datetime Time_Start = StrToTime(StringConcatenate(Day(),".",Month(),".",Year()," ",TimeStart, ":00")); // Стартовые параметры//
datetime Time_End = StrToTime(StringConcatenate(Day(),".",Month(),".",Year()," ",TimeEnd, ":00")); // Параметры окончания//
Total=0; // Если нет ордеров
for(int i=1; i<=OrdersTotal(); i++) // Цикл перебора ордеров
{
if (OrderSelect(i-1,SELECT_BY_POS)==false) // Если нет рыночных ордер
{
if //Если:
{
int BarStart = iBarShift(NULL,PERIOD_M1,Time_Start,false); //поиск бара начала контрольного периода на м1
int BarEnd = iBarShift(NULL,PERIOD_M1,Time_End,false); //поиск бара окончания контрольного периода на м1
double Max_Price=iHigh(NULL,0,iHighest(NULL,PERIOD_M1,MODE_HIGH,BarStart-BarEnd,BarEnd)); //наибольшее значение цены за промежуток
double Min_Price=iLow (NULL,0,iLowest (NULL,PERIOD_M1,MODE_LOW, BarStart-BarEnd,BarEnd)); //наименьшее значение цены за промежуток
}
if (TimeCurrent()>Time_End && ObjectFind("bar0"+Time_End)==-1) // Графические настройки отображения
{
ObjectCreate("bar0"+Time_End, OBJ_RECTANGLE, 0, 0,0, 0,0);
ObjectSet ("bar0"+Time_End, OBJPROP_STYLE, STYLE_SOLID);
ObjectSet ("bar0"+Time_End, OBJPROP_COLOR, Blue);
ObjectSet ("bar0"+Time_End, OBJPROP_BACK, true);
ObjectSet ("bar0"+Time_End, OBJPROP_TIME1,Time_Start);
ObjectSet ("bar0"+Time_End, OBJPROP_PRICE1,Max_Price);
ObjectSet ("bar0"+Time_End, OBJPROP_TIME2,Time_End);
ObjectSet ("bar0"+Time_End, OBJPROP_PRICE2,Min_Price);
}
if (Bid<Max_Price) OrderSend(Symbol(),OP_BUYSTOP,LOT,Ask,3,Min_Price, //условия постановки отложенного ордер BUY
NormalizeDouble(Ask + Max_Price - Min_Price,Digits),"UPDD",Magic,Blue);
if (Bid>Max_Price)
Comment("Невозможно выставить отложенный ордер на БАЙ");
if (Bid>Min_Price) OrderSend(Symbol(),OP_SELLSTOP,LOT,Bid,3,Min_Price, //условия постановки отложенного ордер SELL
NormalizeDouble(Ask + Max_Price-Min_Price,Digits),"UPDD",Magic,Blue);
if (Bid<Max_Price)
Comment("Невозможно выставить отложенный ордер на СЕЛЛ");
}
return;
}
Не могу скомпилировать. а так вообще он должен выставлять два отложенных ордера вверх и вниз от диапазона.