Спрашивайте! - страница 128

 
:: поместите ваши внешние переменные (вы составили список) в том же порядке в вашу функцию iCustom, убедитесь, что они все у вас есть.
Dave137:
Как мне написать iCustom вход для советника. Имя индикатора - CycleTarget.

Вот переменные индикатора:

extern int PriceActionFilter=1;

extern int Length=3;

extern int MajorCycleStrength=4;

extern bool UseCycleFilter=false;

extern int UseFilterSMAorRSI=1;

extern int FilterStrengthSMA=12;

extern int FilterStrengthRSI=21;

a=iCustom(NULL,0,????????????,0,0); Что использовать для заполнения ????

Запутался???

Дэйв
 

Спасибо за помощь In10tion

Я не пытаюсь быть расплывчатым.

Я вернусь, когда буду знать, что хочу сказать.

Еще раз спасибо

Jbear

 
:: пожалуйста, проверьте сначала вашу документацию (я дал вам ссылку о orderSend)... Только orderSend может заполнить вашу переменную комментария в вашем ордере, после этого вы не можете изменить его больше... поэтому OrderClose не имеет другой возможности изменить его... и поставить вам функцию "print" (log) всякий раз, когда есть подтверждение закрытия вашего ордера.
forexarchitect:
помогите пожалуйста

где и как я могу добавить код, чтобы я мог добавить текст в колонку "комментарий" в терминале.

пример - я хочу добавить текстовый комментарий "Ордер закрыт по условию типа 9c".

также, где я могу поместить Print log "Close by condition Type 9c".

спасибо

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

//| Close Condition Type 9c

//| CHECK ACCOUNT HISTORY BALANCE then close biggest price different

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

void CheckCloseConditionType9c()

{

int ticket1;

double max_dist;

for (;;)

{

ticket1 = -1;

int cnt = OrdersTotal();

for (int 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) == false) continue;

RefreshRates();

if (ticket1 == -1 || MathAbs(Bid - OrderOpenPrice()) > max_dist)

{

ticket1 = OrderTicket();

max_dist = MathAbs(Bid - OrderOpenPrice());

}

}

if (ticket1 == -1) break;

//-----

double today_hist_profit = GetTodayProfit(MODE_HISTORY);

if (today_hist_profit <= Profit2ExitTodayBalance) break;

if (OrderSelect(ticket1, SELECT_BY_TICKET))

{

double lot = PartialCloseLot;

if (lot > OrderLots()) lot = OrderLots();

for (i=0; i < RepeatN; i++)

{

RefreshRates();

bool res = OrderClose(OrderTicket(), lot, OrderClosePrice(), Slippage, clClose);

if (res) break;

}

}

}

}
 
Linuxser:
Привет JBear, Просто не забудьте нажать на "Запомнить меня" в каждом браузере (Firefox, Opera, Explorer, Safari...) и не ограничивайте куки.

Спасибо Linuxser.

Готово

 

понял... спасибо

 

Пакетный заказ?

Может ли кто-нибудь помочь мне составить "пакетный заказ"? Я хотел бы иметь что-то, что позволит мне вводить две отдельные позиции одним нажатием кнопки. Обычно я торгую в хеджированных позициях. У меня есть несколько разных пар, которыми я торгую в разное время. Все, что я хотел бы иметь, это советник, который в момент, когда я включаю его, будет (например) вводить меня в длинную позицию на 1 лот по EURUSD и короткую на 1 лот по GBPUSD. Может ли кто-нибудь помочь мне с этим кодом? Было бы гораздо приятнее просто нажать одну кнопку, а не открывать один график, нажимать новый ордер, нажимать buy, а потом бежать открывать следующий график, нажимать новый ордер и продавать.

Спасибо,

EZ

 

пакетный заказ

Привет,

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

Таким образом, у вас есть несколько мгновенных ордеров, размещенных на графиках нескольких валют.

Проблема в том, чтобы решить, что вы хотите, купить или продать, но это может помочь вам, пока не появится что-то лучшее.

PG

 

и или

привет, ребята

У меня есть вопрос... как мне изменить следующее;

extern double MaxLot = 1.50;

double max_lot = GetMaxLot(OP_BUY, OP_SELL);

if (max_lot >= MaxLot) lot = CalcHedgeLot(order_type;)

(order_type)]: ", lot);

if (lot == -1) return (lot);

lot = NormalizeDouble(lot, LotPrec);

if (lot > MaxLot) lot = MaxLot;

if (lot < MinLot) lot = MinLot;

return (lot);

}

вышеописанная проверка для OP_BUY и OP_SELL

вопрос: как мне изменить это на любой OP_BUY ИЛИ любой OP_SELL

спасибо

 

Может ли кто-нибудь подсказать мне код MQL4 для подсчета только видимых баров?

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

.... int counted_bars = window() или int window() = Bars-window().

Но опять же, старое серое вещество уже не то, что раньше...

 
Sadly:
Кто-нибудь может подсказать, какой код на MQL4 для подсчета только видимых баров?

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

.... int counted_bars = window() или int window() = Bars-window().

Но опять же, старое серое вещество уже не то, что раньше...

Это то, что вы ищете?

-----------

int bars_count=WindowBarsPerChart();

int bar=WindowFirstVisibleBar();

-----------

Goen

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