Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Здравствуйте,
мне нужны два индикатора, один - wpr(Williams' Percent Range) и его ma (wpr с ma), другой - cmo (chande momentum osc.)
и его ma (cmo с ma),
кто-нибудь может помочь?
Спасибо
Привет,
мне нужны два индикатора, один - wpr(Williams' Percent Range) и его ma (wpr с ma), другой - cmo (chande momentum osc.)
и его ma (cmo с ma),
кто-нибудь может помочь?
Спасибоanonimm
Вот один WPR со средним значением (ma).
anonimm Вот один WPR со средним значением (ma)
Спасибо, Младен,
Я пытаюсь использовать cmo's ma, но получаю ошибку (функция iCMO не определена)... вы можете помочь... cmo прилагается
//---- настройки индикатора
#property indicator_separate_window
#property indicator_buffers 2
#property indicator_color1 Silver
#property indicator_color2 Red
#property indicator_width1 2
#property indicator_width2 2
//---- параметры индикатора
extern int CMO_Period=21;
extern int MA_Period=14;
extern string m = "-Типы скользящих средних--";
extern string m0 = " 0 = SMA";
extern string m1 = " 1 = EMA";
extern string m2 = " 2 = SMMA";
extern string m3 = " 3 = LWMA";
extern int MA_Type=1;
//---- индикаторные буферы
double CMO_Buffer[];
double MA_Buffer[];
double iCMO[];
int MA_Mode;
string strMAType;
//+------------------------------------------------------------------+
//| Пользовательская функция инициализации индикатора |
//+------------------------------------------------------------------+
int init()
{
//---- настройки рисования
SetIndexStyle(0,DRAW_LINE);
SetIndexStyle(1,DRAW_LINE);
SetIndexDrawBegin(1,CMO_Period);
IndicatorDigits(Digits+1);
//---- отображение буферов индикаторов
SetIndexBuffer(0,CMO_Buffer);
SetIndexBuffer(1,MA_Buffer);
//---- имя для DataWindow и метка подокна индикатора
switch (MA_Type)
{
case 1: strMAType="EMA"; MA_Mode=MODE_EMA; break;
case 2: strMAType="SMMA"; MA_Mode=MODE_SMMA; break;
case 3: strMAType="LWMA"; MA_Mode=MODE_LWMA; break;
default: strMAType="SMA"; MA_Mode=MODE_SMA; break;
}
IndicatorShortName( "CMO" + " (" + CMO_Period + ") " + " : " + strMAType+ " (" +MA_Period + ") ");
SetIndexLabel(0, "CMO" + " (" +CMO_Period + ") ");
SetIndexLabel(1,strMAType+ " (" + MA_Period + ") ");
//---- инициализация выполнена
return(0);
}
//+------------------------------------------------------------------+
//| Конвергенция/дивергенция скользящих средних |
//+------------------------------------------------------------------+
int start()
{
int limit;
int counted_bars=IndicatorCounted();
//---- последний подсчитанный бар будет пересчитан
if(counted_bars>0) counted_bars--;
limit=Bars-counted_bars;
//---- CMO подсчитывается в 1-м буфере
for(int i=0; i<limit; i++)
CMO_Buffer=iCMO(NULL,0,CMO_Period,i);
//---- MA строка, подсчитанная во 2-м буфере
for(i=0; i<limit; i++)
MA_Buffer=iMAOnArray(CMO_Buffer,Bars,MA_Period,0,MA_Mode,i);
//---- сделано
return(0);
}
//+------------------------------------------------------------------+
Младен, не могли бы вы помочь мне найти ошибки?
#property indicator_separate_window
#property indicator_buffers 2
#property indicator_color2 Red
//----
double UpperBuf[];
double UpperBuf1[];
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
void init()
{
SetIndexStyle(0, DRAW_NONE, STYLE_SOLID, 1);
//----
SetIndexDrawBegin(0, N);
//----
SetIndexBuffer(0, UpperBuf);
SetIndexStyle(1, DRAW_LINE, STYLE_SOLID, 1);
//----
SetIndexDrawBegin(1, N);
//----
SetIndexBuffer(1, UpperBuf1);
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
void deinit()
{
//----
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
void start()
{
int counted = IndicatorCounted();
//----
if(counted < 0)
return (-1);
//----
if(counted > 0)
counted--;
int limit = Bars - counted;
//----
for(int i = 0; i < limit; i++)
{
UpperBuf= ((High/Close)-34)*Volume;
UpperBuf1= iMAOnArray(UpperBuf,0,33,0,MODE_EMA,i);
}
}
//+------------------------------------------------------------------+
Спасибо, Младен,
я пытаюсь использовать cmo's ma, но получаю ошибку (функция iCMO не определена)... вы можете помочь... cmo прилагается
//---- настройки индикатора
#property indicator_separate_window
#property indicator_buffers 2
#property indicator_color1 Silver
#property indicator_color2 Red
#property indicator_width1 2
#property indicator_width2 2
//---- параметры индикатора
extern int CMO_Period=21;
extern int MA_Period=14;
extern string m = "-Типы скользящих средних--";
extern string m0 = " 0 = SMA";
extern string m1 = " 1 = EMA";
extern string m2 = " 2 = SMMA";
extern string m3 = " 3 = LWMA";
extern int MA_Type=1;
//---- индикаторные буферы
double CMO_Buffer[];
double MA_Buffer[];
double iCMO[];
int MA_Mode;
string strMAType;
//+------------------------------------------------------------------+
//| Пользовательская функция инициализации индикатора |
//+------------------------------------------------------------------+
int init()
{
//---- настройки рисования
SetIndexStyle(0,DRAW_LINE);
SetIndexStyle(1,DRAW_LINE);
SetIndexDrawBegin(1,CMO_Period);
IndicatorDigits(Digits+1);
//---- отображение буферов индикаторов
SetIndexBuffer(0,CMO_Buffer);
SetIndexBuffer(1,MA_Buffer);
//---- имя для DataWindow и метка подокна индикатора
switch (MA_Type)
{
case 1: strMAType="EMA"; MA_Mode=MODE_EMA; break;
case 2: strMAType="SMMA"; MA_Mode=MODE_SMMA; break;
case 3: strMAType="LWMA"; MA_Mode=MODE_LWMA; break;
default: strMAType="SMA"; MA_Mode=MODE_SMA; break;
}
IndicatorShortName( "CMO" + " (" + CMO_Period + ") " + " : " + strMAType+ " (" +MA_Period + ") ");
SetIndexLabel(0, "CMO" + " (" +CMO_Period + ") ");
SetIndexLabel(1,strMAType+ " (" + MA_Period + ") ");
//---- инициализация выполнена
return(0);
}
//+------------------------------------------------------------------+
//| Конвергенция/дивергенция скользящих средних |
//+------------------------------------------------------------------+
int start()
{
int limit;
int counted_bars=IndicatorCounted();
//---- последний подсчитанный бар будет пересчитан
if(counted_bars>0) counted_bars--;
limit=Bars-counted_bars;
//---- CMO подсчитывается в 1-м буфере
for(int i=0; i<limit; i++)
CMO_Buffer=iCMO(NULL,0,CMO_Period,i);
//---- MA строка, подсчитанная во 2-м буфере
for(i=0; i<limit; i++)
MA_Buffer=iMAOnArray(CMO_Buffer,Bars,MA_Period,0,MA_Mode,i);
//---- сделано
return(0);
}
//+------------------------------------------------------------------+Вот, пожалуйста PS : это автономная версия, нет необходимости в cmo.
Младен, не могли бы вы помочь мне найти ошибки?
#property indicator_separate_window
#property indicator_buffers 2
#property indicator_color2 Red
//----
double UpperBuf[];
double UpperBuf1[];
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
void init()
{
SetIndexStyle(0, DRAW_NONE, STYLE_SOLID, 1);
//----
SetIndexDrawBegin(0, N);
//----
SetIndexBuffer(0, UpperBuf);
SetIndexStyle(1, DRAW_LINE, STYLE_SOLID, 1);
//----
SetIndexDrawBegin(1, N);
//----
SetIndexBuffer(1, UpperBuf1);
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
void deinit()
{
//----
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
void start()
{
int counted = IndicatorCounted();
//----
if(counted < 0)
return (-1);
//----
if(counted > 0)
counted--;
int limit = Bars - counted;
//----
for(int i = 0; i < limit; i++)
{
UpperBuf= ((High/Close)-34)*Volume;
UpperBuf1= iMAOnArray(UpperBuf,0,33,0,MODE_EMA,i);
}
}
//+------------------------------------------------------------------+
k3rn3l
Попробуйте вот так :
#property indicator_buffers 1
#property indicator_color1 Red
double UpperBuf[];
double UpperBuf1[];
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
void init()
{
IndicatorBuffers(2);
SetIndexBuffer(0, UpperBuf1);
SetIndexBuffer(1, UpperBuf);
}
void deinit() {}
void start()
{
int counted = IndicatorCounted();
if(counted < 0) return (-1);
if(counted > 0) counted--;
int limit = Bars - counted;
for(int i = 0; i < limit; i++)
if (Close!=0)
UpperBuf= ((High/Close)-34)*Volume;
else UpperBuf= 0;
for( i = 0; i < limit; i++) UpperBuf1= iMAOnArray(UpperBuf,0,33,0,MODE_EMA,i);
}Уважаемый Младен;
Еще раз спасибо за индики wpr ma и cmo ma. Предположим, что для первого индикатора я установил wpr per на a, ma per на b, а для второго индикатора cmo range на c и ma per на d. Я хотел бы покупать, когда wpr пересекает свой ma (при wpr>уровень x) и cmo пересекает свой ma (при cmo>уровень y) на ОДНОЙ МИНУТЕ/БАРЕ. (здесь важно, чтобы два условия возникли одновременно), и продавать при обратных условиях.
возможно ли это?
Уважаемый Младен;
Еще раз спасибо за индики wpr ma и cmo ma. Предположим, что для первого индикатора я установил wpr per на a, ma per на b, а для второго индикатора cmo range на c и ma per на d. Я хотел бы покупать, когда wpr пересекает свой ma (при wpr>уровень x) и cmo пересекает свой ma (при cmo>уровень y) на ОДНОЙ и той же минуте/баре. (здесь важно, чтобы два условия возникли одновременно), и продавать обратные условия.
возможно ли это?Да
это возможно
Используйте iCustom() для проверки условий, которые вы ищете, и вы можете объединить условия от любого количества пользовательских индикаторов, которые вы используете, в один сигнал.
Может ли кто-нибудь помочь мне исправить этот индикатор для более чем 950 countbar?
Кто-нибудь может помочь мне исправить этот индикатор для более чем 950 countbars?
Попробуйте