Помощь в кодировании - страница 394

 

mladen

есть предложения по наиболее эффективным dll с использованием microsoft visual studio?

 
Jeeves:
Буду ли я нагнетать обстановку, если попрошу, чтобы звуковое оповещение было в формате WAV, но ТОЛЬКО когда все пять "в строке"? Выбор пользователем входного звукового сигнала

Думаю, я получил ответ, который заслужил. Я в этой игре достаточно давно, чтобы знать лучше.

Все, что мне нужно было сделать, это поместить мой Wav. файл в > options > alert box, и дело сделано. Простите, Младен, что был настолько глуп, и спасибо вам за то, что заставили меня задуматься над этим.

 
Jeeves:
Думаю, я получил ответ, который заслужил. Я в этой игре достаточно давно, чтобы знать лучше. Все, что мне нужно было сделать, это поместить мой 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

Файлы:
 
secretcode:
Уважаемые кодеры

Нужна ваша помощь

Прикрепленный индикатор работает хорошо, но если уровни установлены на "0 & 100", цвет на гисто (центральная линия) не меняется!

Возможно ли сделать так, чтобы он работал и с этими уровнями!

Спасибо за любую помощь

секретный код

secretcode

Значение RSX должно быть больше или меньше значений уровней. Попробуйте использовать 99.9999 и 0.0001 вместо 100 и 0.

 
mladen:
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;}}

вот код фракталов для поддержки и сопротивления, не знаю куда вводить:

[TD="class: bb-bot, width: 100%"] [TD="class: bb-right-bot, width: 4"]thanks
#property indicator_chart_window

#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]
[/TD]

[/TR]

[

TR]
 
daniel1983:
Здравствуйте, господин Младен, как поживаете? Не могли бы вы мне помочь?

я разрабатываю свой собственный индикатор, основанный на пробое поддержки и сопротивления.

У меня он почти готов, но есть 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;}}

вот код фракталов для поддержки и сопротивления, не знаю куда вводить:

[TD="class: bb-bot, width: 100%"] [TD="class: bb-right-bot, width: 4"]thanks
#property indicator_chart_window

#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]
[/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, но мне нравится, как вы добавляете полосу на нем.

Спасибо за любую помощь

секретный код

Причина обращения: