Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Требуется помощь
Привет всем кодерам,
Подскажите пожалуйста код как я могу проверить цену по свечам. То есть, как я могу проверить, касается ли текущая свеча линии MA или нет? И как я могу проверить, что текущая свеча имеет открытие, максимум, минимум и закрытие ниже линии MA. Вы будете очень признательны за помощь.
С наилучшими пожеланиями.......!
Привет всем кодерам,
Пожалуйста, подскажите код, как я могу проверить цену по свечам. То есть, как я могу проверить, касается ли текущая свеча линии MA или нет? И как я могу проверить, что текущая свеча имеет открытие, максимум, минимум и закрытие ниже линии MA. Буду очень признателен за помощь.
Best Regards.......!Чтобы проверить пересечение, нужно сравнить цену предыдущего закрытия, текущее закрытие и значение скользящей средней (iMa, Close[1] и Close[0]).
Но чтобы проверить, находится ли свеча ниже или ниже скользящей средней, нужно сравнить цены LOW и HIGH и значение iMa.
Индикатор времени между тиками
Я хотел бы построить индикатор, одним из элементов которого является время между тиками. Может ли кто-нибудь подсказать, возможно ли включить эту функцию?
Спасибо
Сканирование по парам/таймфрейму
Здравствуйте,
Я хотел бы просканировать некоторые пары и некоторые таймфреймы пар, чтобы определить текущую обстановку (тренд, границы диапазона и т.д.) с помощью таких индикаторов, как ADX. Это поможет мне выбрать лучшую пару/таймфрейм для торговли на основе моего набора критериев.
Паршивый выход - прикрепить советника, определяющего окружение, ко всем графикам, заставить его записывать результаты в файл, а затем провести собственное сравнение по этому файлу. Однако это будет слишком утомительно и вручную!
Можно ли прикрепить моего эксперта только к 1 графику, чтобы он получал данные со всех пар и таймфреймов, используя функции временных рядов, такие как iClose, iOpen и т.д., а затем подавал цену в мои индикаторы?
Предвидит ли кто-нибудь проблемы со вторым методом? Слишком много процессорной обработки? Время, необходимое для выполнения проверки, будет слишком большим и т.д.? Мне не нужен таймфрейм мельче 5 минут.
Я новичок в советниках и поэтому не знаю их производительности. Любая помощь будет высоко оценена. Будьте здоровы!!!
Программное прикрепление советника к графику
Здравствуйте,
можно ли программно прикрепить советника к графику? Скажем, я сейчас запускаю советник EA1 и хочу, чтобы при выполнении определенных критериев он прикреплял советник EA2 к другому графику. Возможно ли это?
Привет,
Я хотел бы просканировать некоторые пары и некоторые таймфреймы пар, чтобы определить текущую обстановку (тренд, границы диапазона и т.д.) с помощью таких индикаторов, как ADX. Это поможет мне выбрать лучшую пару/таймфрейм для торговли на основе моего набора критериев.
Паршивый выход - прикрепить советника, определяющего окружение, ко всем графикам, заставить его записывать результаты в файл, а затем провести собственное сравнение по этому файлу. Однако это будет слишком утомительно и вручную!
Можно ли прикрепить моего эксперта только к 1 графику, чтобы он получал данные со всех пар и таймфреймов, используя функции временных рядов, такие как iClose, iOpen и т.д., а затем подавал цену в мои индикаторы?
Предвидит ли кто-нибудь проблемы со вторым методом? Слишком много процессорной обработки? Время, необходимое для выполнения проверки, будет слишком большим и т.д.? Мне не нужен таймфрейм мельче 5 минут.
Я новичок в EA и поэтому не знаю, как он работает. Любая помощь будет высоко оценена. Будьте здоровы!!!Для этого можно использовать функцию символа. Например, если вы хотите проверить значение скользящей средней и цену закрытия на 10 графиках, например, 10 кроссов с разных таймфреймов, но на текущем баре, то это будет выглядеть следующим образом:
double eurudMa = iMa("EURUSD", blablabla,PERIOD_X,0);
double eurusdClose = iClose("EURUSD",PERIOD_X);
и сравните эти значения, если хотите.
То же самое с другими индикаторами. Если вы хотите получить цену покупки и продажи указанного кросса, используйте функцию MarketInfo аналогичным образом.
С уважением,
Kale
OsMA с сигнальной линией
Кодеры, мне нужна ваша помощь. Может ли кто-нибудь добавить сигнальную линию к прикрепленному индикатору OsMA? Большое спасибо!
Как создать цифровую версию?
Привет, ребята,
Я здесь новичок.
Wolfe был достаточно любезен, чтобы создать шаблон для приведенного ниже кода, который я изменил. Он работает отлично и делает то, что я хочу.
Но теперь,
Я думаю создать цифровую версию этого, похожую на индикатор DIGISTOCH.
Я хочу знать следующее:
- Как "очистить" или "промыть" буферы? Кажется, я не могу "стереть" ссылку буферов и создать новые.
- Как изменить это, чтобы НЕ включать буферы? Я думаю, это сэкономит немного памяти, верно? Я пытался стереть SetIndexBuffer, но при загрузке в MT4 он выдает ошибку"zero divide" в окне экспертного терминала.
- Оба ярлыка внизу отображают только 1 значение, значение H1. Он должен отображать число из H1 и H4. Так что это не работает.
- Я в основном хочу, чтобы он отображал число Ratio с разных таймфреймов (от M1 до MN1) на одном экране, как индикатор DIGIStoch.
Любая помощь будет принята с благодарностью.
С уважением,
//+------------------------------------------------------------------+
//| 2MA_RSI.mq4 |
//+------------------------------------------------------------------+
#property copyright "Wolfe"
#property link "xxxxwolfe@gmail.com"
#property indicator_separate_window
#property indicator_level1 100
#property indicator_level2 80
#property indicator_level3 50
#property indicator_level4 20
#property indicator_buffers 4
#property indicator_color1 Black //RSI
#property indicator_color2 Blue //MA1
#property indicator_color3 Red //MA2
#property indicator_color4 Green //Ratio
int RSI_Timeframe=0;//0=current chart,1=m1,5=m5,15=m15,30=m30,60=h1,240=h4,etc...
int RSI_Period = 10;
int RSI_Applied_Price = 0;//0=close, 1=open, 2=high, 3=low, 4=(high+low)/2, 5=(high+low+close)/3, 6=(high+low+close+close)/4
int MA1_Period = 10;
int MA1_Method = 1;// 0=SMA, 1=EMA, 2=SMMA, 3=LWMA
int MA2_Period = 30;
int MA2_Method = 1;// 0=SMA, 1=EMA, 2=SMMA, 3=LWMA
double RSI[],MA1_Array[],MA2_Array[],MR_Ratio[];
double _RSI[],_MA1_Array[],_MA2_Array[],_MR_Ratio[];
string ShortName="MoR";
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- indicators setting
SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,1); //RSI
SetIndexStyle(1,DRAW_LINE,STYLE_SOLID,1); //EMA10
SetIndexStyle(2,DRAW_LINE,STYLE_SOLID,1); //EMA30
SetIndexStyle(3,DRAW_LINE,STYLE_SOLID,2); //Ratio
SetIndexBuffer(0,RSI);
SetIndexLabel(0,"RSI");
SetIndexBuffer(1,MA1_Array);
SetIndexLabel(1,"MA1");
SetIndexBuffer(2,MA2_Array);
SetIndexLabel(2,"MA2");
SetIndexBuffer(3,MR_Ratio);
SetIndexLabel(3,"Ratio");
IndicatorDigits(MarketInfo(Symbol(),MODE_DIGITS));
IndicatorShortName(ShortName);
return(0);
}
int start()
{
int i,limit = Bars - IndicatorCounted() - 1;
for(i=limit; i>=0; i--){
RSI= iRSI(NULL,60,RSI_Period,RSI_Applied_Price,i);
}
for(i=limit; i>=0; i--){
MA1_Array = iMAOnArray(RSI,0,MA1_Period,0,MA1_Method,i);
MA2_Array = iMAOnArray(RSI,0,MA2_Period,0,MA2_Method,i);
}
for (i=0; i<=limit; i++){
MR_Ratio = MA1_Array / MA2_Array * 100;
}
double tmp1=MR_Ratio[0];
SetText("Label1",DoubleToStr(tmp1,1),Black,55,20);
//+------------------------------------------------------------------+
//| Trying to set new buffers |
//+------------------------------------------------------------------+
IndicatorBuffers(4);
SetIndexBuffer(0,_RSI);
SetIndexBuffer(1,_MA1_Array);
SetIndexBuffer(2,_MA2_Array);
SetIndexBuffer(3,_MR_Ratio);
for(i=limit; i>=0; i--){
_RSI= iRSI(NULL,240,RSI_Period,RSI_Applied_Price,i);
}
for(i=limit; i>=0; i--){
_MA1_Array = iMAOnArray(_RSI,0,MA1_Period,0,MA1_Method,i);
_MA2_Array = iMAOnArray(_RSI,0,MA2_Period,0,MA2_Method,i);
}
for (i=0; i<=limit; i++){
_MR_Ratio = _MA1_Array / _MA2_Array * 100;
}
double tmp2=_MR_Ratio[0];
SetText("Label2",DoubleToStr(tmp2,1),Black,95,20);
//----
return(0);
}
void SetText(string ObjName,string ObjText,color clr,int xpos,int ypos){
ObjectCreate(ObjName,OBJ_LABEL,WindowFind(ShortName),0,0);
ObjectSetText(ObjName,ObjText,9,"Arial Bold",clr);
ObjectSet(ObjName,OBJPROP_CORNER,0);
ObjectSet(ObjName,OBJPROP_XDISTANCE,xpos);
ObjectSet(ObjName,OBJPROP_YDISTANCE,ypos);
}
Привет, ребята,
Я здесь новичок.
Wolfe был достаточно любезен, чтобы создать шаблон для приведенного ниже кода, который я изменил. Он работает отлично и делает то, что я хочу.
Но теперь,
Я думаю создать цифровую версию этого, похожую на индикатор DIGISTOCH.
Я хочу знать следующее:
- Как "очистить" или "промыть" буферы? Кажется, я не могу "стереть" связь буферов и создать новые.
- Как изменить это, чтобы НЕ включать буферы? Я думаю, это сэкономит немного памяти, верно? Я пытался стереть SetIndexBuffer, но при загрузке в MT4 он выдает ошибку "zero divide" в окне экспертного терминала.
- Оба ярлыка внизу отображают только 1 значение, значение H1. Он должен отображать число из H1 и H4. Так что это не работает.
- Я в основном хочу, чтобы он отображал число Ratio с разных таймфреймов (от M1 до MN1) на одном экране, как индикатор DIGIStoch.
Любая помощь будет принята с благодарностью.
С уважением,
Просто определите пустое значение для буферов после init для каждого цикла.
Насчет нулевого деления просто создайте какое-нибудь условие "если" перед вычислением.
Код многовременного сигнала
Привет программисты
Я новичок, изучающий программирование, создал базовый советник и буду признателен, если кто-нибудь поможет мне со следующим:
Идея состоит в том, чтобы в основном искать сигнал на более высоком ТФ и ждать отката на более низком ТФ, а затем исполнять ордер, например:
если 4 HR генерирует сигнал на следующем:
if(MacdCurrentSignalCurrent)MacdPrevious<SignalPrevious)=LongSignalActivated
как удержать сигнал выше и дождаться коррекции на 1 HR (или любом другом таймфрейме) следующим образом
if (MacdCurrentSignalCurrent && MacdPrevious<SignalPrevious) Order=SignalBuy
ИЛИ
Любая другая стратегия.
У меня уже есть все индикаторы, определенные в переменных для разных таймфреймов...
Я могу выслать советника, если кто-то готов протянуть руку помощи ... также если любой опытный программист готов работать со мной над моей стратегией, я готов компенсировать (к сожалению, не могу позволить себе много платить)...
Благодарю за любую помощь
Мо Сайед
e-mail: moi.syed@gmail.com