Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Вопрос для кодеров
Привет
Я написал Alert, но он работает только когда я открываю окно с моим индикатором. Он работает только тогда, когда я прыгаю между окнами графиков, другими словами, когда я прыгаю между временными уровнями графиков. Похоже, что индикатор не может считать, когда он работает. Как я могу решить мою проблему? Нужна помощь. Связано ли это с Indicatorcounted? Нужно ли что-то сделать в параметре Alert. Как это сделать?
Должен ли я использовать что-то вроде:
double
? = ObjectGetValueByShift(string name, int shift));
if (???????????)
Alert("Pattern on " + Symbol() + " " + Period());
Pucio
Глупый вопрос...
Кто-нибудь? Пытаюсь создать, наверное, самую простую инди всех времён и облажался...
Входные данные: Последнее значение тика (1)пары X и (2) пары Y.
(обе "пары" CDF ..т.е. 3 буквенных символа))
Выход 1: Вывести на экран X-Y
Выход 2: Построить в окне индикатора MA из X-Y.
.не спрашивайте...LoL
Оповещение один раз
Здравствуйте,
Пожалуйста, не могли бы вы написать пример кода, где Alert будет только один раз.
Когда объект появляется на графике и нужно, чтобы Alert был один раз.
Pucio
Здравствуйте,
Пожалуйста, не могли бы вы написать пример кода, где Alert будет только один раз.
Когда объект появляется на графике, и вы хотите, чтобы Alert был один раз.
PucioВозможно, вы могли бы использовать этот кусок кода: https://www.mql5.com/en/forum/general.
У меня есть индикатор, похожий на этот. Кто-нибудь знает, как передать его значения в советник? Я пытался использовать буфер, вот таким образом
double Trend[];
...
SetIndexBuffer(0,Trend);
...
Trend[0]=UpRating;
return(0);
}
Я не знаю, работает ли это, но я знаю, что все надписи индикатора исчезли. Есть идеи по этому поводу?
нужна помощь в модификации
Здравствуйте, товарищи трейдеры
Мне нужна помощь с этим кодом.
Текущая функция заключается в закрытии первых открытых ордеров по времени и любых последующих ордеров, то есть может быть закрыто более 2 ордеров в одно и то же время.
Вопрос: как мне изменить его, чтобы он закрывал ТОЛЬКО ПЕРВЫЕ 2 открытых ордера по времени.
вот код.
спасибо за помощь
//+------------------------------------------------------------------+
//| Close Condition Type 2 |
//+------------------------------------------------------------------+
void CheckCloseConditionType2()
{
int Orders[];
int i, j;
ArrayResize(Orders, 0);
int cnt = OrdersTotal();
for (i=0; i < cnt; i++)
{
if (!OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) continue;
if (OrderSymbol() != Symbol()) continue;
if (OrderMagicNumber() != Magic) continue;
int type = OrderType();
if (type == OP_BUY || type == OP_SELL)
{
int size = ArraySize(Orders);
ArrayResize(Orders, size+1);
Orders = OrderTicket();
}
}
//-----
size = ArraySize(Orders);
for (i=0; i < size; i++)
{
if (!OrderSelect(Orders, SELECT_BY_TICKET)) continue;
if (OrderCloseTime() > 0) continue;
datetime tm1 = OrderOpenTime();
for (j=i+1; j < size; j++)
{
if (!OrderSelect(Orders[j], SELECT_BY_TICKET)) continue;
if (OrderCloseTime() > 0) continue;
datetime tm2 = OrderOpenTime();
if (tm1 > tm2)
{
int ticket = Orders;
Orders = Orders[j];
Orders[j] = ticket;
}
}
}
//-----
for (i = size-1; i >= 1; i--)
{
double Profit = ArrayGetOrdersProfit(Orders);
if ((Profit >= TotalTakeProfit && TotalTakeProfit > 0) || (Profit >= Profit2Exit && Profit2Exit > 0))
{
Print("[Enter] Закрытие по условию Type2");
string msg1 = "";
string msg2 = "";
double P;
double T.P = 0;
for (j=0; j < size; j++)
{
if (Orders[j] == -1) continue;
if (!OrderSelect(Orders[j], SELECT_BY_TICKET)) continue;
if (OrderCloseTime() > 0) continue;
if (StringLen(msg1) > 0) msg1 = msg1 + " + ";
msg1 = msg1 + "order " +Orders[j];
GetOrderProfit(Orders[j], P);
if (StringLen(msg2) > 0) msg2 = msg2 + " + ";
msg2 = msg2 +DoubleToStr(P, 2);
T.P += P;
}
Print("Close: " + msg1);
Print("Прибыль: " + msg2 + " = " + DoubleToStr(T.P, 2));
ArrayCloseOrders(Orders);
Print("[Exit] Закрытие по условию Type2");
return;
}
Orders = -1;
}
}
Как подсчитать количество пунктов
Здравствуйте,
Я понял, что после того, как рынок совершил большое движение (восходящий или нисходящий тренд). Оставшийся рынок является рискованным для торговли. Я пытаюсь запрограммировать советника, чтобы он не входил в сделки, скажем, после большого движения примерно на 90 пунктов.
Мне нужно знать, как рассчитать количество пунктов от первого бара в 8 утра (открытие рынка в Лондоне) до текущего бара. Если рынок уже сдвинулся более чем на 90 пунктов, я не буду принимать никаких сделок.
Может ли кто-нибудь написать несколько строк, чтобы дать мне подсказку? Большое спасибо и благодарю.
Шек
Привет,
Я понял, что после того, как рынок совершил большое движение (восходящий или нисходящий тренд). Оставшийся рынок является рискованным для торговли. Я пытаюсь запрограммировать советника, чтобы он не входил в сделки, скажем, после большого движения примерно на 90 пунктов.
Мне нужно знать, как рассчитать количество пунктов от первого бара в 8 утра (открытие рынка в Лондоне) до текущего бара. Если рынок уже сдвинулся более чем на 90 пунктов, я не буду принимать никаких сделок.
Может ли кто-нибудь написать несколько строк, чтобы дать мне подсказку? Большое спасибо и благодарю.
ШекЕсли необходимо, проверьте сначала, что вы находитесь позже 8 утра:
Then, find the max and min of the current day. (if its ok for you, its easier than from 8 am): [PHP]double Max = iHigh(Symbol(), PERIOD_D1, 0);
double Min = iLow(Symbol(), PERIOD_D1, 0);
int Range = (Max - Min) / Point;
if(Range > 90) return;
...
Я пытаюсь добавить новую функцию в этот индикатор High_Low (Zigzag) V2, чтобы каждый раз, когда он формирует новый high-low, ZZ предупреждал меня. Не знаю, где ошибка. Инди вместо этого не отображается на моем экране. Кто-нибудь? Помогите мне, пожалуйста... Я новичок в кодировании, пожалуйста, уточните то, что я сделал, чтобы инди делала то, что я хочу в приведенном выше примере. Вот код.
high_low_v2_zigzag_with_alert.mq4
Здравствуйте,
Как нарисовать фон прямоугольника? Я имею ввиду через кондинг. Я знаю, что используется ObjectCreate(), но не знаю, как написать это так, как я должен.