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

 

Спасибо, Младен,

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

Файлы:
 
hughesfleming:
Спасибо mladen,

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

Алекс

У вас просто видны все горизонтальные линии от всех крестов. Возможно, вам следует просто ограничить отображение крестов только последним крестом (удалите "+Time" из определения имени, и у вас будет виден только один - предположительно последний - крест).

 

Улучшение кодирования MT4

Кто-нибудь может помочь мне заставить этот код работать должным образом?

Здравствуйте, у меня проблема с тем, чтобы приведенный ниже код MT4 хорошо работал для моих клиентов.

Я хочу, чтобы часть покупки и продажи работала так, чтобы алерты не повторялись на каждом тике или в

начале каждой новой свечи.

Также я хочу, чтобы стоп алерт на покупку и продажу работал так, чтобы при выполнении условий в соответствии с кодом,

оповещения будут звучать, чтобы остановить торговлю.

Пожалуйста, нажмите на изображение кода для увеличения.

Файлы:
mt4code.png  28 kb
 

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

с уважением,

Алекс

 
gringoh:
Уважаемые кодеры,

Я использовал следующий код из другого индикатора для отображения количества пунктов открытых ордеров.

На демо-счетах индикатор работает нормально, но на реальных счетах индикатор не работает. Любая помощь будет очень признательна.

Заранее большое спасибо.

//+--------------------------------------------------------------------------+

//| ! - i-Pips count.mq4 |

//+--------------------------------------------------------------------------+

// Свойства индикатора

#property indicator_chart_window

extern bool Corner_of_Chart_RIGHT_TOP = TRUE;

extern int Shift_UP_DN = 0;

extern int Adjust_Side_to_side = 0;

extern color CommentLabel_color = Orange;

extern color Spread_color = Gold;

int g_order_total_120 = 0;

//+--------------------------------------------------------------------------+

//| Пользовательская функция инициализации индикатора |

//+--------------------------------------------------------------------------+

int init() {

return (0);

}

//+--------------------------------------------------------------------------+

//| Пользовательская функция деинициализации индикатора |

//+--------------------------------------------------------------------------+

int deinit() {

ObjectsDeleteAll(0, OBJ_LABEL);

return (0);

}

//+--------------------------------------------------------------------------+

//| Пользовательская функция запуска индикатора |

//+--------------------------------------------------------------------------+

int start() {

Show_Trade_Pips ();

return (0);

}

//-----------------------------------------------------------------------------

// функция: Show_Trade_Pips()

// Описание: Подсчет пипсов для каждого открытого ордера

//-----------------------------------------------------------------------------

void Show_Trade_Pips(){

double ld_0 = 0;

int pos_8 = 0;

int count_12 = 0;

int order_total_16 = 0;

//if (Show_Trade_Pips == TRUE) {

order_total_16 = OrdersTotal();

g_order_total_120 = order_total_16;

count_12 = 0;

for (pos_8 = 0; pos_8 < order_total_16; pos_8++) {

OrderSelect(pos_8, SELECT_BY_POS, MODE_TRADES);

if (Symbol() == OrderSymbol()) {

if (OrderType() == OP_BUYSTOP || OrderType() == OP_BUYLIMIT || OrderType() == OP_SELLSTOP || OrderType() == OP_SELLLIMIT) continue;

count_12++;

if (OrderType() == OP_BUY) {

if (Digits == 2 || Digits == 4) ld_0 = (OrderClosePrice() - OrderOpenPrice()) / Point;

if (Digits == 3 || Digits == 5) ld_0 = (OrderClosePrice() - OrderOpenPrice()) / Point / 10.0;

ObjectCreate("BPTrade_lbl" + pos_8, OBJ_LABEL, 0, 0, 0, 0);

ObjectSetText("BPTrade_lbl" + pos_8, "Trade " + count_12 + " Pips ", 10, "Arial", CommentLabel_color);

ObjectSet("BPTrade_lbl" + pos_8, OBJPROP_CORNER, Corner_of_Chart_RIGHT_TOP);

ObjectSet("BPTrade_lbl" + pos_8, OBJPROP_XDISTANCE, Adjust_Side_to_side + 58);

ObjectSet("BPTrade_lbl" + pos_8, OBJPROP_YDISTANCE, 15 * count_12 + 1 + Shift_UP_DN);

ObjectCreate("BPTrade_val" + pos_8, OBJ_LABEL, 0, 0, 0);

ObjectSetText("BPTrade_val" + pos_8, DoubleToStr(ld_0, 1), 10, "Arial Bold", Spread_color);

ObjectSet("BPTrade_val" + pos_8, OBJPROP_CORNER, Corner_of_Chart_RIGHT_TOP);

ObjectSet("BPTrade_val" + pos_8, OBJPROP_XDISTANCE, Adjust_Side_to_side + 10);

ObjectSet("BPTrade_val" + pos_8, OBJPROP_YDISTANCE, 15 * count_12 + 1 + Shift_UP_DN);

continue;

}

if (OrderType() == OP_SELL) {

if (Digits == 2 || Digits == 4) ld_0 = (OrderOpenPrice() - OrderClosePrice()) / Point;

if (Digits == 3 || Digits == 5) ld_0 = (OrderOpenPrice() - OrderClosePrice()) / Point / 10.0;

ObjectCreate("BPTrade_lbl" + pos_8, OBJ_LABEL, 0, 0, 0, 0);

ObjectSetText("BPTrade_lbl" + pos_8, "Trade " + count_12 + " Pips ", 10, "Arial", CommentLabel_color);

ObjectSet("BPTrade_lbl" + pos_8, OBJPROP_CORNER, Corner_of_Chart_RIGHT_TOP);

ObjectSet("BPTrade_lbl" + pos_8, OBJPROP_XDISTANCE, Adjust_Side_to_side + 58);

ObjectSet("BPTrade_lbl" + pos_8, OBJPROP_YDISTANCE, 15 * count_12 + 1 + Shift_UP_DN);

ObjectCreate("BPTrade_val" + pos_8, OBJ_LABEL, 0, 0, 0);

ObjectSetText("BPTrade_val" + pos_8, DoubleToStr(ld_0, 1), 10, "Arial Bold", Spread_color);

ObjectSet("BPTrade_val" + pos_8, OBJPROP_CORNER, Corner_of_Chart_RIGHT_TOP);

ObjectSet("BPTrade_val" + pos_8, OBJPROP_XDISTANCE, Adjust_Side_to_side + 10);

ObjectSet("BPTrade_val" + pos_8, OBJPROP_YDISTANCE, 15 * count_12 + 1 + Shift_UP_DN);

}

}

}

}

gringoh

У вас случайно нет оригинального кода?

Это декомпилированный код

 

Привет, Младен,

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

Я понимаю, в чем проблема. Извините за неудобства, сообщение отредактировано и удалено.

Лучше всего,

 

Уважаемые кодеры,

Я использовал следующий код из другого индикатора для отображения количества пунктов открытых ордеров.

На демо-счетах индикатор работает нормально, но на реальных счетах индикатор не работает. Любая помощь будет очень признательна.

Заранее большое спасибо.

 

недопустимое целое число в качестве параметра 5 для функции'iCustom'

Я получаю эту ошибку:

invalid integer number as parameter 5 for 'iCustom' function

вызов функции `код есть:

double EUF = iCustom(Symbol(),0, "TOTAL-SHIT-CORREL", "EURUSD.pro", "USDCHF.pro",0);

TOTAL-SHIT-CORREL принимает 2 входа Pair1 и Pair2 строкового типа

помощь

`

 
junglelion:
Я получаю эту ошибку:

Недопустимое целое число в качестве параметра 5 для функции 'iCustom'

вызов функции `код есть:

double EUF = iCustom(Symbol(),0, "TOTAL-SHIT-CORREL", "EURUSD.pro", "USDCHF.pro",0);

TOTAL-SHIT-CORREL принимает 2 входа Pair1 и Pair2 строкового типа

помощь

`

junglelion

Это означает, что "USDCHF.pro" на самом деле должно быть каким-то целым числом, а не строкой.

 

Уважаемый Младен;

Вы можете преобразовать этот индикатор в советника? (только для длинных и коротких позиций, без TP или SL).

Спасибо

Файлы:
_test.mq4  2 kb
Причина обращения: