Как кодировать? - страница 162

 

Нужна помощь по ошибке кодирования

Здравствуйте

Я совсем новичок в торговле на Форекс, а также в кодировании на MQL4. Мне нужна помощь в настройке ордеров для ордеров SellLimit и BuyLimit. Вот мой код, но я постоянно получаю ошибку Ordersend error 130 или 3. Я не знаю, что не так с кодом.

if (Bid <= LowEnvelope) {OrderSend(Symbol(),OP_SELLLIMIT,lotMM,Bid-EmergencyProfit*Point,0,0,0," Sell Limit Order",MagicNumber,0,Orange);}

Пожалуйста, кто-нибудь может мне помочь? Спасибо

 

Это фантастическое место для обучения

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

 
simonkoen:
Привет

Я совсем новичок в торговле на Форекс, а также в кодировании на MQL4. Мне нужна помощь в настройке Ordersend для ордеров SellLimit и BuyLimit. Вот мой код, но я продолжаю получать ошибку Ordersend 130 или 3. Я не знаю, что не так с кодом.

if (Bid <= LowEnvelope) {OrderSend(Symbol(),OP_SELLLIMIT,lotMM,Bid-EmergencyProfit*Point,0,0,0," Sell Limit Order",MagicNumber,0,Orange);}

Пожалуйста, кто-нибудь может мне помочь? Спасибо

Цена для ордера SellLimit должна быть выше реальной цены, а не ниже.

 

Спасибо

Спасибо Roger9. Теперь я использую seelstop и buystopp, и все работает нормально.

 

get CurrentTime Frame() ?

Простая просьба - может ли кто-нибудь сказать мне, как получить текущий таймфрейм / период, который просматривается? Например, 1 час, 4 часа, 1 день и т.д.

Просмотрел документацию и т.д., не могу найти.

Спасибо.

 
djl:
Простая просьба - может ли кто-нибудь сказать мне, как получить текущий просматриваемый таймфрейм / период? Например, 1 час, 4 часа, 1 день и т.д.

Просмотрел документацию и т.д. и не могу найти.

Спасибо.

Эта функция может помочь вам.

int Period( )

Возвращает количество минут, определяющих используемый период(таймфрейм графика).

Пример:

Print("Период равен ", Period());

 

Еще два вопроса

Привет всем.

Извините за мое плохое написание вчера.

Я хотел бы узнать, как сделать так, чтобы когда я открываю позицию на покупку или продажу и в то же время stopell или stopbuy, как мне присвоить одинаковый номер ордерам, чтобы при срабатывании одного ордера он автоматически закрывал другой. Я знаю, что вы должны быть в состоянии сделать это с магическим числом, но также что-то о времени в магическом числе? Второй вопрос. Когда я помещаю код в раздел ордеров, я заставляю программу открывать только один ордер на этом баре, но когда я делаю это, Ea не запускает ордера, когда условия выполнены, чтобы открыть ордера Когда я удаляю код, он открывает ордера, когда он выполняет условия. Есть мысли, почему так происходит? Вот код.

if(CurrBar != iTime(NULL,0,0))

{

double HighEnvelope = iEnvelopes(Symbol(),0,EnvelopePeriods,MODE_EMA,0,PRICE_MEDIAN,EnvelopeDev,MODE_UPPER,0);

if (Bid >= HighEnvelope && OrdersTotal() <=MaxAllowable_Trades)

{

OrderSend(Symbol(),OP_SELL,lotMM,(Bid),Slippage,(0),0," Sell Order ",MagicNumber,0,White);

OrderSend(Symbol(),OP_BUYSTOP,lotMM,Bid+EmergencyProfit*Point,0,0,0," Pending Buy Order ",MagicNumber,0,DodgerBlue);

CurrBar = iTime(NULL,0,0);

}

}

return;

}

Заранее спасибо за ваше терпение и поддержку.

 

Спасибо.

 

Допустим, Period() =5. Как я могу прочитать тики текущей торговой минуты и секунд в пределах этого Периода? Пример: Minute =3, Seconds=42.

Я хочу проверить условие в моей ea каждые 4 минуты 50 секунд в 5-минутном периоде - помогите!

Дэйв

 
1Dave7:
Допустим, Period() =5. Как я могу прочитать тики текущей торговой минуты и секунд в пределах этого Периода? Пример: Минута =3, Секунды=42.

Я хочу проверить условие в моей ea каждые 4 минуты 50 секунд в 5-минутном периоде - Помогите, пожалуйста!

Дэйв

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

На каждом новом тике будет запускаться функция start кода mql, затем вам нужно будет проследить, является ли время, прошедшее с момента открытия последнего бара, временем, которое вы хотите, с помощью функций Date & Time в MQL.

Если между вашим временем (4мин50сек) и периодом открытия нового бара (5мин) не возникнет нового тика, то я не знаю, как проверить, потому что мне никогда не приходилось этого делать.