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

 
kwadrad:

Подскажите как описать OBJ_LABEL так чтоб он выглядел как прямоугольник с заданным цветом

такой код рисует надпись, но мне встречался OBJ_LABEL который выглядел прямоугольником, но код в формате EX4, так что посмотреть на него нет возможности.

Может кто из знатоков знает как это делается?


Как вариант

Только OBJ_LABEL

 
VladislavVG:

Я ж Вам написал - читайте документацию. Расшифровываю : хэлп по функции прочитать не судьба ?

Или так и будете ломиться в открытую дверь ?


Спасибо огромное, дай Вам Бог здоровья!
 
Vinin:


Как вариант

Только OBJ_LABEL

А код не привели...

А как стрелки (OBJ_ARROW) крепятся к координатам экрана, а не к цене и времени? Или постоянно меняются параметры объекта?

 
MaxZ:

А код не привели...

А как стрелки (OBJ_ARROW) крепятся к координатам экрана, а не к цене и времени? Или постоянно меняются параметры объекта?


Стрелки привязаны к координатам экрана. Код пока выложить не могу.


Система меню, открываются/закрываются панельки. Панельки имеют разное назначение. Одна из панелек управляет параметрами индикатора (как раз через стрелочки). На второй панели будет информация о эффективности выбранных параметров

Размеры и расположение панелей регулируются с помощью элементов управления

 
MaxZ:

А в личку можно?

А всё сразу можно?

Некоторые и в выходные дни не отдыхают...


Ну зачем же так сразу? Я просто занята была. На работе сегодня. Но к делу... На одном из форумов нашла индикатор TD Sequential.mq4. Возможно ли прикрепить к нему звуковой сигнал при появлении синей и красной 9 (девятки)?
 

//+------------------------------------------------------------------+
//| TD Sequential.mq4 |
//| Copyright © 2004, MetaQuotes Software Corp. |
//| https://www.metaquotes.net/ |
//+------------------------------------------------------------------+
#property copyright "James OBrien"
#property link "https://www.metaquotes.net/"
//----
#property indicator_chart_window
#property indicator_buffers 1
#property indicator_color1 LimeGreen
//#property indicator_color2 Red
//---- input parameters
//int shift=0;
int i;
int num=0;
int num1=0;
string textVar;
//---- buffers
double ExtMapBuffer1[];
//double ExtMapBuffer2[];
//double b4plusdi,b4minusdi,nowplusdi,nowminusdi;
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- indicators
SetIndexStyle(0,DRAW_ARROW);
SetIndexArrow(0,159);
SetIndexBuffer(0, ExtMapBuffer1);
/*
SetIndexStyle(1,DRAW_ARROW,EMPTY);
SetIndexArrow(1,234);
SetIndexBuffer(1, ExtMapBuffer2);
*/
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custor indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//---- TODO: add your code here
int limit;
limit=1500;
for(int i=limit; i>=0; i--)
{
ObjectDelete(""+i);
}
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
int limit;
int counted_bars=IndicatorCounted();
//---- check for possible errors
if(counted_bars<0) return(-1);
//---- last counted bar will be recounted
if(counted_bars>0) counted_bars--;
limit=1500-counted_bars;
//---- macd counted in the 1-st buffer
for(int i=limit; i>=0; i--)
{
if(Close[i+1]<Close[i+5])num=num + 1;
else num=0;
if (num > 0 && num < 10)
{
textVar=num;
ObjectCreate(""+i, OBJ_TEXT, 0, Time[i+1],Low[i+1]-5*Point );
ObjectSetText(""+i, ""+DoubleToStr(num,0), 10, "Arial", Red);
}
if (num==9)
{
ObjectCreate(""+i, OBJ_TEXT, 0, Time[i+1],Low[i+1]-5*Point );
ObjectSetText(""+i, ""+DoubleToStr(num,0), 16, "Arial", Red);
}
else if((Close[i+1]<Close[i+5])&& num>=10)
{
ObjectCreate(""+i, OBJ_TEXT, 0, Time[i+1],Low[i+1]-5*Point );
ObjectSetText(""+i, ""+DoubleToStr(num,0), 10, "Arial", Orange);
}
if(Close[i+1]>Close[i+5]) num1=num1 + 1;
else num1=0;
//----
if (num1 > 0 && num1 < 10)
{
textVar=num1;
ObjectCreate(""+i, OBJ_TEXT, 0, Time[i+1],High[i+1]+10*Point );
ObjectSetText(""+i, ""+DoubleToStr(num1,0), 10, "Arial", RoyalBlue);
}
if (num1==9)
{
ObjectCreate(""+i, OBJ_TEXT, 0, Time[i+1],High[i+1]+10*Point );
ObjectSetText(""+i, ""+DoubleToStr(num1,0), 16, "Arial", RoyalBlue);
}
else if((Close[i+1]>Close[i+5])&& num1>=10)
{
ObjectCreate(""+i, OBJ_TEXT, 0, Time[i+1],High[i+1]+10*Point );
ObjectSetText(""+i, ""+DoubleToStr(num1,0), 10, "Arial", LightSkyBlue);
}
}
//----
return(0);
}
//+------------------------------------------------------------------+

 

Только увидела ошибку 404. Попробую так http://bazaforex.3dn.ru/load/metatrader_4_indikatory/td_sequential/2-1-0-63

 

MaxZ:


Забудем на минуту, что, наоборот, для Buy нужно ставить StopLoss ниже, а для Sell выше...


Выберем, например, валютную пару EURUSD. Надо открыть короткую позицию. Беру первый попавшийся терминал:

- котировки 4 знака;

- последний зафиксированный Bid = 1.4396 (хотя в тесте будет конечно же другой, но суть не в этом);

- MarketInfo(Symbol(),MODE_STOPLEVEL) возвращает значение 2.

Считаем чему же будет равно переменная VStopLossShort:

O_O

Хотя если пара выбрана, например, USDJPY, и случайно поменять SL и TP местами, то ошибки не должно быть... :)))))))))))))))))


Да, спасибо. И Roman благодарю. Все понял :).

Скажите пожалуйста, а есть ли какая нибудь статистика, какой желателен уровень стоп-лосса для валютных пар? Например для AUDCAD - 100 пуктов, для AUDCHF - 150 и тд. Или этовсе зависит от стратегии?

 
first_may:


Да, спасибо. И Roman благодарю. Все понял :).

Скажите пожалуйста, а есть ли какая нибудь статистика, какой желателен уровень стоп-лосса для валютных пар? Например для AUDCAD - 100 пуктов, для AUDCHF - 150 и тд. Или этовсе зависит от стратегии?


Прочитайте ветку "Стопы"... и поделитесь ответом... :-)))
 
Roman.:

Прочитайте ветку "Стопы"... и поделитесь ответом... :-)))


Да, сейчас прочитаю... А еще, может скажешь, я протестировал систему и получил следующий отчет. Пожалуйста, покритикуй его :).

PS. размер лота (если это имеет значение):

double MinLot=MarketInfo(Symbol(),MODE_MINLOT); // Минимальный размер лота

Причина обращения: