Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Высота предыдущего бара
Здравствуйте,
Подскажите, пожалуйста, код для предыдущего бара.
Это может быть использовано в советнике для ограничения выставления ордеров, когда предыдущий бар больше определенной высоты.
С уважением,
SIDDESH
Поправьте мой код (основные EMA, STOC и т.д.)
Привет. Я новичок здесь и новичок в кодировании mql4. Я построил несколько кодов, основанных на определенных условиях. Надеюсь, вы, ребята, поможете мне исправить ошибки.
хорошо... давайте начнем
1) EMA CROSS
Покупать, если:
- EMA 5 > EMA 18
- обе линии направлены вверх
- разница между текущей и предыдущей ценой для EMA5 >= 10 пунктов
в настоящее время я использую это:
double EMA5 = iMA(NULL, 0, 5, 0, MODE_EMA, PRICE_CLOSE, 0);
double EMA5_prev = iMA(NULL, 0, 5, 0, MODE_EMA, PRICE_CLOSE, 1);
double EMA18 = iMA(NULL, 0, 18, 0, MODE_EMA, PRICE_CLOSE, 0);
double EMA18_prev = iMA(NULL, 0, 18, 0, MODE_EMA, PRICE_CLOSE, 1);
if (EMA5 > EMA18) {
if ( EMA5 - EMA5_prev >= 10 && EMA18 > EMA_prev) {
Order = BUY;
}
}
[/CODE]
2) RSI
double RSI = iRSI(NULL, 0, 18, PRICE_CLOSE, Current + 0);
double RSI_prev = iRSI(NULL, 0, 18, PRICE_CLOSE, Current + 1);
if (RSI > 50 && RSI > RSI_prev) {
Order = BUY;
}
[/CODE]
3) STOCH
Buy when the Oscillator (either %K or %D) falls below a specific level (e.g., 20) and then rises above that level. Sell when the Oscillator rises above a specific level (e.g., 80) and then falls below that level
[code]
double STOCH_K = iStochastic(NULL, 0, 5, 3, 3, MODE_SMA, 0, MODE_MAIN, 0);
double STOCH_D = iStochastic(NULL, 0, 5, 3, 3, MODE_SMA, 0, MODE_SIGNAL, 0);
if (STOCH_K < 20 || STOCH_D < 20) {
Order = BUY;
}
* i think i've skipped the red one.. dont know how to do that part..
Buy when the %K line rises above the %D line and sell when the %K line falls below the %D line
[code]
double STOCH_K = iStochastic(NULL, 0, 5, 3, 3, MODE_SMA, 0, MODE_MAIN, 0);
double STOCH_D = iStochastic(NULL, 0, 5, 3, 3, MODE_SMA, 0, MODE_SIGNAL, 0);
if (STOCH_K > STOCH_D) {
Order BUY;
} else
if {STOCH_K < STOCH_D) {
Order SELL;
}
4) В кодировке Stoc, MODE_MAIN указывает для чего? MODE_SIGNAL указывает на что?
5) как установить таймер автоматического закрытия и автоматического включения для советника?
Например: установить открытие в 8 утра и закрытие в 5 вечера.
6) как отключить советника на другом графике при открытии поста?
например, использовать советника на 2 парах (GU и EJ), когда открывается пост на GU, отключить советника на EJ...
Извините, если вопрос довольно простой. Надеюсь, вы сможете меня научить. Спасибо.
Сложный стоплосс - вы можете помочь с этим?
Я создал советника для торговли по тренду. Когда прибыль достигает определенного уровня, я хочу переместить стоплосс для ЧАСТИ открытых лотов на этот уровень прибыли. Остальные лоты я бы оставил в покое (или передвинул стоплосс для остальных до уровня безубыточности).
Я не использую тейк-профит.
Как мне это закодировать?
Спасибо,
Big Be
... Когда прибыль достигнет определенного уровня, я хочу переместить стоплосс для ЧАСТИ открытых лотов на этот уровень прибыли. ..
Как мне это закодировать?
Спасибо,
Big BeВы не можете этого сделать, если у вас несколько позиций: по позиции может быть только один SP/TP. Но вы можете закрыть часть позиции: просто поставьте количество лотов, которое вы хотите закрыть в функции OrderClose(...).
Что вы также можете сделать (это зависит от вашего брокера), так это разместить отложенный стоп (хедж) для нужной вам части: затем позже вы должны выполнить команду или функцию "CloseBy".
Вопрос по #импорту
привет всем
Мне нужно вызвать эту функцию API в MT4
int GetMouseMovePoints(
UINT cbSize // размер структуры MOUSEMOVEPOINT
LPMOUSEMOVEPOINT lppt, // указатель на текущую точку перемещения мыши
LPMOUSEMOVEPOINT lpptBuf, // буфер для хранения точек
int nBufPoints, // сколько точек может хранить буфер
DWORD resolution // разрешение точек
);
пожалуйста, скажите мне #import clausule
спасибо
привет всем
необходимо вызвать эту функцию API в MT4
int GetMouseMovePoints(
UINT cbSize // размер структуры MOUSEMOVEPOINT
LPMOUSEMOVEPOINT lppt, // указатель на текущую точку перемещения мыши
LPMOUSEMOVEPOINT lpptBuf, // буфер для хранения точек
int nBufPoints, // сколько точек может хранить буфер
DWORD resolution // разрешение точек
);
пожалуйста, скажите мне #import clausule
спасибоПереместил ваш вопрос в эту тему.
Одна сделка на бар?
Я знаю, что это уже обсуждалось, но может ли кто-нибудь показать мне код, позволяющий только 1 сделку на бар?
Спасибо.
Мишель,
Спасибо.
Я боялся этого.
Теперь мне придется выучить "забавы с магическими числами".
Большой Бе
Вопрос!!!
Как это закодировать?
Если предыдущие 6 сделок были убыточными, я пробовал это, и это не работает!!!
int MTL;
extern MaxTradeLoss=6;
int start()
{
for(int b=0;b<MaxTradeLoss;b++)
{
if(OrderSelect(b,SELECT_BY_POS,MODE_HISTORY)==true)
{
if(OrderSymbol()==Symbol() && OrderProfit()<0)
{
MTL++;
}
}
}
MTL=0;
return(0);
}
Как мне это закодировать?
Если предыдущие 6 сделок были убыточными, я попробовал это, и это не работает!!!
int MTL;
extern MaxTradeLoss=6;
int start()
{
for(int b=0;b<MaxTradeLoss;b++)
{
if(OrderSelect(b,SELECT_BY_POS,MODE_HISTORY)==true)
{
if(OrderSymbol()==Symbol() && OrderProfit()<0)
{
MTL++;
}
}
}
MTL=0;
return(0);
}
Ваше утверждение MTL=0; практически устанавливает MTL на ноль независимо от того, что он считал в цикле "for". Эта строка должна быть до цикла "for", а не после.