Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Привет,
я тут развлекаюсь тем, что делаю индикатор в MTF с помощью icustom. Индикатор работает, но не отображает цвет и стрелки должным образом, почему?
Где ошибка, пожалуйста?
wilders_trailing_stop_mtf.mq4
wilders_trailing_stop.mq4
#property copyright "thefxpros"
#property link "thefxpros@katamail.com"
//------------------------------------------------------------------
#property indicator_chart_window
//#property indicator_color1 Orange
//#property indicator_color2 LimeGreen
//#property indicator_color3 LimeGreen
//#property indicator_color4 Orange
//#property indicator_width3 1
//#property indicator_width4 1
//
//
//
extern int TimeFrame = 0;
extern int Length = 2;
extern double Coeff = 1.75;
extern int LineWidth = 1;
extern int ArrowWidth = 1;
extern color UpLineClr = LimeGreen;
extern color DnLineClr = Orange;
extern color UpArrowClr = LimeGreen;
extern color DnArrowClr = Orange;
//
double WTS[];
double WTSDn[];
double arrUp[];
double arrDn[];
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
int init()
{
IndicatorBuffers(4);
SetIndexBuffer(0,WTS); SetIndexStyle(0,DRAW_LINE, EMPTY, LineWidth, DnLineClr);
SetIndexBuffer(1,WTSDn); SetIndexStyle(1,DRAW_LINE, EMPTY, LineWidth, UpLineClr);
SetIndexBuffer(2,arrUp); SetIndexStyle(2,DRAW_ARROW, EMPTY, ArrowWidth, UpArrowClr); SetIndexArrow(2,SYMBOL_ARROWUP);
SetIndexBuffer(3,arrDn); SetIndexStyle(3,DRAW_ARROW, EMPTY, ArrowWidth, DnArrowClr); SetIndexArrow(3,SYMBOL_ARROWDOWN);
IndicatorShortName("Wilders trailing stop MTF ("+Length+","+Coeff+")");
Length = MathMax(Length,1);
switch(TimeFrame)
{
case 1 : string TimeFrameStr="Period_M1"; break;
case 5 : TimeFrameStr="Period_M5"; break;
case 15 : TimeFrameStr="Period_M15"; break;
case 30 : TimeFrameStr="Period_M30"; break;
case 60 : TimeFrameStr="Period_H1"; break;
case 240 : TimeFrameStr="Period_H4"; break;
case 1440 : TimeFrameStr="Period_D1"; break;
case 10080 : TimeFrameStr="Period_W1"; break;
case 43200 : TimeFrameStr="Period_MN1"; break;
default : TimeFrameStr="Current Timeframe";
}
IndicatorShortName("Wilders trailing stop MTF ("+TimeFrameStr+")");
return(0);
}
//----
//+------------------------------------------------------------------+
//| MTF function |
//+------------------------------------------------------------------+
int start()
{
datetime TimeArray[];
int i,limit,y=0,counted_bars=IndicatorCounted();
// Plot defined time frame on to current time frame
ArrayCopySeries(TimeArray,MODE_TIME,Symbol(),TimeFrame);
limit= MathMin(Bars-counted_bars+3*TimeFrame/Period(),Bars-1);
for(i=0,y=0;i<limit;i++)
{
if (Time<TimeArray[y]) y++;
/*********************************************************************************************************
Add your main indicator loop below. You can reference an existing indicator with its iName or iCustom.
Rule 1: Add extern inputs above for all neccesary values
Rule 2: Use 'TimeFrame' for the indicator time frame
Rule 3: Use 'y' for your indicator's shift value
********************************************************************************************************/
WTS=iCustom(Symbol(),TimeFrame,"Wilders trailing stop",Length,Coeff,0,y);
WTSDn=iCustom(Symbol(),TimeFrame,"Wilders trailing stop",Length,Coeff,1,y);
arrUp=iCustom(Symbol(),TimeFrame,"Wilders trailing stop",Length,Coeff,2,y);
arrDn=iCustom(Symbol(),TimeFrame,"Wilders trailing stop",Length,Coeff,3,y);
}
return(0);
}
//+------------------------------------------------------------------+[/PHP]thefxpros
Вы закомментировали часть, где нужно объявить буферы рисования.
Эта часть :
[PHP]#property indicator_chart_window
//#property indicator_buffers 4
//#property indicator_color1 Orange
//#property indicator_color2 LimeGreen
//#property indicator_color3 LimeGreen
//#property indicator_color4 Orange
//#property indicator_width3 1
//#property indicator_width4 1Удалите комментарии из этих строк, и все будет работать
thefxpros
Вы закомментировали часть, где нужно объявить буферы рисования.
Эта часть :
//#property indicator_buffers 4
//#property indicator_color1 Orange
//#property indicator_color2 LimeGreen
//#property indicator_color3 LimeGreen
//#property indicator_color4 Orange
//#property indicator_width3 1
//#property indicator_width4 1да, я знаю, но я указал позже, этого недостаточно? Должен ли я всегда указывать в начале?
Я помню, что часто так делал, в предыдущей сборке метаэдитора и насколько я помню, это работало, может я не правильно помню?
Да, я знаю, но я указал позже, разве этого недостаточно? Нужно ли всегда указывать в начале? Я помню часто так делал, в предыдущей сборке метаэдитора и насколько я помню это работало, может я не правильно помню?
thefxpros
В начале вы указываете буферы рисования. Позже вы можете указать буферы вычислений. Если вы не укажете #property indicator_buffers numberOfDrawningBuffer, то на графике ничего не будет нарисовано.
показать всю историю Спирда . Пожалуйста, помогите мне
Кто-нибудь, пожалуйста, помогите мне проверить этот советник на наличие функции CloseInMA.
Я торчу здесь уже много дней и не могу найти решение .
Спасибо .
Кто-нибудь, пожалуйста, помогите мне проверить этот советник на наличие функции CloseInMA.
Я торчу здесь уже много дней и не могу найти решение .
Спасибо .stevenpun
Попробуйте сделать так, как написано сейчас
Здравствуйте гуру с добрым сердцем, я прошу, пожалуйста, чтобы кто-нибудь помог закодировать это, а затем создать версию робота (советника):
ИНДИКАТОР- Автоматически рисует горизонтальные линии (желательно ломаные) на ценах, заканчивающихся на 5, 15, 31, 67 соответственно. Пример на UJ 103.05, 102.67, 103.15 e.t.c. Длина линии должна быть 1 дюйм математической линейки с этими числами внизу, чтобы у меня был приличный график из-за пары линий, которые у меня уже есть.
PS- 4-х и 5-ти значный брокер совместим
Правила для советника
ПОКУПАТЬ
Размещайте отложенный ордер buy stop в любое время, когда цена движется на 3 пункта до магического числа, указанного НИЖЕ. Пример для магического числа 5, цена в данный момент находится на уровне UJ 103.02, разместите отложенный ордер на покупку @103.05.
ПРОДАВАТЬ
Размещайте отложенный ордер sell stop в любое время, когда цена приближается к магическому числу на 3 пункта сверху. Пример, цена в данный момент @103.08, размещаем стоп на продажу @103.05.
SL и TP 25/50 пунктов каждый.
Когда торговля достигнет +3 пунктов в прибыли, переместите STOP LOSS в замок +1 прибыль, переместите 5 замок 4, переместите 8 замок 7, переместите 12 замок 10.
Максимальная открытая позиция или плавающая сделка или отложенный ордер =1 только до тех пор, пока не будет остановлена новая сделка.
Максимальная дневная просадка 3%, при достижении которой советник должен прекратить торговлю.
Размер лота по умолчанию 0.1 (10,000)
круглосуточная торговля
P.S: Советник должен иметь возможность скрывать магические числа, трейлинг стоп, тейк профит/стоп лосс от моего брокера и должен быть совместим с 4/5 цифрами. Пара по умолчанию UJ.
Буду очень признателен за скорейшее кодирование.
stevenpun Попробуйте сделать так, как написано сейчас.
Здравствуйте, mladen,
Я пробовал это раньше, но это не работает.
Поэтому я очень запутался.
Надеюсь, вы поможете мне понять, в чем проблема.
Спасибо.
Здравствуйте mladen ,
Я пробовал это раньше, но это не работает.
Поэтому я очень запутался.
Надеюсь, вы поможете мне понять, в чем проблема.
СпасибоВ версии, которую вы выложили, вы сравнивали константы (Fastma, Dn_slowma и Up_slowma - периоды, которые используются для скользящих средних, а не значения скользящих средних).
Теперь это изменено на сравнение значений скользящих средних. Если это не то, что вы имеете в виду, тогда вы должны изменить его, но вы не можете сравнивать постоянные значения и ожидать, что они будут меняться от бара к бару.
Проверьте, точно ли это те условия скользящих средних (в функции GetSignalClose()), которые вы представляли себе как условия выхода, но продолжайте сравнивать значения скользящих средних, а не параметры этих скользящих средних.