Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Спрошено и отвечено
Привет всем,
Я думал, что получил ответы на свои вопросы с помощью следующего кода:
double range[5];
for(int i=1;i<5;i++)
{
range={High-Low};
int Max=ArrayBsearch(range,10,WHOLE_ARRAY,1,MODE_ASCEND);
double MaxRange=(High[Max]-Low[Max])/Point;
}
Print("Max Range: ",MaxRange," found at index: ",Max);
Но он по-прежнему возвращает только последний индекс, а не наибольший индекс диапазона.
Буду признателен за любую дальнейшую помощь.
SaxMan
Исправлена ошибка
Привет всем,
Я думал, что получил ответы на свои вопросы с помощью следующего кода:
double range[5];
for(int i=1;i<5;i++)
{
range={High-Low};
int Max=ArrayBsearch(range,10,WHOLE_ARRAY,1,MODE_ASCEND);
double MaxRange=(High[Max]-Low[Max])/Point;
}
Print("Max Range: ",MaxRange," found at index: ",Max);
[/code]
But it still just returns the last index not the largest range index.
Any further help would be appreciated.
SaxManВот исправление:
[код]
double range[5];
for(int i=1;i<5;i++)
{
range={High-Low};
int Max=ArrayMaximum(range);
double MaxRange=(High[Max]-Low[Max])/Point;
}
Print("Максимальный диапазон: ",MaxRange," найден по индексу: ",Max);Это можно использовать для получения наибольшего/меньшего (используя ArrayMinimum(range)) значения массива для сравнения любых переменных.
Надеюсь, это поможет,
SaxMan
Тот же код с дополнениями
Добавлено:
* Минимальный диапазон
* Вертикальные линии для выделения полос максимального и минимального диапазона:
for(int i=1;i<2000;i++)
{
range={High-Low};
int Max=ArrayMaximum(range,WHOLE_ARRAY,1);
int Min=ArrayMinimum(range,WHOLE_ARRAY,1);
double MaxRange=(High[Max]-Low[Max])/Point;
double MinRange=(High[Min]-Low[Min])/Point;
}
Print("Max Range: ",MaxRange," pips found at index: ",Max);
Print("Min Range: ",MinRange," pips found at index: ",Min);
int time1=Time[Max];
int time2=Time[Min];
ObjectCreate("stats1",OBJ_VLINE,0,0,0);
ObjectSet("stats1", OBJPROP_TIME1, time1);
ObjectSet("stats1", OBJPROP_COLOR, Red);
ObjectSet("stats1", OBJPROP_WIDTH, 1);
ObjectCreate("stats2",OBJ_VLINE,0,0,0);
ObjectSet("stats2", OBJPROP_TIME1, time2);
ObjectSet("stats2", OBJPROP_COLOR, Blue);
ObjectSet("stats2", OBJPROP_WIDTH, 1);Код соответствует, но не отображает значение
extern Bool Direction_Up=true;
if(Direction_Up==true) Dir="UP"; ///////////Это неправильное преобразование - как мне преобразовать его в правильный синтаксис????
ObjectCreate("Dir", OBJ_LABEL, 0, 0, 0, 0);
ObjectSetText("Dir", 10, "Arial", White);///////////Это неправильное преобразование - Как мне заставить его отображать UP на экране????
ObjectSet("Dir", OBJPROP_CORNER, 1);
ObjectSet("Dir", OBJPROP_XDISTANCE, 36);
ObjectSet("Dir", OBJPROP_YDISTANCE, 120);///
Здравствуйте,
{
int i;
if ((Year() >= X) && (Month() >= Y))
{
Comment("===========",expired,"===========");
return(0);
}
GetPosition = StrToTime(StrGetPosition);
StartOrderTime = StrToTime(StrStartOrderTime);
EndOrderTime = StrToTime(StrEndOrderTime);
return(0);
Мой вопрос заключается в следующем:
GetPosition, StartOrderTime, EndOrderTime будут выполнены?
Спасибо
Вопросы
Здравствуйте,
Моя подруга рассказала мне об этом сайте. Она сказала мне, что у них есть лучшие программисты mql.
Вот один из них:
Если я задаю код, например.... на покупку в 15:30 (время большинства новостей), я проверяю экономический календарь.
if (Hour()==15)
{
if (Minute()>=30)
{
if (Seconds()>=00)
[/PHP]
After this, something like this goes:
[PHP]
OrderSend(Symbol().......................
Все пишут его по-разному, хе-хе.
Почему это не может быть одинаково?
Ладно, вот в чем дело. В приведенном выше коде я хочу, чтобы OrderSend........ и продолжающая часть создали BuyStop на 30 пунктов выше цены в 15:30:00 и SellStop на 25 пунктов ниже цены в 15:30:00.
Я спросил свою лучшую подругу, и она сказала, чтобы я спросил вас, ребята. Так что я очень надеюсь на вашу помощь, ребята.
Я потратил недели, пытаясь разобраться в этом коде. Я не шучу. Так что, кто-нибудь, кто занимается кодированием в mql4, поможет мне?
---Julia---
extern Bool Direction_Up=true;
if(Direction_Up==true) Dir="UP"; ///////////Это неправильное преобразование - как мне преобразовать его в правильный синтаксис????
ObjectCreate("Dir", OBJ_LABEL, 0, 0, 0, 0);
ObjectSetText("Dir", 10, "Arial", White);///////////Это неправильное преобразование - Как мне заставить его отображать UP на экране????
ObjectSet("Dir", OBJPROP_CORNER, 1);
ObjectSet("Dir", OBJPROP_XDISTANCE, 36);
ObjectSet("Dir", OBJPROP_YDISTANCE, 120);///
Привет Iscuba11,
см. код для исправления и объяснения
string Dir; //-- Dir has to be declared as a string
if(Direction_Up==true) Dir="UP";
ObjectCreate("Dir", OBJ_LABEL, 0, 0, 0);
ObjectSetText("Dir",Dir, 10, "Arial", White); // -- you left out the text to print - you named the object only.
ObjectSet("Dir", OBJPROP_CORNER, 1);
ObjectSet("Dir", OBJPROP_XDISTANCE, 36);
ObjectSet("Dir", OBJPROP_YDISTANCE, 120);Надеюсь, это поможет,
SaxMan
Недели?!
MQL4: автоматическая торговля на Форекс, тестер стратегий и пользовательские индикаторы с MetaTrader
поиск OrderSend() - docs
Цитата
OrderSend - Документация MQL4
int OrderSend( string symbol, int cmd, double volume, double price, int slippage, double stoploss, double takeprofit, string comment=NULL, int magic=0, datetime expiration=0, color arrow_color=CLR_NONE)
symbol - Символ для торговли.
cmd - Тип операции. Он может быть любым из перечисления торговых операций.
volume - Количество лотов.
цена - Предпочтительная цена сделки.
slippage - Максимальное проскальзывание цены для ордеров на покупку или продажу.
stoploss - Уровень стоп-лосса.
takeprofit - Уровень тейк-профита.
комментарий - Текст комментария к ордеру. Последняя часть комментария может быть изменена сервером.
magic - Магический номер ордера. Может использоваться в качестве идентификатора, задаваемого пользователем.
expiration - Время истечения ордера (только для отложенных ордеров).
arrow_color - Цвет стрелки открытия на графике. Если параметр отсутствует или имеет значение CLR_NONE, стрелка открытия на графике не рисуется.
Таким образом, в нашем случае мы имеем следующее:
Вот и все!
Ни стоплосса, ни тейкпрофита.
Обратите внимание: ваш брокер (скорее всего) не будет принимать новые ордера в 15:30, даже не мечтайте об этом. Да, это будет работать на демо, но не на реальном счете - не раньше, чем за 5 минут до новостей и не меньше, чем через 3 минуты после новостей.
Используйте поисковые системы
Google
Yahoo!
и другие.
PS:
если вы хотите, чтобы я написал для вас советника, напишите мне.
Вы сделали мой день и выходные с исправлением кода. Огромное спасибо!
Искренне,
Дэйв
<<<Как можно использовать ObjectCreate на индикаторе-отдельном окне в отличие от графика-окна???? Это было бы удобно!