[АРХИВ] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 3. - страница 106
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Люди, help: у меня условие в советнике должно быть, чтобы позиция Buy открывалась только в случае, если минимум предыдущей свечи ниже всех минимумов предыдущих 40 свечей. Вопрос: как реализовать этот перебор минимумов предыдущих свечей и выяснить имелся ли минимум ниже минимума предыдущей свечи? Заранее благодарен.
Ай спасибо Вам!)
Ммм... Вот проблемка... Данные должны обновляться при каждом новом тике и только на последние 30 баров... А у меня почему-то данные сохраняются
Помогите найти ошибку!
Я пишу советник работающий на основе стратегии «Черный MACD» (Black MACD):
Валютная пара: любая
Таймфрейм: от 15 и выше.
Индикаторы: EMA(3) EMA(18), RSI(14), MACD(12,26,9)
Убираем у индикатора MACD сигнальную линию, все индикаторы применяем к показателю цены Close.
Сигнал входа на покупку: EMA(3) пересекает EMA(18) снизу вверх, ждем когда MACD выйдет в положительную сторону. Если RSI(14) выше уровня 50, то входим на покупку. Стоп-лосс устанавливаем на последний локальный минимум. Выходим из сделки по обратному пересечению EMAили используем свой подход.
Сигнал на продажу: Обратная ситуация: Пересечение EMA(3) EMA(18) сверху вниз, ждем, когда MACDстанет отрицательным. Если RSI(14) ниже уровня 50, то входим на продажу. Стоп-лосс устанавливаем на последний максимум.
При компиляции кода говорит что не хватает скобки. После долгих поисков я казалось нашел где она должна быть, но после исправления ошибки мне выдало еще 20-30 новых косяков. Подскажите где недачет. ))) Код в приложенном файле.
BlackvMACD.mq4 (5.21 KB) удалить
Прочитал: https://book.mql4.com/ru/variables/arrays . Получается, что я могу организовать двумерный массив допустим для трех пар: double Mas_d[3][2] = {1, 0, 2, 0, 3,0};
при этом держа в уме, что:
значение Mas_d[1][1] соответствует например паре AUDCAD, а Mas_d[1][2] - это значение этой пары;
значение Mas_d[2][1] соответствует например паре AUDCHF, а Mas_d[2][2] - это значение этой пары ;
значение Mas_d[3][1] соответствует например паре AUDJPY, а Mas_d[3][2] - это значение этой пары,
при этом элементы массива сохраняют свои значения в промежутке между тиками. И далее по нужному мне критерию я смогу изменять значения элементов массива. Я правильно понял то, что вы имели ввиду? :)
Да. Подход может быть и не самый лучший, но каждый выбирает его Себе Сам. А потом если нужно модернизирует, оптимизирует! :))
Я вот как раз сейчас Свой подход модернизирую. Не удобно получается в некоторых случаях! :D
Да. Подход может быть и не самый оптимальный, но каждый выбирает его Себе Сам. А потом если нужно модернизирует, оптимизирует! :))
Я вот как раз сейчас Свой подход модернизирую. Не удобно получается в некоторых случаях! :D
Я новичёк и пытался написать пробного эксперта,но при компиляции выдаёт ошибку"'\end_of_program' - ending bracket '}' expected C:\Program Files\ForexClub MT4\experts\trsi01.mq4 (30, 3) " я понимаю что написал как попало,пожалуста скажите где ошибки?
//+------------------------------------------------------------------+
//| trsi01.mq4 |
//| Copyright © 2011, MetaQuotes Software Corp. |
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2011, MetaQuotes Software Corp."
#property link "http://www.metaquotes.net"
double StopLoss=30;
double TakeProfit=100;
double Lots=0.1;
return(0);
int start()
{
if(iRSI(NULL,0,8,PRICE_CLOSE,0)<30)
{
OrderSend(Symbol(),OP_BUY,Lots,Ask,3,Bid-StopLoss*Point,Ask+TakeProfit*Point);
{
if(iRSI(NULL,0,8,PRICE_CLOSE,0)>70)
{
OrderSend(Symbol(),OP_SELL,Lots,Bid,3,Ask+StopLoss*Point,Bid-TakeProfit*Point);
{
return(0);
{
Я новичёк и пытался написать пробного эксперта,но при компиляции выдаёт ошибку"'\end_of_program' - ending bracket '}' expected C:\Program Files\ForexClub MT4\experts\trsi01.mq4 (30, 3) " я понимаю что написал как попало,пожалуста скажите где ошибки?
//+------------------------------------------------------------------+
//| trsi01.mq4 |
//| Copyright © 2011, MetaQuotes Software Corp. |
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2011, MetaQuotes Software Corp."
#property link "http://www.metaquotes.net"
double StopLoss=30;
double TakeProfit=100;
double Lots=0.1;
return(0);
int start()
{
if(iRSI(NULL,0,8,PRICE_CLOSE,0)<30)
{
OrderSend(Symbol(),OP_BUY,Lots,Ask,3,Bid-StopLoss*Point,Ask+TakeProfit*Point);
{
if(iRSI(NULL,0,8,PRICE_CLOSE,0)>70)
{
OrderSend(Symbol(),OP_SELL,Lots,Bid,3,Ask+StopLoss*Point,Bid-TakeProfit*Point);
{
return(0);
{
Ошибка в том, что Вы не прочитали учебник от корки до корки. Если вообще Вы его открывали.
Но явно пропустили вот этот раздел: Условный оператор if - else.
А лучше и правда прочитайте учебник от корки до корки.
Спасибо, учту :). А подскажите пожалуйста, можо ли определить какой минимальный стоп-лосс имеет конкретная пара валют? Ну вот допустим пара EURAUD - тут меньше 100 пунктов поставить нельзя стоп лосс, а для остальных?
https://book.mql4.com/ru/appendix/marketinfo
Как сформировать двоичное число, например, из 7-ми разрядов? И как его потом (для удобства) перевести в десятиричное?