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

 
donstar19:
Как мне это сделать? Мне жаль, что я не знаю кодирования, но я готов попробовать все на данный момент, чтобы заставить его остановиться, Если есть способ ограничить мои ордера и отложенные ордера, это может сработать?

donstar19

Это можно сделать только изнутри советника (это должно быть реализовано в коде советника).

 
mladen:
donstar19 Это можно сделать только изнутри советника (это должно быть реализовано в коде советника)

И именно поэтому я хочу создать индикатор стоп-сигнала iCustom для добавления в мой советник.

чтобы торговать только тогда, когда этот сигнал зеленый.

 
donstar19:
И именно поэтому я хочу создать индикатор стоп-сигнала iCustom для добавления в мой советник. чтобы торговать только тогда, когда этот сигнал зеленый.

donstar19

Вы можете использовать функцию, подобную этой, для подсчета текущих открытых ордеров

int countOpenedOrders(int& openedBuys,int& openedSells,double& totalProfit)

{

int openedOrders = 0;

openedBuys = 0;

openedSells = 0;

totalProfit = 0;

//

//

//

//

//

for(int i=0; i < OrdersTotal(); i++)

{

if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES) == false) break;

//

//

//

//

//

if(OrderSymbol() != s_symbol) continue;

if(NoHedge)

{

if(OrderType() == OP_BUY) openedBuys++;

if(OrderType() == OP_SELL) openedSells++;

}

if(OrderMagicNumber() != MagicNumber) continue;

//

//

//

//

//

if(OrderType() == OP_BUY || OrderType() == OP_SELL) { openedOrders++; if (!AllSymbolsForProfitAndLoss) totalProfit += (OrderProfit()+OrderSwap()); }

}

return(openedOrders);

}

И если количество открытых ордеров > 0, то вы не должны открывать новый ордер. Вы также можете добавить подсчет других типов или ордеров в эту функцию. Использование индикатора не будет работать, если вы не передадите магическое число и другие данные, специфичные для советника, чтобы индикатор "знал", что искать (что сделает индикатор зависимым от советника, и поэтому более эффективно делать это как функцию от советника).

 
mladen:
donstar19

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

int countOpenedOrders(int& openedBuys,int& openedSells,double& totalProfit)

{

int openedOrders = 0;

openedBuys = 0;

openedSells = 0;

totalProfit = 0;

//

//

//

//

//

for(int i=0; i < OrdersTotal(); i++)

{

if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES) == false) break;

//

//

//

//

//

if(OrderSymbol() != s_symbol) continue;

if(NoHedge)

{

if(OrderType() == OP_BUY) openedBuys++;

if(OrderType() == OP_SELL) openedSells++;

}

if(OrderMagicNumber() != MagicNumber) continue;

//

//

//

//

//

if(OrderType() == OP_BUY || OrderType() == OP_SELL) { openedOrders++; if (!AllSymbolsForProfitAndLoss) totalProfit += (OrderProfit()+OrderSwap()); }

}

return(openedOrders);

}

Если количество текущих открытых ордеров > 0, то вы не должны открывать новый ордер. Вы также можете добавить подсчет других типов или ордеров в эту функцию. Использование индикатора не будет работать, если вы не передадите магическое число и другие данные, специфичные для советника, чтобы индикатор "знал", что искать (что сделает индикатор зависимым от советника, поэтому эффективнее делать это как функцию от советника).

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

 
donstar19:
Спасибо, но это кодирование ... Я просто пытаюсь научиться этому материалу, где я должен поместить это в мой советник? Он не компилируется, когда я вставляю его?

donstar19

А как вы собирались его использовать, если это индикатор?

 
mladen:
donstar19 Это можно сделать только изнутри советника (это должно быть реализовано в коде советника).

Привет, Младен, спасибо за помощь, я отправил вам личное сообщение. Я не хочу загромождать форум своими объяснениями того, что я пытаюсь сделать. Но причина, по которой я прошу закодировать индикатор, заключается в том, что программа, которую я использую для создания советника, основана на условиях сигналов нескольких индикаторов.

 

пожалуйста, помогите мне исправить этот код ...

стрелка не появляется, если прикрепить ее к графику

Что не так?

и пожалуйста добавьте еще стрелку для стопа

if(Laguerre>Lb) = stop BUY

if(Laguerre<Lm) = stop SELL

спасибо

Файлы:
bs.mq4  3 kb
 
rizkyd:
Пожалуйста, помогите мне исправить этот код ...

стрелка не появляется, если прикрепить ее к графику

Что не так?

и пожалуйста, добавьте больше стрелок для стопа

if(Laguerre>Lb) = stop BUY

if(Laguerre<Lm) = stop SELL

спасибо

rizkyd

Какой именно индикатор Laguerre вы используете для пользовательских звонков?

 

я ищу индикатор, который рисует/показывает линии тренда 3 разных таймфреймов на одном графике.

линии тренда должны иметь разные цвета и быть помечены для легкой идентификации.

таймфреймы должны быть выбираемыми

 
rizkyd:
пожалуйста, помогите мне исправить этот код ...

стрелка не появляется, если прикрепить ее к графику

Что не так?

и пожалуйста, добавьте больше стрелок для стопа

if(Laguerre>Lb) = stop BUY

if(Laguerre<Lm) = stop SELL

спасибо

Не обращайте внимания на предыдущий вопрос.

Вот версия, которая работает

Файлы:
bs_1.mq4  3 kb