Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Помощь в создании индикаторов для ea
Отличная стратегия, найденная мной, много пипсов в ожидании
ПРИВЕТ ВСЕМ Я НАШЕЛ СТРАТЕГИЮ НА ВСЕХ ВАЛЮТАХ И МНЕ НУЖНО ЧТОБЫ ВЫ СДЕЛАЛИ EA ДЛЯ МЕНЯ ПРОВЕРЬТЕ ЭТО...
1 MA_Period= 2 MA_shift= -5 MA_Method= 3 (YELLOW)
2 MA настройки MA_Period= 4 MA_shift= -5 MA_Method= 3 (КРАСНЫЙ)
3 настройки МА MA_Period= 200 MA_shift= 0 MA_Method= 0 (ЖЕЛТЫЙ)
КОРОТКИЙ СИГНАЛ: КОГДА ЖЕЛТЫЙ И КРАСНЫЙ ЦВЕТА ПЕРЕСЕКАЮТ ТИЛ ЛИБО ВВЕРХ, ЛИБО ВНИЗ.
ДАВАЙТЕ СДЕЛАЕМ НЕСКОЛЬКО EA, ЧТОБЫ ЭТО РАБОТАЛО, И ДАВАЙТЕ СДЕЛАЕМ EA МОДИФИЦИРОВАННОЙ САМОЙ, КОГДА ЦЕНА ДВИЖЕТСЯ К 10 ПИПСАМ НЕТ СТОП ЛОСС БУДЕТ ДВИГАТЬСЯ К 2 ПИПСАМ ЖДУ ЛУЧШЕГО ПРОГРАММИСТА....
Нужна помощь в программировании мониторинга цены
привет всем, у меня возник вопрос по программированию на MT4, как я могу сделать так, чтобы советник отслеживал цену, например, если цена поднимется до определенного уровня, то он будет инициализировать другой набор ордеров? Я приложил код моего советника здесь , большое спасибо за помощь
//+------------------------------------------------------------------+
//| Auto Pipforia.mq4 |
//| Copyright ?2009, MetaQuotes Software Corp. |
//| Программное обеспечение для торговли на рынке Форекс: Торговая платформа MetaTrader 4 |
//+------------------------------------------------------------------+
extern double AnchorSpace = 0.0017;
extern double GridSpace = 0.0017;
extern double AnchorLot = 0.03;
extern double Level1 = 0.06;
extern double Level2 = 0.11;
extern double Level3 = 0.11;
extern double Level4Up = 0.11;
extern int MagicNumber = 1001;
extern double Profit_Target=0;
double SendCount=0;
int start()
{
int divider=(Ask-Bid)/2;
double MidPrice=Ask-divider;
double Buy=MidPrice+AnchorSpace;
SendOrders(Buy);
MonitorProfit();
return(0);
}
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
void SendOrders(double Buy)
{
if(SendCount<3){
OrderSend(Symbol(),OP_BUYSTOP,AnchorLot,Buy,0,0,0, "MagicNumber",MagicNumber,0,Green);
Buy=Buy+GridSpace;
OrderSend(Symbol(),OP_BUYSTOP,Level1,Buy,0,0,0, "MagicNumber",MagicNumber,0,Green);
Buy=Buy+GridSpace;
OrderSend(Symbol(),OP_BUYSTOP,Level2,Buy,0,0,0, "MagicNumber",MagicNumber,0,Green);
SendCount=3;
}
else if (SendCount==3)
{
return();
}
}
//+------------------------------------------------------------------+
void MonitorProfit()
{
// double Percent=Profit_Percentage/100;
int total = OrdersTotal();
double MyCurrentProfit=0;
for (int cnt = 0 ; cnt < total ; cnt++)
{
OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
if (OrderMagicNumber() == MagicNumber)
MyCurrentProfit += OrderProfit();
}
if (MyCurrentProfit>= Profit_Target){
for(int i=total-1;i>=0;i--)
{
OrderSelect(i, SELECT_BY_POS);
if (OrderMagicNumber() == MagicNumber)
{
OrderClose( OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(),()), 5, Red );
OrderDelete( OrderTicket() );
}
}
}
else()
{
return();
}
}
// вот часть, которую нужно запрограммировать.
//+------------------------------------------------------------------+
void MonitorPrice()
{
if(Buy-Ask<=20 Point || Bid-Sell<=20 Point)
{
To tendyhk-
Ваш вопрос не совсем понятен, но "20 пунктов" следует читать как "20*пункт".
Big Be
To Kimito2
Я верю, что это можно сделать, и я верю, что смогу это сделать. Большинство задач у меня уже есть в моем собственном длинном советнике. Это не будет дешево, потому что я ценю свое время.
Big Be
как заключить сделку с циклом?
привет
У меня есть советник, и я хотел бы, чтобы он работал с циклом.
У меня есть 5 переменных
double ma1 = iMA(NULL, 0, 1, 0, MODE_EMA, PRICE_CLOSE, Current + 0);
double sar = iSAR(NULL, 0, 0.02, 0.2, Current + 0);
double Macd=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,Current + 0);
double Signal=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_SIGNAL,Current + 0);
string var_trading="ok";
условием для торговли является :
******************************
if (Period()==1)
{
double ma_buy = ma1>sar && Macd>Signal && var_trading=="ok" ;
}
******************************
И вот что я хочу:
1/ начало торговли
2/ значение для var_trading стало "нет" --> var_trading="нет"
3/ Окончание сделки (тейкпрофит или стоплосс)
4/ Новая сделка может начаться, потому что var_trading=="no"
5/ ВАЖНО: когда ma1 var_trading=="ok"
6/ Когда ma1 > sar снова и если Macd>Signal ====> начинается новая сделка!
7/ и значение для var_trading стало "нет" --> var_trading="нет"
8/ etc....
*******************************
Как я могу сделать?
По многим причинам я не хочу этого (см. мой код, пожалуйста)
double ma_buy = ma1p1sar && Macd>Signal && var_trading=="ok" ;
С наилучшими пожеланиями
Программисты, пожалуйста, помогите мне в этом
Я пытаюсь преобразовать индикатор в советник. Индикатор использует "int counted_bars = IndicatorCounted()" для подсчета баров, в советнике я думаю я не могу использовать это, так как это связано с индикатором.
Как я могу решить эту проблему.
Ваша помощь будет оценена по достоинству
Спасибо
Если вы хотите использовать индикатор в советнике, лучше/проще всего использовать функцию iCustom. Посмотрите в файле справки, как ее использовать.
Удачи
Lux
@luxinterior, спасибо за ваш ответ
мне выдало вот такую ошибку что это значит?
2009.06.16 08:23:11 TestGenerator: ошибка несопоставленных данных (превышен лимит объема 66 в 2009.06.15 20:45)