Советники: HTH Trader - страница 4

 

Не понятно! Разные условия открытия позиций. В описании дается так:

  • Когда отклонение за предыдущий день по EURUSD положительное, советник открывает длиннные позиции по EURUSD и USDCHF, и короткие по GBPUSD и LONG AUDUSD.
  • В таком случае EURUSD хеджируется с помощью USDCHF, EURUSD - с помощью GBPUSD, USDCHF с помощью AUDUSD, а GBPUSD - с помощью AUDUSD.
  • Когда отклонение за предыдущий день по EURUSD отрицательное, советник открывает короткие позиции по EURUSD и USDCHF, и длинные - по GBPUSD и AUDUSD.

А в коде прописано вот так:

if(trade==true && d_c11>0) //Previous Day's Deviation is Positive
{
//LONG EURUSD
OrderSend(C1,OP_BUY,lot,MarketInfo(C1,MODE_ASK),3,0,0,"Hedge"+C1,MagicNumber1);
if (ticket1<0){verifyorder(C1,MagicNumber1,"LONG");}Sleep(5000);

//LONG USDCHF
OrderSend(C2,OP_BUY,lot,MarketInfo(C2,MODE_ASK),3,0,0,"Hedge"+C2,MagicNumber2);
if (ticket2<0){verifyorder(C2,MagicNumber2,"LONG");}Sleep(5000);

//SHORT GBPUSD
OrderSend(C3,OP_SELL,lot,MarketInfo(C3,MODE_BID),3,0,0,"Hedge"+C3,MagicNumber3);
if (ticket3<0){verifyorder(C3,MagicNumber3,"SHORT");}Sleep(5000);

//LONG AUDUSD
OrderSend(C4,OP_BUY,lot,MarketInfo(C4,MODE_ASK),3,0,0,"Hedge"+C4,MagicNumber4);
if (ticket4<0){verifyorder(C4,MagicNumber4,"LONG");}Sleep(5000);
}


if(trade==true && d_c11<0) //Previous Day's Deviation is Negative
{
//LONG EURUSD
OrderSend(C1,OP_SELL,lot,MarketInfo(C1,MODE_BID),3,0,0,"Hedge"+C1,MagicNumber1);
if (ticket1<0){verifyorder(C1,MagicNumber1,"SHORT");}Sleep(5000);

//LONG USDCHF
OrderSend(C2,OP_SELL,lot,MarketInfo(C2,MODE_BID),3,0,0,"Hedge"+C2,MagicNumber2);
if (ticket2<0){verifyorder(C2,MagicNumber2,"SHORT");}Sleep(5000);

//SHORT GBPUSD
OrderSend(C3,OP_BUY,lot,MarketInfo(C3,MODE_ASK),3,0,0,"Hedge"+C3,MagicNumber3);
if (ticket3<0){verifyorder(C3,MagicNumber3,"LONG");}Sleep(5000);

//LONG AUDUSD
OrderSend(C4,OP_SELL,lot,MarketInfo(C4,MODE_BID),3,0,0,"Hedge"+C4,MagicNumber4);
if (ticket4<0){verifyorder(C4,MagicNumber4,"SHORT");}Sleep(5000);
}

Т.е. в коде условия одинаковые для любого отклонения.

А как, всетаки, как должно быть?

Вероятно из-за этого сегодня позиции открылись неверно.

 

Не так ли должно быть для отрицательного отклонения

if(trade==true && d_c11<0) //Previous Day's Deviation is Negative
         {
            //SHORT EURUSD
            RefreshRates();
            ticket1=OrderSend(C1,OP_SELL,lot,MarketInfo(C1,MODE_BID),3,0,0,"Hedge"+C1,MagicNumber1);
            if (ticket1<0){verifyorder(C1,MagicNumber1,"SHORT");}Sleep(5000);
            //SHORT USDCHF
            RefreshRates();
            ticket2=OrderSend(C2,OP_SELL,lot,MarketInfo(C2,MODE_BID),3,0,0,"Hedge"+C2,MagicNumber2);
            if (ticket2<0){verifyorder(C2,MagicNumber2,"SHORT");}Sleep(5000); 
            //LONG GBPUSD
            RefreshRates();
            ticket3=OrderSend(C3,OP_BUY,lot,MarketInfo(C3,MODE_ASK),3,0,0,"Hedge"+C3,MagicNumber3);
            if (ticket3<0){verifyorder(C3,MagicNumber3,"LONG");}Sleep(5000); 
            //LONG AUDUSD
            RefreshRates();
            ticket4=OrderSend(C4,OP_BUY,lot,MarketInfo(C4,MODE_BID),3,0,0,"Hedge"+C4,MagicNumber4);
            if (ticket4<0){verifyorder(C4,MagicNumber4,"SHORT");}Sleep(5000); 
         }
 
Vkorch:

Не понятно! Разные условия открытия позиций. В описании дается так:

  • Когда отклонение за предыдущий день по EURUSD положительное, советник открывает длиннные позиции по EURUSD и USDCHF, и короткие по GBPUSD и LONG AUDUSD.
  • В таком случае EURUSD хеджируется с помощью USDCHF, EURUSD - с помощью GBPUSD, USDCHF с помощью AUDUSD, а GBPUSD - с помощью AUDUSD.
  • Когда отклонение за предыдущий день по EURUSD отрицательное, советник открывает короткие позиции по EURUSD и USDCHF, и длинные - по GBPUSD и AUDUSD.

А в коде прописано вот так:

if(trade==true && d_c11>0) //Previous Day's Deviation is Positive
{
//LONG EURUSD
OrderSend(C1,OP_BUY,lot,MarketInfo(C1,MODE_ASK),3,0,0,"Hedge"+C1,MagicNumber1);
if (ticket1<0){verifyorder(C1,MagicNumber1,"LONG");}Sleep(5000);

//LONG USDCHF
OrderSend(C2,OP_BUY,lot,MarketInfo(C2,MODE_ASK),3,0,0,"Hedge"+C2,MagicNumber2);
if (ticket2<0){verifyorder(C2,MagicNumber2,"LONG");}Sleep(5000);

//SHORT GBPUSD
OrderSend(C3,OP_SELL,lot,MarketInfo(C3,MODE_BID),3,0,0,"Hedge"+C3,MagicNumber3);
if (ticket3<0){verifyorder(C3,MagicNumber3,"SHORT");}Sleep(5000);

//LONG AUDUSD
OrderSend(C4,OP_BUY,lot,MarketInfo(C4,MODE_ASK),3,0,0,"Hedge"+C4,MagicNumber4);
if (ticket4<0){verifyorder(C4,MagicNumber4,"LONG");}Sleep(5000);
}


if(trade==true && d_c11<0) //Previous Day's Deviation is Negative
{
//LONG EURUSD
OrderSend(C1,OP_SELL,lot,MarketInfo(C1,MODE_BID),3,0,0,"Hedge"+C1,MagicNumber1);
if (ticket1<0){verifyorder(C1,MagicNumber1,"SHORT");}Sleep(5000);

//LONG USDCHF
OrderSend(C2,OP_SELL,lot,MarketInfo(C2,MODE_BID),3,0,0,"Hedge"+C2,MagicNumber2);
if (ticket2<0){verifyorder(C2,MagicNumber2,"SHORT");}Sleep(5000);

//SHORT GBPUSD
OrderSend(C3,OP_BUY,lot,MarketInfo(C3,MODE_ASK),3,0,0,"Hedge"+C3,MagicNumber3);
if (ticket3<0){verifyorder(C3,MagicNumber3,"LONG");}Sleep(5000);

//LONG AUDUSD
OrderSend(C4,OP_SELL,lot,MarketInfo(C4,MODE_BID),3,0,0,"Hedge"+C4,MagicNumber4);
if (ticket4<0){verifyorder(C4,MagicNumber4,"SHORT");}Sleep(5000);
}

Т.е. в коде условия одинаковые для любого отклонения.

А как, всетаки, как должно быть?

Вероятно из-за этого сегодня позиции открылись неверно.

извините ребята, тут перевод с английского на русский был не прав.



Вот как должно быть:


отклонения(+) длинные позиции по EURUSD и USDCHF, и короткая по GBPUSD и длинная по AUDUSD.



В таком случае EURUSD хеджируется с помощью USDCHF, EURUSD - с помощью GBPUSD, USDCHF с помощью AUDUSD, а GBPUSD - с помощью AUDUSD.



"Т.е. в коде условия одинаковые для любого отклонения."

(trade==true && d_c11>0)

(trade==true && d_c11<0)

 

А это утверждение верно или нет

  • Когда отклонение за предыдущий день по EURUSD отрицательное, советник открывает короткие позиции по EURUSD и USDCHF, и длинные - по GBPUSD и AUDUSD.
 

Все верно. Не верен перевод. На английском выглядит так

When the deviation of previous day for EURUD is negative, the EA enters with the SHORT EURUSD, SHORT USDCHF, LONG GBPUSD and SHORT AUDUSD

а на русском так

Когда отклонение за предыдущий день по EURUSD отрицательное, советник открывает короткие позиции по EURUSD и USDCHF, и длинные - по GBPUSD и AUDUSD

 

Тогда в коде эти места соответствуют логике системы

if(trade==true && d_c11<0) //Previous Day's Deviation is Negative
{
//LONG EURUSD
RefreshRates();
ticket1=OrderSend(C1,OP_SELL,lot,MarketInfo(C1,MODE_BID),3,0,0,"Hedge"+C1,MagicNumber1);
if (ticket1<0){verifyorder(C1,MagicNumber1,"SHORT");}Sleep(5000);

//LONG USDCHF
RefreshRates();
ticket2=OrderSend(C2,OP_SELL,lot,MarketInfo(C2,MODE_BID),3,0,0,"Hedge"+C2,MagicNumber2);
if (ticket2<0){verifyorder(C2,MagicNumber2,"SHORT");}Sleep(5000);

//SHORT GBPUSD
RefreshRates();
ticket3=OrderSend(C3,OP_BUY,lot,MarketInfo(C3,MODE_ASK),3,0,0,"Hedge"+C3,MagicNumber3);
if (ticket3<0){verifyorder(C3,MagicNumber3,"LONG");}Sleep(5000);

//LONG AUDUSD
RefreshRates();
ticket4=OrderSend(C4,OP_SELL,lot,MarketInfo(C4,MODE_BID),3,0,0,"Hedge"+C4,MagicNumber4);
if (ticket4<0){verifyorder(C4,MagicNumber4,"SHORT");}Sleep(5000);

 

Да все в порядке! Автор копировал комментарий из блока в блок и забыл исправить. Исправьте комментарий в соответствии с кодом, а в коде все правильно и в русской и в английской версии.

 
granit77:

Да все в порядке! Автор копировал комментарий из блока в блок и забыл исправить. Исправьте комментарий в соответствии с кодом, а в коде все правильно и в русской и в английской версии.

Уже сделал.

 
granit77:
c0d3:

скоро будет, готова

Немного отредактировал техзадание.

Готова, скоро новый советник будет на сайте!!!

 
c0d3:

Готова, скоро новый советник будет на сайте!!!

OK, спасибо! Ждем с нетерпением. Думаю, что правильно было бы разместить его в новой публикации.

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