낮음과 높음 - 페이지 2

 

나는 얼마나 가나? Bars-1 수는 무엇입니까?

 
if(시간() == 17 && gethighlows == true)
{
gethighlows = 거짓;
HighValue=높음[ iHighest (NULL,15,MODE_HIGH,8,1)]; // 15:00-17:00 사이의 8 M15 막대
LowValue=낮음[iLowest(NULL,15,MODE_LOW,8,1)]; // 15:00-17:00 사이의 8 M15 막대
}
 
fxcourt :
if(시간() == 17 && gethighlows == true)
{
gethighlows = 거짓;
HighValue=높음[ iHighest (NULL,15,MODE_HIGH,8,1)]; // 15:00-17:00 사이의 8 M15 막대
LowValue=낮음[iLowest(NULL,15,MODE_LOW,8,1)]; // 15:00-17:00 사이의 8 M15 막대
}

작동하지 않습니다! 정말 어떻게 해야할지 모르겠어...

 
01005379 :

[...]

작동하지 않습니다! 정말 어떻게 해야할지 모르겠어...

어떤 방식으로 작동하지 않습니까? 값이 잘못 되었습니까? 그들은 전혀 계산되지 않습니까?

 
jjc :

어떤 방식으로 작동하지 않습니까? 값이 잘못 되었습니까? 그들은 전혀 계산되지 않습니까?

나는 그것을 이해할 수 없습니다. 나는 가격이 HighValue보다 클 때 매수를 시작하고 매도를 위해 그 반대의 경우를 주문해야 합니다.

모니터에서 이 값을 어떻게 쓸 수 있습니까? Print("높은 값: ",높은 값);

나는 그것이 이 값이 무엇인지 찾는 유일한 방법이라고 생각하지만 15.00과 17.00 사이에서 높거나 낮지 않습니다.

 
m15 차트를 사용하고 있습니까?
 

네. 가장 좋은 방법은 여기에 코드를 넣은 다음 누군가가 해결책을 찾는 것이라고 생각합니다.


if(시간() == 17 && gethighlows == true)
{
gethighlows = 거짓;
TopRange=높음[iHighest(NULL,15,MODE_HIGH,8,1)]; // 15:00-17:00 사이의 8 M15 막대
LowRange=낮음[iLowest(NULL,15,MODE_LOW,8,1)]; // 15:00-17:00 사이의 8 M15 막대
}

//-----

if (시() ==0 && (분()==0 && (초()==1)))
{
TopRange=0;
낮은 범위 = 0;
샀다=거짓;
판매됨=거짓;
sessionfound=거짓;
}
//-----
bool TradeDayOK=(DayOfWeek()>=1) && (DayOfWeek()<=5);
if ((DayOfWeek()==1) && (Trade_on_Monday==true)) TradeDayOK=true;

//-----
총계=주문총계();
if(총<1)
{
if(AccountFreeMargin()<(1000*Lots))
{
Print("돈이 없습니다. Free Margin = ", AccountFreeMargin());
리턴(0);
}
if(newbar==시간[0])반환(0);
else newbar=시간[0];

if(TradeDayOK)
{
if(sessionfound && ((시()>=17) && (분()>15) && 시()<=23)
{
if ((bought==false) && (낮음[1] > (TopRange+Point*3)))
{
OrderSend(Symbol(),OP_BUY,Lots,Ask,3,Ask-(StopLoss*Point),Ask+(TakeProfit*Point),0,0,Blue);
구매 = 사실;
if(티켓>0)
{
if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("구매 주문이 열렸습니다: ",OrderOpenPrice());
}
else Print("구매 주문 열기 오류: ",GetLastError());
리턴(0);
}
if ((판매==거짓) && (높은[1] < (낮은 범위 포인트*3) ))
{
OrderSend(Symbol(),OP_SELL,Lots,Bid,3,Bid+(StopLoss*Point),Bid-(TakeProfit*Point),0,0,Red);
판매 = 사실;
if(티켓>0)
{
if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print(" SELL 주문 이 열렸습니다 : ",OrderOpenPrice());
}
else Print("판매 주문 열기 오류: ",GetLastError());
리턴(0);
}
리턴(0);
}
리턴(0);
}
}

 
ea를 실행하면 어떻게 되나요?
 
매수 및 매도 포지션을 열지만 적절한 수준은 아닙니다.
 
01005379 :

네. 가장 좋은 방법은 여기에 코드를 넣은 다음 누군가가 해결책을 찾는 것이라고 생각합니다.


if(시간() == 17 && gethighlows == true)
{
gethighlows = 거짓;
TopRange=높음[iHighest(NULL,15,MODE_HIGH,8,1)]; // 15:00-17:00 사이의 8 M15 막대
LowRange=낮음[iLowest(NULL,15,MODE_LOW,8,1)]; // 15:00-17:00 사이의 8 M15 막대
}

//-----

if (시() ==0 && (분()==0 && (초()==1)))
{
TopRange=0;
낮은 범위 = 0;
샀다=거짓;
판매됨=거짓;
sessionfound=거짓;
}
//-----
bool TradeDayOK=(DayOfWeek()>=1) && (DayOfWeek()<=5);
if ((DayOfWeek()==1) && (Trade_on_Monday==true)) TradeDayOK=true;

//-----
총계=주문총계();
if(총<1)
{
if(AccountFreeMargin()<(1000*Lots))
{
Print("돈이 없습니다. Free Margin = ", AccountFreeMargin());
리턴(0);
}
if(newbar==시간[0])반환(0);
else newbar=시간[0];

if(TradeDayOK)
{
if(sessionfound && ( (Hour()>=17) && (Minute()>15) && Hour()<=23)
{
if ((bought==false) && Ask >= TopRange )

{
OrderSend(Symbol(),OP_BUY,Lots,Ask,3,Ask-(StopLoss*Point),Ask+(TakeProfit*Point),0,0,Blue);
구매 = 사실;
if(티켓>0)
{
if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("구매 주문이 열렸습니다: ",OrderOpenPrice());
}
else Print("구매 주문 열기 오류: ",GetLastError());
리턴(0);
}
if ((판매==거짓) && 입찰가 <= LowRange )
{
OrderSend(Symbol(),OP_SELL,Lots,Bid,3,Bid+(StopLoss*Point),Bid-(TakeProfit*Point),0,0,Red);
판매 = 사실;
if(티켓>0)
{
if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("판매 주문이 열렸습니다: ",OrderOpenPrice());
}
else Print("판매 주문 열기 오류: ",GetLastError());
반환(0);
}
반환(0);
}
반환(0);
}
}