Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Помогите с комментариями в ordersend, пожалуйста
Нужна помощь, пожалуйста У меня есть советник, который имеет 4 различных критерия входа и хотел бы иметь возможность иметь комментарий в ordersend, чтобы дать мне знать, какой критерий входа был выполнен для любой конкретной позиции. Я пытался заставить это работать, но все, что я, кажется, могу сделать, это иметь список, то есть long1, long2, long3 и т.д. Я знаю, что мне нужно сделать что-то другое, чем то, что я делаю сейчас, но не могу придумать, что это может быть. Я приложил версию советника, которую я использую для экспериментов. Так что любая помощь в решении этой проблемы была бы замечательной. Ниже приведено то, что я сейчас вижу.
2007.12.21 21:57:22 euroform V 2.1-exp EURJPY,H1: Error opening BUY order : invalid function parameter value
2007.12.21 21:57:22 euroform V 2.1-exp EURJPY,H1: Взят сигнал Long4
2007.12.21 21:57:22 euroform V 2.1-exp EURJPY,H1: Сигнал Long3 взят
2007.12.21 21:57:22 euroform V 2.1-exp EURJPY,H1: Сигнал Long2 взят
2007.12.21 21:57:22 euroform V 2.1-exp EURJPY,H1: Сигнал Long1 взят
2007.12.21 21:57:22 euroform V 2.1-exp EURJPY,H1: Сигнал Short4 взят
2007.12.21 21:57:22 euroform V 2.1-exp EURJPY,H1: Взят сигнал Short3
2007.12.21 21:57:22 euroform V 2.1-exp EURJPY,H1: Взят сигнал Short2
2007.12.21 21:57:22 euroform V 2.1-exp EURJPY,H1: Сигнал Short1 взят
2007.12.21 21:57:22 euroform V 2.1-exp EURJPY,H1: неверное количество лотов для функции OrderSend
2007.12.21 21:57:22 euroform V 2.1-exp EURJPY,H1: взят сигнал Long4
2007.12.21 21:57:22 euroform V 2.1-exp EURJPY,H1: взят сигнал Long3
2007.12.21 21:57:22 euroform V 2.1-exp EURJPY,H1: Сигнал Long2 взят
2007.12.21 21:57:22 euroform V 2.1-exp EURJPY,H1: Сигнал Long1 взят
2007.12.21 21:57:22 euroform V 2.1-exp EURJPY,H1: Сигнал Short4 взят
2007.12.21 21:57:22 euroform V 2.1-exp EURJPY,H1: Взят сигнал Short3
Спасибо
Бено
Привет, ребята,
У меня есть вопрос.
Я хотел бы научиться писать свои собственные индикаторы, но я понятия не имею, с чего начать.
У меня есть идея в голове и основы того, как это должно работать, но мне нужна небольшая помощь.
Я хочу создать индикатор, который показывает средний максимум, на который валюта уходит с открытия каждый день, то же самое для минимума и то же самое для закрытия.
Таким образом, все они будут представлять собой расстояние от открытия дня в пунктах.
Я бы хотел, чтобы пользователь мог указать, за сколько дней он хочет рассчитать среднее значение.
Таким образом, это будет что-то вроде линий, нарисованных в баре текущего дня и представляющих средний максимум, минимум и закрытие валюты за x дней, и это должно сохранить линии, нарисованные на графике.
Я пытался использовать индикатор скользящей средней в качестве базовой линии для начала, но все это выглядит довольно запутанно. Может ли кто-нибудь упростить мне задачу, разложив все по полочкам, что и где я должен добавить/удалить?
с уважением,
СтивНачните с самого начала, т.е. изучите MQL4. Скачайте электронные книги от CodersGuru, распечатайте их, если вы как я - не умеете читать с экрана, затем прочитайте их.
Прочитайте их снова, если не поняли с первого раза.
Потренируйтесь.
Если вы все еще не понимаете, проверьте как можно больше советников, посмотрите, есть ли сходство с вашим. Поищите объяснение каждой строки в книге CodersGuru, а затем попробуйте написать свою собственную.
Вам может потребоваться некоторое время, чтобы написать свой базовый советник, но как только вы это сделаете, оттачивать его - это вопрос попыток и продолжения попыток.
Удачи.
что с ними не так?
Привет, ребята.
Мой советник сначала основывал свою фиксацию прибыли на трейлинг-стопе. Затем я добавил несколько фибо-точек и начал трейлинг после достижения последней фибо-точки. Но стратегия-тестер не работает с последней разработкой. Пожалуйста, помогите мне найти мою собственную ошибку в следующей программе.
Спасибо.
{
double highest = High;
double lowest = Low;
double p1u = NormalizeDouble((OrderOpenPrice()-lowest)*0.618,4);
double tpb1 = p1u*10000;
double p1d = NormalizeDouble((highest-OrderOpenPrice())*0.618,4);
double tps1 = p1d*10000;
double p2u = NormalizeDouble((OrderOpenPrice()-lowest)*1,4);
double tpb2 = p2u*10000;
double p2d = NormalizeDouble((highest-OrderOpenPrice())*1,4);
double tps2 = p2d*10000;
double p3u = NormalizeDouble((OrderOpenPrice()-lowest)*1.618,4);
double tpb3 = p3u*10000;
double p3d = NormalizeDouble((highest-OrderOpenPrice())*1.618,4);
double tps3 = p3d*10000;
double p4u = NormalizeDouble((OrderOpenPrice()-lowest)*2.382,4);
double tpb4 = p4u*10000;
double p4d = NormalizeDouble((highest-OrderOpenPrice())*2.382,4);
double tps4 = p4d*10000;
double p5u = NormalizeDouble((OrderOpenPrice()-нижняя)*3.236,4);
double tpb5 = p5u*10000;
double p5d = NormalizeDouble((самая высокая-OrderOpenPrice())*3.236,4);
double tps5 = p5d*10000;
for(int i=0; i<OrdersTotal(); i++)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false)
break;
if(OrderMagicNumber()!=magic || OrderSymbol()!=Symbol())
continue;
if(OrderType()<=OP_SELL)
{
if(OrderType()==OP_BUY && Bid>OrderOpenPrice())
{
if((Bid>=OrderOpenPrice()+Point*tpb1) && (OrderStopLoss()!=OrderOpenPrice())))
{
OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*tpb1,0,0,CLR_NONE);
return(0);
}
if((Bid>=OrderOpenPrice()+Point*tpb2) && (OrderStopLoss()!=OrderOpenPrice()+Point*tpb1))
{
OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*tpb2,0,0,CLR_NONE);
return(0);
}
if((Bid>=OrderOpenPrice()+Point*tpb3) && (OrderStopLoss()!=OrderOpenPrice()+Point*tpb2)))
{
OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*tpb3,0,0,CLR_NONE);
return(0);
}
if((Bid>=OrderOpenPrice()+Point*tpb4) && (OrderStopLoss()!=OrderOpenPrice()+Point*tpb3)))
{
OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*tpb4,0,0,CLR_NONE);
return(0);
}
if((Bid>=OrderOpenPrice()+Point*tpb5) && (OrderStopLoss()!=OrderOpenPrice()+Point*tpb4))
{
OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*tpb5,0,0,CLR_NONE);
return(0);
}
if((Bid>=OrderOpenPrice()+Point*(tpb5+ts)) && (OrderStopLoss()+Point*ts<Bid))
{
OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*ts,0,0,CLR_NONE);
return(0);
}
}
else if(OrderType()==OP_SELL && Ask<OrderOpenPrice())
{
if((Ask<=OrderOpenPrice()-Point*tps1) && (OrderStopLoss()!=OrderOpenPrice())))
{
OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*tps1,0,0,CLR_NONE);
return(0);
}
if((Ask<=OrderOpenPrice()-Point*tps2) && (OrderStopLoss()!=OrderOpenPrice()-Point*tps1)))
{
OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*tps2,0,0,CLR_NONE);
return(0);
}
if((Ask<=OrderOpenPrice()-Point*tps3) && (OrderStopLoss()!=OrderOpenPrice()-Point*tps2)))
{
OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*tps3,0,0,CLR_NONE);
return(0);
}
if((Ask<=OrderOpenPrice()-Point*tps4) && (OrderStopLoss()!=OrderOpenPrice()-Point*tps3)))
{
OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*tps4,0,0,CLR_NONE);
return(0);
}
if((Ask<=OrderOpenPrice()-Point*tps5) && (OrderStopLoss()!=OrderOpenPrice()-Point*tps4)))
{
OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*tps5,0,0,CLR_NONE);
return(0);
}
if((AskAsk))
{
OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*ts,0,0,CLR_NONE);
return(0);
}
}
}
}
}Как это предотвратить????
MACDI на 4-часовом графике показывает положительное значение, но если я использую его как индикатор, то получаю продажу, потому что MACDI на 1-минутном графике может стать отрицательным на короткий промежуток времени, но не отражается на 4-часовом графике. Как мне закодировать это, чтобы моя программа получала среднее часовое значение, а не результаты 1-Min.
Дэйв
какой низкий?
Я думаю, вы забыли, какой минимум вы используете в качестве currentlow. Видите ли, я не могу представить, имеете ли вы в виду минимум текущего бара. Если вы имеете в виду то, что я думаю, попробуйте использовать iLowest[]. Посмотрите его в словаре Metaeditor.
пропущенный пункт
Извините, я не заметил, что вы поставили currentlow = 1000;. Но предложение остается в силе. Смотрите, currentlow = 1000; 1000 чего? 1.0000, как в GBP/USD? 1000 пунктов, откуда? Итак, все то же самое, используйте iLowest[] для currentlow. Думаю, это будет работать нормально.
iLowest
Здравствуйте, Сендра,
Спасибо за ваш быстрый ответ.
То, чего я пытаюсь достичь, основано не на максимуме или минимуме любого таймфрейма, а на самой низкой точке перед ретрейсментом Ret1 (75 пунктов). Для начала я сосредоточился на EUR/USD.
CurrentLow должен отслеживать самую низкую точку перед коррекцией.
Ниже приведен пример того, чего я пытаюсь достичь.
a) Допустим, мы открываем советника, цена составляет 1.4000 и колеблется между 1.4030 и 1.3970, прежде чем перейти к 1.4045. Я хочу, чтобы CurrentLow был равен 1.3970 (самая низкая точка) и чтобы первый ордер на продажу был установлен на 1.4045 (Entry1) с SL 1.4195 (SL1 =150 пунктов) и Take Profit (TPA = 75 пунктов) на 1.3970.
б) если цена продолжит расти до 1.4120 (Entry2), я бы хотел установить второй ордер на продажу с тейк-профитом (TPB =76 пунктов) 1.4044 и SL 1.4195 (такой же, как и в первом ордере).
Мой советник, похоже, работает для первого ордера, но не может перейти ко второму ордеру. Я смог заставить его разместить второй ордер, но цена была такой же, как и в первом ордере, а SL был испорчен.
Моя долгосрочная цель состоит в том, чтобы он решал, покупать или продавать, основываясь на индикаторах долгосрочного тренда, и, конечно, чтобы покупка была установлена так же, как эта установка продажи, как показано здесь. Я понятия не имею, будет ли это прибыльным, но я пытаюсь учиться и, несомненно, сделаю миллион изменений, прежде чем работа будет завершена. Я пришел к выводу, что для того, чтобы выяснить, работает ли какая-либо стратегия, ее нужно автоматизировать и исключить человеческий фактор из процесса принятия решений. Очевидно, что необходимо изучить фундаментальные показатели, но это придет позже... возможно.
Любая помощь от Sendra или кого-либо еще будет высоко оценена.
Спасибо
Putz
i Lowest и CurrentLow
Здравствуйте, Sendra,
Чтобы ответить на ваш вопрос о CurrentLow, я задал ему значение 1000, так как оно всегда будет больше любой цены E/U. Это нужно для того, чтобы убедиться, что при открытии он берет первую цену ЕС. Если бы я установил значение 0, цена никогда не была бы ниже, и, следовательно, сделки никогда бы не состоялись.
Я никогда не видел iLowest, но я проверю его, чтобы узнать, будет ли он работать для меня.
Спасибо
Putz
Код - торговля один раз в день
Может ли кто-нибудь помочь мне со скриптом или ea, который заставляет только 1 сделку в день?
Спасибо большое