кривой стоп - страница 2

 

а вот фих, вот что выдает. говорю же там 0 на своем месте стоит. кстати, после Lots,Bid,3 вот это 3 - это слиппидж? его тоже нельзя удалять?

2008.02.17 17:39:50 2007.03.05 23:36 Macd EURUSD,Daily: OrderSend error 4111

 
delyus:

а вот фих, вот что выдает. говорю же там 0 на своем месте стоит.

Делюс, у нас же "до правильных цен еще далеко". Был конкретный вопрос по ошибке "wrong parameters count", был конкретный ответ.
И по поводу "а вот фих" тоже были даны вполне конкретные рекомендации...
 

может мне кто-нибудь нормальным языком сказать как будет правильно писать эти строки, чтоб не выдавало ошибку 130, тупо исправьте как должно быть:


ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,Ask+TakeProfit*Point,Bid-StopLoss*Point,"macd sample",16384,0,Blue);

ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,0,Bid-TakeProfit*Point,Ask+StopLoss*Point,"macd sample",16384,0,Red);

 

а правильно будет вот так - для бай ВСЕ рассчитывается по аск, для селл - по бид, эх вы, только и знаете что выделываться а такую элементарную вещь просто запутали

ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,Ask-StopLoss*Point,Ask+TakeProfit*Point,"macd sample",16384,0,Blue);

ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,Bid+StopLoss*Point,Bid-TakeProfit*Point,"macd sample",16384,0,Red);

 
delyus:

эх вы, только и знаете что выделываться а такую элементарную вещь просто запутали

Угу, гениальный Делюс показал тупым форумчанам как надо писать программы.
Всего-то пол-часа (23:27 - 23:58) потребовалось для нахождения истины...
Может, стоило потратить их еще в 12:30 (время создания ветки)?
 

компостер,

но ведь в учебнике про OrderSend написано неправильно https://book.mql4.com/ru/trading/ordersend вот я и указываю на то, что не надо путать мозги форумчанам

 
delyus:

но ведь в учебнике про OrderSend написано неправильно https://book.mql4.com/ru/trading/ordersend вот я и указываю на то, что не надо путать мозги форумчанам

Да что вы говорите! А я и не заметил ;)
Надо сделать выговор Сергею Ковалеву. И премии лишить...
 

delyus,

Это та ситуация, когда просто не знаешь как реагировать..

Возникает вопрос: что Вы тут делаете? Если хотите научиться, то берите учебник и учитесь. Если лень.. задаёте вопросы здесь, Вам отвечают, а Вы не реагируете на ответы. Вам просто нравится сообщать на весь рунет своё личное мнение по вопросам, с которыми Вы только начали знакомиться?

Подумайте хотя бы о том, что Вы сбиваете с толку других посетителей. Ведь они могут решить, что действительно что-то неправильно написано.

В следующий раз, прежде чем положить руки на клавиатуру, задумайтесь о том, что Вы хотите поведать мировому сообществу.

 
SK. писал (а):

delyus,

Это та ситуация, когда просто не знаешь как реагировать..

Возникает вопрос: что Вы тут делаете? Если хотите научиться, то берите учебник и учитесь. Если лень.. задаёте вопросы здесь, Вам отвечают, а Вы не реагируете на ответы. Вам просто нравится сообщать на весь рунет своё личное мнение по вопросам, с которыми Вы только начали знакомиться?

Подумайте хотя бы о том, что Вы сбиваете с толку других посетителей. Ведь они могут решить, что действительно что-то неправильно написано.

В следующий раз, прежде чем положить руки на клавиатуру, задумайтесь о том, что Вы хотите поведать мировому сообществу.



Извените... но у Вас действительно нигде неуказано что все расчёты для покупки должны вестись от ASK, а наоборот, указано следущее:
//--------------------------------------------------------------------
// simpleopen.mq4
// Предназначен для использования в качестве примера в учебнике MQL4.
//--------------------------------------------------------------------
int start () // Спец. функция start()
{ // Открытие BUY
OrderSend ( Symbol (), OP_BUY, 0.1, Ask, 3, Bid - 15.5 * Point, Bid + 15 * Point ) ;
return ; // Выход из start()
}
//--------------------------------------------------------------------
Но ведь это не верный код...при такой установке ордера мы получаем профит меньший на величину спреда, а стоп больший на величину спреда...Это видно из дальнейшего Вашего примера :
------------------------------------------------------------------------------------------------------------------

3.1. Мы прикрепили скрипт в окно финансового инструмента Eur/Usd. В этом случае стандартная функция Symbol() вернёт строковое значение EURUSD.

3.2. Пусть на момент обращения Ask =1.2852 и Bid =1.2850 .

3.3. Значение StopLoss в этом случае будет равно 1.2850-15*0.0001 = 1.2835, а TakeProfit = 1.2865 .

------------------------------------------------------------------------------------------------------------------

Здесь прекрасно видно что вместо заявленных равных профита и стопа в 15 пунктов мы получим профит в 13, а стоп в 17 пунктов...

Именно на это и указал delyus.

Уж не знаю как там с точки зрения правильности написания в языке, но с точки зрения элементарной логики и простейшей арифметики все расчёты для BUY должны

вестись от Ask . А для SELL соответственно от Bid .

Либо в формулах должна присутствовать добавка в виде MODE_SPREAD ... Но тогда мы всё равно получаем все расчёты для BUY по Ask, для SELL по Bid.

 
SK. писал (а):

Для того, чтобы узнать, есть два способа:
1. Писать программы наугад, постоянно ошибаясь и дёргая всех вокруг вопросом "а как правильно?" (революционный способ).
2. Взять Учебник и всё узнать, постепенно и последовательно привыкая к терминологии и овладевая знаниями (академический способ).

История многократно подтверждала, что академический способ в конечном счёте всегда даёт лучший результат.


на самом деле, у метаквотесов на удивление хороший хелп. на мой взгляд, достаточно 1 раз пробежаться по нему от корки до корки, чтобы начать писать программы без дополнительных "костылей". поскольку будут ясны возможности инструмента.

впрочем, книги "mql4 за 7 минут" или "mql4 для полных идиотов" наверняка будут пользоваться популярностью! :-)

Причина обращения: