[АРХИВ]Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 5. - страница 38

 
keep87:

 все несколько проще, будем работать внутри функции start.

с начало создадим переменную в которую запишем направление прошлой свечи. 

int Candle=-1;

будем ее заполнять определенным занчением, одни из которых будет обозначать что сввеча бычья, другое что медвежья. если -1, значит никакая (не удалось определить либо она без направления close=open).

Значение предлагаю использовать по аналогии с торговым приказом 0 - buy, 1 - sell;

далее пишем:

if(Close[1]>Open[1]) Candle=0; else
   if(Close[1]<Open[1] Candle=1;

вот теперь у нас определено направление и мы его на прямую можем использовать в функции OrderSend( string symbol, int cmd, ...остальная хренотень...);

if(Candle!=-1) OrderSend (Symbol(),Candle,   ...остальная хренотень...);

или же по вашей аналогии:

if(Candle==0) OpenBuy();
if(Candle==1) OpenSell(); 

 Ага, по сути это тоже самое, что тут функцию, что я написал, сравнить с тем что она возвращает. Тока вот в старте не хочется писать весь код, как-то учусь выносить всё отдельно. А логика понятна, благодарю.
 
hoz:

 Так пользуюсь периодически. Вот смотрите, щяс функции так выглядят:

 В журнале читаю:

 Получается изначально от цены покупки до стопа была разница 1.3204 - 1.3194 = 0.001 points

Дальше 1.3210 - 1.3201 = 0.009 points 

И почему-то во втором случает стоп был ближе к цене входа, НО ошибки НЕТ! Я вот думал, и не понял этого.

 Исправил я ошибку позже иначе. Вот в коде уже есть условия:

if(price > Ask) &&  if(price < Bid) соответственно для покупок  и продаж. Или были другие вариант? Щяс ошибок больше нет. Но, тем не менее, хочется выслушать мнение более опытного программиста. 

 


я об этом и писал:

 вторая ошибка в том что вы не проверяете куда вы ставите ордер. 

 
r772ra:

А может так :

if(NumberOfPositions("EURUSD")==0 && NumberOfPositions()<10)
А зесь функция

 


А вот это ближе к истине. Большое спасибо, буду пробовать.
 

подскажите можно ли в mql4 пристыковывать переменные то есть есть две int переменные и их нужно  пристыковать, в одной переменой число 59 а в другой 17, нужно так чтобы вышло 5917 ? 

 
pasha5282:

подскажите можно ли в mql4 пристыковывать переменные то есть есть две int переменные и их нужно  пристыковать, в одной переменой число 59 а в другой 17, нужно так чтобы вышло 5917 ? 


ХМ. Пока не дочитал до конца не понимал, что вы имеет ввиду :) На выходе нужен какой тип данных?

По ходу, я вижу решение данной ситуации так:

1. Переводим числа int 59 и 17 в тип string

2. Далее происходит конкатенация данных получившихся строк.

3. То что вышло переводим снова в тип int

Может есть и другие варианты, но я по другому не мыслю на данный момент.

 
pasha5282:

подскажите можно ли в mql4 пристыковывать переменные то есть есть две int переменные и их нужно  пристыковать, в одной переменой число 59 а в другой 17, нужно так чтобы вышло 5917 ? 

5917= (StrToInteger(DoubleToStr(59.123,0) + DoubleToStr(17.456,0))); 
ххх
 
в языке php можно пристыковывать переменные тоесть    $one = 59; $two = 17;       $decision = $one.$two;   получиться что мы два числа не слагали а "склеили" и получилось 5917  
 
pasha5282:
в языке php можно пристыковывать переменные тоесть    $one = 59; $two = 17;       $decision = $one.$two;   получиться что мы два числа не слагали а "склеили" и получилось 5917  

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

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

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

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

 Честно сказать, я вообще даже не представляю зачем такое может понадобится. Видимо и разработчики об этом не думали.
Причина обращения: