Жар-птица EA - страница 58

 
 

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

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

Я заглянул в настройки в файле set и там написаны следующие настройки:

extern int MAtype=0;//0=close, 1=HL

extern int TradeOnFriday =0; // >0 trades on friday[/CODE]

But inside the code I found the following:

if(MAtype==0)

{

double myMA =iMA(NULL,MA_timeframe,MA_length,0,MODE_SMA,PRICE_OPEN,0);[/CODE]

So, according to my limited programming knowledge, if MAtype=0 so EA is using MA indicator on open price for current open bar.

And some other codes:

[CODE]KeepStopLoss=OrderStopLoss();

And more:

[CODE]if(KeepStopLoss!=0)

{

spread=MathAbs(KeepAverage-KeepStopLoss)/2;

dummy=(Bid+Ask)/2;

if (KeepStopLoss(dummy-spread))

{

// a stoploss was hit

if(Direction==1) Direction=11;// no more longs

if(Direction==2) Direction=22;// no more shorts

}

KeepStopLoss=0;

}

Direction==1 - длинный; Direction==11 - больше не длинный.

Направление==2 короткое; Направление==22 больше не короткое.

 

И посмотрите на этот код

if((myMA*(1+Percent/100))<Bid && Direction!=22 && (Bid>=(LastPrice+(CurrentPipStep*Point)) || myTotal==0) )[/CODE]

So, it is not surprise when EA is openning too many orders sometimes. It is open price and when market is moving very quickly so we may have condition for open the order 100 times on open bar.

May be it should be && instead of or (||) here?

[CODE]....|| myTotal==0) )
 

Таким образом, очень хорошо, что мы хотя бы знаем день, когда EA будет летать: это может быть 5 число каждого месяца.

 

Но, возможно, вы правы.

Потому что мы можем "перевести" этот код

if (Day()!=5 || TradeOnFriday >0)[/CODE]

as the following:

"if it is not 5th of the month, or if we are trading on Friday."

And int Day( ) is the following:

Returns the current day of the month, i.e., the day of month of the last known server time.

So, EA will trade is it is not 5th of the month (5th of October for example) or TradeOnFriday>0 (we are having TradeOnFriday=0).

I think it should be DayOfWeek( ) instead of Day( ):

[CODE]int DayOfWeek( )

Returns the current zero-based day of the week (0-Sunday,1,2,3,4,5,6) of the last known server time.
 

Хеджирование

Привет всем,

У меня вопрос по Firebird v3.2.

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

Разве он не должен закрывать все позиции, когда закрывается одна из его позиций?

Что если цена не вернется к открытой позиции в течение очень долгого времени?

рбк

 
newdigital:
Но, возможно, вы правы.

Потому что мы можем "перевести" этот код

if (Day()!=5 || TradeOnFriday >0)[/CODE]

as the following:

"if it is not 5th of the month, or if we are trading on Friday."

And int Day( ) is the following:

Returns the current day of the month, i.e., the day of month of the last known server time.

So, EA will trade is it is not 5th of the month (5th of October for example) or TradeOnFriday>0 (we are having TradeOnFriday=0).

I think it should be DayOfWeek( ) instead of Day( ):

[CODE]int DayOfWeek( )

Returns the current zero-based day of the week (0-Sunday,1,2,3,4,5,6) of the last known server time.

Привет, newdigital,

на самом деле все немного хуже, поскольку советник продолжает торговать, но у него заморожены LastPrice и Myorders, которые используются позже для управления рисками. При их заморозке произойдет следующее. 1. Нет ограничений на количество принятых ордеров и 2. Если цена дрейфует в диапазон страйков, она будет продолжать бить туда, потому что Lastprice не будет следовать за последним ордером.

Я проверил, Lastprice не обновляется по мере торговли, поэтому он должен войти в цикл под оператором if для обновления.

Я думаю, что оператор If (Day()) должен быть удален, а вся логика блока Friday должна быть размещена там, где была размещена логика временного фильтра. (не уверен, что в V3.2 он есть, но в V3.2 он есть). Если это не кажется прибыльным, то можно повысить риск, так как управление капиталом всегда будет работать.

rbc

 

Привет, Рбчапин,

Большое спасибо.

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

Я продолжу тестировать советник и буду обновлять поток файлов https://www.mql5.com/en/forum/176044/page2 с сообщением "ошибка найдена".

 

Вчера Жар-птица снова летала.

Файлы:
firebird065.zip  546 kb