Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Английский не является моим родным языком, но я действительно не думал, что мой вопрос был настолько неправильным. Вместо того, чтобы "подбирать слова", давайте найдем решение моей проблемы. Я попробовал задать вопрос еще раз.
Какой лучший способ для моего советника распознать простые путы и коллы из моего индикатора?
Очевидно, мой код не сработал, и я попытался заменить "1" на "0", как вы мне сказали.Опубликуйте (прикрепите) ваш код, который не работает здесь - файлы mql, которые вы тестируете и которые вы написали до сих пор.
Это мой личный код, поэтому я не хочу им делиться. Но что еще вам нужно увидеть, кроме кода, который я предоставил?
Есть ли что-то, что я забыл?
Это мой личный код, поэтому я не хочу им делиться. Но что еще вам нужно увидеть, кроме кода, который я предоставил? Есть ли что-то, что я забыл?
То есть вы хотите, чтобы кто-то помог вам с кодированием, но не хотите показывать код для проверки на ошибки, а вместо этого утверждаете, что все советы, которые вы получили и которые работают в тысячах и тысячах других кодов, не работают у вас?
ХОРОШО. Теперь я понимаю вашу позицию. Удачи вам в кодировании
Счастливой торговли
Частный код, который не работает? Интересное
Два моих сообщения были удалены по неизвестной мне причине.
Однако, проблема, с которой я столкнулся, заключалась в том, что у меня было несколько других буферов, которые мешали тому, который я пытался прочитать. Теперь у меня есть рабочее решение.
Мне нужна помощь, пожалуйста... Как передать параметры символа с суффиксом (micro) в функцию, содержащую icustom. Если я не использую функцию, я помещаю имя символа в двойные кавычки и это работает, например icustom("EURUSDmicro",0,channel-signal",2,1), но когда я использую функцию, двойные кавычки не передаются .Пожалуйста, посмотрите следующий код, что я имею в виду
void OnTick()
{
CalcDisplay("EURUSDmicro"); //--------FUNCTION CALL-------
}
void CalcDisplay(string TxtCurrency) //--------FUNCTION-------
{
double Value=icustom(TxtCurrency,0,channel-signal",2,1);
...
...
..
}
Мне нужна помощь, пожалуйста... Как передать параметры символа с суффиксом (micro) в функцию, содержащую icustom. Если я не использую функцию, я помещаю имя символа в двойные кавычки и это работает, например icustom("EURUSDmicro",0,channel-signal",2,1), но когда я использую функцию, двойные кавычки не передаются. Пожалуйста, посмотрите следующий код, что я имею в виду.
void OnTick()
{
CalcDisplay("EURUSDmicro"); //--------FUNCTION CALL-------
}
void CalcDisplay(string TxtCurrency) //--------FUNCTION-------
{
double Value=icustom(TxtCurrency,0,channel-signal",2,1);
...
...
..
}Вам не нужно передавать кавычки. Необходимо только, чтобы это была строка.
___________________
PS: в вашем вызове iCiustom не хватает одной кавычки. Сейчас это выглядит так:
double Value=icustom(TxtCurrency,0,channel-signal",2,1);
а должно быть так:
double Value=icustom(TxtCurrency,0, "channel-signal",2,1);
привет всем у меня есть один индикатор t4 ниже прилагаю просто я хочу знать как я могу использовать его для робо торговли и робо торговли или ea это одно и тоже или нет
(я уже использую его для ручной торговли, сидя перед компьютером, но)
если я использую его для автоматической торговли, то как, пожалуйста, помогите мне кто-нибудь, заранее спасибо.
//------------------------------------------------------------------
// оригинал и первая реализация от mony
// tris версия от mladen
//------------------------------------------------------------------
#property copyright "mony & mladen"
#property link "made at www.forex.tsd.com"
#property indicator_chart_window
#property indicator_buffers 5
#property indicator_color1 MediumBlue
#property indicator_color2 Red
#property indicator_color3 MediumBlue
#property indicator_color4 Red
#property indicator_color5 Red
#property indicator_width3 3
#property indicator_width4 3
#property indicator_width5 3
#property strict
//
//
//
//
//
//
enum enDisplay
{
dis_line, // Отображение цветной линии
dis_bars, // Отображение цветных полос
dis_both // Отображать как цветные линии, так и полосы
};
extern int CCIperiod = 3; // Период CCI
extern int ATRperiod = 300; // Период ATR
extern ENUM_APPLIED_PRICE applied_price = PRICE_TYPICAL; // Используемая цена
extern enDisplay DisplayType = dis_line; // Тип дисплея
extern bool alertsOn = true; // Включить оповещения
extern bool alertsOnCurrent = false; // Оповещения на текущем (еще открытом) баре
extern bool alertsMessage = true; // Оповещения должны отображать всплывающее сообщение
extern bool alertsSound = true; // Оповещения должны воспроизводить звук
extern bool alertsNotify = true; // Оповещения должны отправлять уведомления
extern bool alertsEmail = false; // Оповещения должны отправлять электронную почту
extern string soundFile = "o.wma"; // Звуковой файл, используемый для звуковых оповещений
double TrLine[];
double TrendDowna[];
double TrendDownb[];
double HistUp[];
double HistDn[];
double trend[];
//------------------------------------------------------------------
//
//------------------------------------------------------------------
//
//
//
//
//
int init()
{
IndicatorBuffers(6);
int styleLine = DRAW_LINE; if (DisplayType==dis_bars) styleLine=DRAW_NONE;
int styleBars = DRAW_HISTOGRAM; if (DisplayType==dis_line) styleBars=DRAW_NONE;
SetIndexBuffer(0, HistUp); SetIndexStyle(0,styleBars);
SetIndexBuffer(1, HistDn); SetIndexStyle(1,styleBars);
SetIndexBuffer(2, TrLine); SetIndexStyle(2,styleLine);
SetIndexBuffer(3, TrendDowna); SetIndexStyle(3,styleLine);
SetIndexBuffer(4, TrendDownb); SetIndexStyle(4,styleLine);
SetIndexBuffer(5, trend);
return(0);
}
int deinit(){ return(0); }
//------------------------------------------------------------------
//
//------------------------------------------------------------------
//
//
//
//
//
int start()
{
int counted_bars=IndicatorCounted();
if(counted_bars<0) return(-1);
if(counted_bars>0) counted_bars--;
int limit = MathMin(Bars-counted_bars,Bars-1);
//
//
//
//
//
if (trend[limit]==-1) CleanPoint(limit,TrendDowna,TrendDownb);
for(int i=limit; i >= 0; i--)
{
double cciTrendNow = iCCI(NULL, 0, CCIperiod, applied_price, i);
if (cciTrendNow >= 0)
{
TrLine = NormalizeDouble(Low - iATR(NULL, 0, ATRperiod, i),Digits);
if (i<(Bars-1) && TrLine < TrLine) TrLine = TrLine;
}
if (cciTrendNow <= 0)
{
TrLine = NormalizeDouble(High + iATR(NULL, 0, ATRperiod, i),Digits);
if (i TrLine) TrLine = TrLine;
}
//
//
//
//
//
TrendDowna = EMPTY_VALUE;
TrendDownb = EMPTY_VALUE;
if (i<(Bars-1))
{
trend = trend;
если (TrLine> TrLine) trend = 1;
if (TrLine< TrLine) trend =-1;
if (trend == -1) PlotPoint(i,TrendDowna,TrendDownb,TrLine);
if (trend == 1) { HistUp = High; HistDn = Low; }
if (trend == -1) { HistDn = High; HistUp = Low; }
}
}
manageAlerts();
return(0);
}
//+-------------------------------------------------------------------
//|
//+-------------------------------------------------------------------
//
//
//
//
//
void manageAlerts()
{
if (alertsOn)
{
int whichBar = 1; if (alertsOnCurrent) whichBar = 0;
if (trend[whichBar] != trend[whichBar+1])
{
if (trend[whichBar] == 1) doAlert(whichBar, "up");
if (trend[whichBar] ==-1) doAlert(whichBar, "down");
}
}
}
//
//
//
//
//
void doAlert(int forBar, string doWhat)
{
static string previousAlert="ничего";
static datetime previousTime;
строковое сообщение;
if (previousAlert != doWhat || previousTime != Time[forBar]) {
previousAlert = doWhat;
previousTime = Time[forBar];
//
//
//
//
//
message = Symbol()+"" в "+TimeToStr(TimeLocal(),TIME_SECONDS)+" SP MY trend changed to "+doWhat;
if (alertsMessage) Alert(message);
if (alertsNotify) SendNotification(message);
if (alertsEmail) SendMail(Symbol()+" S P MY",message);
if (alertsSound) PlaySound(soundFile);
}
}
//-------------------------------------------------------------------
//
//-------------------------------------------------------------------
//
//
//
//
//
void CleanPoint(int i,double& first[],double& second[])
{
if (i>=Bars-3) return;
if ((second != EMPTY_VALUE) && (second != EMPTY_VALUE))
second = EMPTY_VALUE;
else
if ((first != EMPTY_VALUE) && (first != EMPTY_VALUE) && (first == EMPTY_VALUE))
first = EMPTY_VALUE;
}
void PlotPoint(int i,double& first[],double& second[],double& from[])
{
if (i>=Bars-2) return;
if (first == EMPTY_VALUE)
if (first == EMPTY_VALUE)
{ first = from; first = from; second = EMPTY_VALUE; }
else { second = from; second = from; first = EMPTY_VALUE; }
else { first = from; second = EMPTY_VALUE; }
}
s_p_mony__alerts_1.01.mq4
привет всем у меня есть один индикатор t4 ниже прикреплен просто я хочу знать как я могу использовать его для роботрейдинга и роботрейдинг или ea это одно и тоже или нет
(я уже использую его для ручной торговли, сидя перед компьютером, но)
если я использую это для автоматической торговли, то как, пожалуйста, помогите мне кто-либо, спасибо заранее
//------------------------------------------------------------------
// оригинал и первая реализация от mony
// tris версия от mladen
//------------------------------------------------------------------
#property copyright "mony & mladen"
#property link "made at www.forex.tsd.com"
#property indicator_chart_window
#property indicator_buffers 5
#property indicator_color1 MediumBlue
#property indicator_color2 Red
#property indicator_color3 MediumBlue
#property indicator_color4 Red
#property indicator_color5 Red
#property indicator_width3 3
#property indicator_width4 3
#property indicator_width5 3
#property strict
//
//
//
//
//
//
enum enDisplay
{
dis_line, // Отображение цветной линии
dis_bars, // Отображение цветных полос
dis_both // Отображать как цветные линии, так и полосы
};
extern int CCIperiod = 3; // Период CCI
extern int ATRperiod = 300; // Период ATR
extern ENUM_APPLIED_PRICE applied_price = PRICE_TYPICAL; // Используемая цена
extern enDisplay DisplayType = dis_line; // Тип дисплея
extern bool alertsOn = true; // Включить оповещения
extern bool alertsOnCurrent = false; // Оповещения на текущем (еще открытом) баре
extern bool alertsMessage = true; // Оповещения должны отображать всплывающее сообщение
extern bool alertsSound = true; // Оповещения должны воспроизводить звук
extern bool alertsNotify = true; // Оповещения должны отправлять уведомления
extern bool alertsEmail = false; // Оповещения должны отправлять электронную почту
extern string soundFile = "o.wma"; // Звуковой файл, используемый для звуковых оповещений
double TrLine[];
double TrendDowna[];
double TrendDownb[];
double HistUp[];
double HistDn[];
double trend[];
//------------------------------------------------------------------
//
//------------------------------------------------------------------
//
//
//
//
//
int init()
{
IndicatorBuffers(6);
int styleLine = DRAW_LINE; if (DisplayType==dis_bars) styleLine=DRAW_NONE;
int styleBars = DRAW_HISTOGRAM; if (DisplayType==dis_line) styleBars=DRAW_NONE;
SetIndexBuffer(0, HistUp); SetIndexStyle(0,styleBars);
SetIndexBuffer(1, HistDn); SetIndexStyle(1,styleBars);
SetIndexBuffer(2, TrLine); SetIndexStyle(2,styleLine);
SetIndexBuffer(3, TrendDowna); SetIndexStyle(3,styleLine);
SetIndexBuffer(4, TrendDownb); SetIndexStyle(4,styleLine);
SetIndexBuffer(5, trend);
return(0);
}
int deinit(){ return(0); }
//------------------------------------------------------------------
//
//------------------------------------------------------------------
//
//
//
//
//
int start()
{
int counted_bars=IndicatorCounted();
if(counted_bars<0) return(-1);
if(counted_bars>0) counted_bars--;
int limit = MathMin(Bars-counted_bars,Bars-1);
//
//
//
//
//
if (trend[limit]==-1) CleanPoint(limit,TrendDowna,TrendDownb);
for(int i=limit; i >= 0; i--)
{
double cciTrendNow = iCCI(NULL, 0, CCIperiod, applied_price, i);
if (cciTrendNow >= 0)
{
TrLine = NormalizeDouble(Low - iATR(NULL, 0, ATRperiod, i),Digits);
if (i<(Bars-1) && TrLine < TrLine) TrLine = TrLine;
}
if (cciTrendNow <= 0)
{
TrLine = NormalizeDouble(High + iATR(NULL, 0, ATRperiod, i),Digits);
if (i TrLine) TrLine = TrLine;
}
//
//
//
//
//
TrendDowna = EMPTY_VALUE;
TrendDownb = EMPTY_VALUE;
if (i<(Bars-1))
{
trend = trend;
если (TrLine> TrLine) trend = 1;
if (TrLine< TrLine) trend =-1;
if (trend == -1) PlotPoint(i,TrendDowna,TrendDownb,TrLine);
if (trend == 1) { HistUp = High; HistDn = Low; }
if (trend == -1) { HistDn = High; HistUp = Low; }
}
}
manageAlerts();
return(0);
}
//+-------------------------------------------------------------------
//|
//+-------------------------------------------------------------------
//
//
//
//
//
void manageAlerts()
{
if (alertsOn)
{
int whichBar = 1; if (alertsOnCurrent) whichBar = 0;
if (trend[whichBar] != trend[whichBar+1])
{
if (trend[whichBar] == 1) doAlert(whichBar, "up");
if (trend[whichBar] ==-1) doAlert(whichBar, "down");
}
}
}
//
//
//
//
//
void doAlert(int forBar, string doWhat)
{
static string previousAlert="ничего";
static datetime previousTime;
строковое сообщение;
if (previousAlert != doWhat || previousTime != Time[forBar]) {
previousAlert = doWhat;
previousTime = Time[forBar];
//
//
//
//
//
message = Symbol()+"" в "+TimeToStr(TimeLocal(),TIME_SECONDS)+" SP MY trend changed to "+doWhat;
if (alertsMessage) Alert(message);
if (alertsNotify) SendNotification(message);
if (alertsEmail) SendMail(Symbol()+" S P MY",message);
if (alertsSound) PlaySound(soundFile);
}
}
//-------------------------------------------------------------------
//
//-------------------------------------------------------------------
//
//
//
//
//
void CleanPoint(int i,double& first[],double& second[])
{
if (i>=Bars-3) return;
if ((second != EMPTY_VALUE) && (second != EMPTY_VALUE))
second = EMPTY_VALUE;
else
if ((first != EMPTY_VALUE) && (first != EMPTY_VALUE) && (first == EMPTY_VALUE))
first = EMPTY_VALUE;
}
void PlotPoint(int i,double& first[],double& second[],double& from[])
{
if (i>=Bars-2) return;
if (first == EMPTY_VALUE)
if (first == EMPTY_VALUE)
{ first = from; first = from; second = EMPTY_VALUE; }
else { second = from; second = from; first = EMPTY_VALUE; }
else { first = from; second = EMPTY_VALUE; }
}
s_p_mony__alerts_1.01.mq4Вы уже пробовали использовать вызов iCustom() из советника?
Все, что вам нужно сделать, это вызвать индикатор с помощью функции iCustom(), прочитать буфер тренда (буфер 5 в номинации metatrader) и когда он изменит значение с -1 на +1 или с +1 на -1, у вас будет сигнал.
сэр, пожалуйста, извините, сэр ......... я не знаю, что такое вызов iCustom()... и где его можно попробовать???? ...... где я нашел его в mt4 или при модификации индикатора просто скажите мне, как я могу использовать этот индикатор S P mony в автоматическом трейдинге / робо-трейдинге это все сэр ..................
если это все долгий процесс, то пожалуйста извините меня и пожалуйста забудьте вышеуказанные сообщения спасибо сэр