Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
mladen
есть предложения по наиболее эффективным dll с использованием microsoft visual studio?
Буду ли я нагнетать обстановку, если попрошу, чтобы звуковое оповещение было в формате WAV, но ТОЛЬКО когда все пять "в строке"? Выбор пользователем входного звукового сигнала
Думаю, я получил ответ, который заслужил. Я в этой игре достаточно давно, чтобы знать лучше.
Все, что мне нужно было сделать, это поместить мой Wav. файл в > options > alert box, и дело сделано. Простите, Младен, что был настолько глуп, и спасибо вам за то, что заставили меня задуматься над этим.
Думаю, я получил ответ, который заслужил. Я в этой игре достаточно давно, чтобы знать лучше. Все, что мне нужно было сделать, это поместить мой Wav. файл в > options > alert box, и дело сделано. Простите, Младен, что был настолько глуп, и спасибо вам за то, что заставили меня додуматься до этого.
Не волнуйтесь
Выходные - не время для серьезного мозгового штурма.
Привет всем, мне нужна помощь и пожалуйста, если кто-то может, помогите мне :/
Итак, я хочу проверить общее количество заказов и выделить цветом их фон, как четные и нечетные.
Вот так
Но моя проблема заключается в последнем ярлыке :/ на этой картинке, мое общее количество заказов 5, но ярлыков 6 :/
Вот мой код:
int ticket1 = OrdersTotal();
int a_ticket1[];
ArrayResize( a_ticket1, ticket1 );
for (int cnt1=0;cnt1<ticket1;cnt1++)
{
if ( !OrderSelect(cnt1,SELECT_BY_POS,MODE_TRADES) ) continue;
a_ticket1[cnt1]=OrderTicket();
int orcol;
if(ExtLines<0)
{
for(orcol=0; orcol<9; orcol++)
{
string OrderNumber1 = "Orders Background " +cnt1/2+orcol;
string OrderNumbert1 = "Orders Backgrnds " +cnt1/2+orcol;
if(ObjectCreate(OrderNumber1,OBJ_LABEL,0,0,0))
{
string Ydistanc1 = 65 + (24 * cnt1);
ObjectSetText(OrderNumber1, Obg[orcol], 15, "Acc_info", Gray);
ObjectSet(OrderNumber1, OBJPROP_CORNER, 0);
ObjectSet(OrderNumber1, OBJPROP_XDISTANCE, Obgs[orcol]);
ObjectSet(OrderNumber1, OBJPROP_YDISTANCE, Ydistanc1);
}
if(ObjectCreate(OrderNumbert1,OBJ_LABEL,0,0,0))
{
string Ydistanct1 = 89 + (24 * cnt1);
ObjectSetText(OrderNumbert1, Obg[orcol], 15, "Acc_info", DarkGray);
ObjectSet(OrderNumbert1, OBJPROP_CORNER, 0);
ObjectSet(OrderNumbert1, OBJPROP_XDISTANCE, Obgs[orcol]);
ObjectSet(OrderNumbert1, OBJPROP_YDISTANCE, Ydistanct1);
}
}
}
}Заранее спасибо и извините за мой плохой английский
Уважаемые кодеры
Нужна ваша помощь
Прикрепленный индикатор работает хорошо, но если уровни установлены на "0 & 100", цвет на гисто (центральная линия) не меняется!
Возможно ли сделать так, чтобы он работал и с этими уровнями!
Спасибо за любую помощь
secretcode
Уважаемые кодеры
Нужна ваша помощь
Прикрепленный индикатор работает хорошо, но если уровни установлены на "0 & 100", цвет на гисто (центральная линия) не меняется!
Возможно ли сделать так, чтобы он работал и с этими уровнями!
Спасибо за любую помощь
секретный кодsecretcode
Значение RSX должно быть больше или меньше значений уровней. Попробуйте использовать 99.9999 и 0.0001 вместо 100 и 0.
secretcode Значение RSX должно быть больше или меньше значений уровня. Попробуйте использовать 99.9999 и 0.0001 вместо 100 и 0.
Большое спасибо Младену за помощь
С наилучшими пожеланиями,
secretcode
Здравствуйте, господин Младен, как поживаете? Не могли бы вы мне помочь?
Я разрабатываю свой собственный индикатор, основанный на прорыве поддержки и сопротивления.
У меня он почти готов, но есть 32 вещи, которые я не знаю, куда вставить в код или написать его лучше.
1.- Первое, что нужно сделать, это чтобы первый ордер Buy после sell окрашивался в другой цвет, в данном случае в цвет Lime, а первый Sell после buy в красный цвет.
2.- сделать так, чтобы индикатор разворачивал всплывающее окно с текстом для этого ордера разного цвета, говоря "пара .... идет в лонг" и "пара.... идет в шорт".
3.- включить код этого индикатора фракталов в мой код, чтобы все слиплось...
вот что у меня есть до сих пор для моего индикатора:
#property strict
#property indicator_chart_window
#property indicator_buffers 4
#property indicator_color1 clrLime
#property indicator_color2 clrRed
#property indicator_color3 clrMagenta
#property indicator_color4 clrCyan
#define BUY 1
#define SELL 2
double Buy[],
Sell[],
FirstBuy[],
FirstSell[];
int OnInit() {
SetIndexBuffer(0,FirstBuy);
SetIndexBuffer(1,FirstSell);
SetIndexBuffer(2,Buy);
SetIndexBuffer(3,Sell);
for(int i=0; i<4; i++) {
SetIndexStyle (i,DRAW_ARROW,STYLE_SOLID,2);}
SetIndexArrow (0,233);
SetIndexArrow (1,234);
SetIndexArrow (2,233);
SetIndexArrow (3,234);
return(INIT_SUCCEEDED);}
void OnDeinit(const int reason) {}
int OnCalculate(const int rates_total, const int prev_calculated, const datetime &time[],
const double &open[], const double &high[], const double &low[],
const double &close[], const long &tick_volume[], const long &volume[],
const int &spread[]) {
static int lastSignal=0;
for(int i=MathMin(rates_total-prev_calculated, rates_total-1); i>=0; i--) {
FirstBuy=FirstSell=Buy=Sell=EMPTY_VALUE;
datetime when=Time;
int x=iBarShift(NULL,PERIOD_H1, when),
y=iBarShift(NULL,PERIOD_M15, when),
z=iBarShift(NULL,PERIOD_M5, when);
double srUpH1 = iCustom(NULL,PERIOD_H1, "Support and Resistance (Barry)",0,x),
srDownH1 = iCustom(NULL,PERIOD_H1, "Поддержка и сопротивление (Барри)",1,x),
MidH1 = (srUpH1+srDownH1)/2,
srUp15M = iCustom(NULL,PERIOD_M15, "Поддержка и сопротивление (Барри)",0,y),
srDown15M = iCustom(NULL,PERIOD_M15, "Поддержка и сопротивление (Барри)",1,y),
Mid15M = (srUp15M+srDown15M)/2,
srUp5M = iCustom(NULL,PERIOD_M5, "Поддержка и сопротивление (Барри)",0,z),
srDown5M = iCustom(NULL,PERIOD_M5, "Поддержка и сопротивление (Барри)",1,z),
Mid5M = (srUp5M+srDown5M)/2,
srUp = iCustom(NULL,0, "Поддержка и сопротивление (Барри)",0,i),
srDown = iCustom(NULL,0, "Поддержка и сопротивление (Барри)",1,i);
if(ClosesrUp) {
if(lastSignal==SELL) {
FirstBuy=Low-_Point;
SoundAlert(when, "Buy");}
else {
Buy=Low-_Point; }
lastSignal=BUY;}
if(Close>srUpH1 && Close<srDown) {
if(lastSignal==BUY) {
FirstSell=High+_Point;
SoundAlert(when, "Sell");}
else {
Sell=High+_Point; }
lastSignal=SELL;}}
return(rates_total);}
void SoundAlert(datetime i, string dir) {
static datetime lastAlert=0;
if(lastAlert!=i) {
Alert(StringFormat("%s signal on %s at %s",dir,Symbol(),TimeToStr(i)));
lastAlert=i;}}
вот код фракталов для поддержки и сопротивления, не знаю куда вводить:
#property indicator_buffers 2
#property indicator_color1 Red
#property indicator_color2 Blue
//---- buffers
double v1[];
double v2[];
double val1;
double val2;
int i;
int init()
{
IndicatorBuffers(2);
//---- настройки рисования
SetIndexArrow(0, 119);
SetIndexArrow(1, 119);
SetIndexStyle(0,DRAW_ARROW,STYLE_DOT,1,Red);
SetIndexDrawBegin(0,i-1);
SetIndexBuffer(0, v1);
SetIndexLabel(0, "Resistance");
SetIndexStyle(1,DRAW_ARROW,STYLE_DOT,1,Blue);
SetIndexDrawBegin(1,i-1);
SetIndexBuffer(1, v2);
SetIndexLabel(1, "Support");
return(0);
}
int start()
{
i=Bars;
while(i>=0)
{
val1 = iFractals(NULL, 0, MODE_UPPER,i);
if (val1 > 0)
v1=High;
else
v1 = v1;
val2 = iFractals(NULL, 0, MODE_LOWER,i);
if (val2 > 0)
v2=Low;
else
v2 = v2;
i--;
}
return(0);
}
//+------------------------------------------------------------------+
[/TD][/TR]
[
TR]Здравствуйте, господин Младен, как поживаете? Не могли бы вы мне помочь?
я разрабатываю свой собственный индикатор, основанный на пробое поддержки и сопротивления.
У меня он почти готов, но есть 32 вещи, которые я не знаю, куда вставить в код или написать его лучше.
1.- Первое, что нужно сделать, это чтобы первый ордер Buy после sell окрашивался в другой цвет, в данном случае в цвет Lime, а первый Sell после buy в красный цвет.
2.- сделать так, чтобы индикатор развернул всплывающее окно с текстом для этого ордера разного цвета, говорящим "пара .... идет в лонг" и "пара.... идет в шорт".
3.- включить код этого индикатора фракталов в мой код, чтобы все слиплось...
вот что у меня есть до сих пор для моего индикатора:
#property strict
#property indicator_chart_window
#property indicator_buffers 4
#property indicator_color1 clrLime
#property indicator_color2 clrRed
#property indicator_color3 clrMagenta
#property indicator_color4 clrCyan
#define BUY 1
#define SELL 2
double Buy[],
Sell[],
FirstBuy[],
FirstSell[];
int OnInit() {
SetIndexBuffer(0,FirstBuy);
SetIndexBuffer(1,FirstSell);
SetIndexBuffer(2,Buy);
SetIndexBuffer(3,Sell);
for(int i=0; i<4; i++) {
SetIndexStyle (i,DRAW_ARROW,STYLE_SOLID,2);}
SetIndexArrow (0,233);
SetIndexArrow (1,234);
SetIndexArrow (2,233);
SetIndexArrow (3,234);
return(INIT_SUCCEEDED);}
void OnDeinit(const int reason) {}
int OnCalculate(const int rates_total, const int prev_calculated, const datetime &time[],
const double &open[], const double &high[], const double &low[],
const double &close[], const long &tick_volume[], const long &volume[],
const int &spread[]) {
static int lastSignal=0;
for(int i=MathMin(rates_total-prev_calculated, rates_total-1); i>=0; i--) {
FirstBuy=FirstSell=Buy=Sell=EMPTY_VALUE;
datetime when=Time;
int x=iBarShift(NULL,PERIOD_H1, when),
y=iBarShift(NULL,PERIOD_M15, when),
z=iBarShift(NULL,PERIOD_M5, when);
double srUpH1 = iCustom(NULL,PERIOD_H1, "Support and Resistance (Barry)",0,x),
srDownH1 = iCustom(NULL,PERIOD_H1, "Поддержка и сопротивление (Барри)",1,x),
MidH1 = (srUpH1+srDownH1)/2,
srUp15M = iCustom(NULL,PERIOD_M15, "Поддержка и сопротивление (Барри)",0,y),
srDown15M = iCustom(NULL,PERIOD_M15, "Поддержка и сопротивление (Барри)",1,y),
Mid15M = (srUp15M+srDown15M)/2,
srUp5M = iCustom(NULL,PERIOD_M5, "Поддержка и сопротивление (Барри)",0,z),
srDown5M = iCustom(NULL,PERIOD_M5, "Поддержка и сопротивление (Барри)",1,z),
Mid5M = (srUp5M+srDown5M)/2,
srUp = iCustom(NULL,0, "Поддержка и сопротивление (Барри)",0,i),
srDown = iCustom(NULL,0, "Поддержка и сопротивление (Барри)",1,i);
if(ClosesrUp) {
if(lastSignal==SELL) {
FirstBuy=Low-_Point;
SoundAlert(when, "Buy");}
else {
Buy=Low-_Point; }
lastSignal=BUY;}
if(Close>srUpH1 && Close<srDown) {
if(lastSignal==BUY) {
FirstSell=High+_Point;
SoundAlert(when, "Sell");}
else {
Sell=High+_Point; }
lastSignal=SELL;}}
return(rates_total);}
void SoundAlert(datetime i, string dir) {
static datetime lastAlert=0;
if(lastAlert!=i) {
Alert(StringFormat("%s signal on %s at %s",dir,Symbol(),TimeToStr(i)));
lastAlert=i;}}
вот код фракталов для поддержки и сопротивления, не знаю куда вводить:
#property indicator_buffers 2
#property indicator_color1 Red
#property indicator_color2 Blue
//---- buffers
double v1[];
double v2[];
double val1;
double val2;
int i;
int init()
{
IndicatorBuffers(2);
//---- настройки рисования
SetIndexArrow(0, 119);
SetIndexArrow(1, 119);
SetIndexStyle(0,DRAW_ARROW,STYLE_DOT,1,Red);
SetIndexDrawBegin(0,i-1);
SetIndexBuffer(0, v1);
SetIndexLabel(0, "Resistance");
SetIndexStyle(1,DRAW_ARROW,STYLE_DOT,1,Blue);
SetIndexDrawBegin(1,i-1);
SetIndexBuffer(1, v2);
SetIndexLabel(1, "Support");
return(0);
}
int start()
{
i=Bars;
while(i>=0)
{
val1 = iFractals(NULL, 0, MODE_UPPER,i);
if (val1 > 0)
v1=High;
else
v1 = v1;
val2 = iFractals(NULL, 0, MODE_LOWER,i);
if (val2 > 0)
v2=Low;
else
v2 = v2;
i--;
}
return(0);
}
//+------------------------------------------------------------------+
[/TD][/TR]
[
TR]daniel1983
теперь пункты 2 и 3:
2. Просто добавьте Alert(t "text to use for popup window"), чтобы получить всплывающее оповещение.
3. Не очень хорошая идея - усложняет код и увеличивает вероятность того, что что-то будет работать неправильно.
Уважаемый Младен
Возможно ли "добавить полосу" в прикрепленный индикатор, как в этом сообщении: https: //www.mql5.com/en/forum/172894/page45.
Этот индикатор из раздела elite, но мне нравится, как вы добавляете полосу на нем.
Спасибо за любую помощь
секретный код