포럼을 어지럽히 지 않도록 모든 초보자 질문. 프로, 놓치지 마세요. 너 없이는 아무데도 - 6. - 페이지 348

 
Link_x :
기술지표에 있는 기능을 잘못 이해한 것 같아요. 내가 이것을 이해하지 못한다면 정보를 사용하여 인터넷을 통해 타이핑하고 전송함으로써 귀하로부터 나에게 전송된 링크를 "초과"하는 것을 발견해야 함을 이해해야 합니다.
"공부하고 또 공부하고 또 공부!" - 나는 이 문구를 좋아한다. )))

예를 들어 메타 편집기에서 CCI를 열고 참조 책에서 명확하지 않은 모든 것을 엽니다(이해할 수 없는 기능이나 표현식을 클릭하고 F1 키를 누름). 이것은 학습을 훨씬 더 재미있게 만들 것입니다.
 

extern int MartinStep = 2;
extern double LOT = 0.01;


double GetLot(){

int time = 0;double profit = 0; double lots = 0; double Lot = 0;
for(int i = OrdersHistoryTotal()-1;i>=0;i--){
if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)){
if(OrderSymbol() == Symbol()&& OrderMagicNumber() == Magic){
if(time<OrderCloseTime()){
time=OrderCloseTime();
profit=OrderProfit();
lots = OrderLots();
}
}
}
}


if(profit == 0 &&time == 0)
{
Lot = LOT;
}
if(profit >= 0)
{
Lot = LOT;
}
if(profit < 0 )
{
Lot = NormalizeDouble (lots*MartinStep,2);
}

return(Lot);
}
함수의 버그를 수정하도록 도와주세요. EA에서 여러 주문을 제대로 열었는데 로그에 ''invalid lot amount'' 오류가 뜨는데 뭐가 잘못된건지 모르겠네요.
 
Trader7777 :


lots = OrderLots();

Lot = NormalizeDouble (lots*MartinStep,2);

함수의 버그를 수정하도록 도와주세요. EA에서 여러 주문을 제대로 열었는데 로그에 ''invalid lot amount'' 오류가 뜨는데 뭐가 잘못된건지 모르겠네요.

연산자에 도달하지 않았거나 lot = OrderLots(); 그리고 로트는 여전히 = 0입니다. 로트*MartinStep이 최대 허용 로트 크기를 초과했습니다.
 

알겠습니다. 오류가 여기에 있습니다.

if(profit >= 0)


등호를 넣을 필요가있었습니다. 주문이 0으로 끝난 후 고문이 무엇을해야할지 몰랐기 때문입니다)
 

안녕하세요 여러분! 하루가 끝날 때 고문의 재초기화를 구현하는 방법을 알려주시겠습니까? 즉, init()에는 특정 시간에 반복해야 하는 몇 가지 작업이 있습니다. 글쎄, 나는 그것들을 start()에서 처방하고 싶지 않습니다. 오히려 어드바이저를 다시 시작할 수 있는 이론적 가능성이 흥미롭습니다. 미리 감사드립니다.

 
Pyro :

안녕하세요 여러분! 하루가 끝날 때 고문의 재초기화를 구현하는 방법을 알려주시겠습니까? 즉, init()에는 특정 시간에 반복해야 하는 몇 가지 작업이 있습니다. 글쎄요, 나는 그것들을 시작()에서 처방하고 싶지 않습니다. 오히려 어드바이저를 다시 시작할 수 있는 이론적 가능성이 흥미롭습니다. 미리 감사드립니다.

특정 시간에 init() 호출을 시도했습니까?
 
예, 그것은 나에게 발생하지 않았습니다 :( 감사합니다!!
 
친애하는, 조언자가 다시 로드될 때(차트에서 제거한 다음 다시 삽입) 플래그와 정적 변수 가 재설정되거나 조언자의 메모리에 남아 있다고 말해 주세요.
 
Forexman77 :
친애하는, 조언자가 다시 로드될 때(차트에서 제거한 다음 다시 삽입) 플래그와 정적 변수가 재설정되거나 조언자의 메모리에 남아 있다고 말해 주세요.

초기화는 전역 변수를 제외한 모든 것을 재설정합니다.
 
Pyro :

초기화는 전역 변수를 제외한 모든 것을 재설정합니다.
그리고 여기서 GV는 어드바이저가 아니라 최종 변수라는 점을 명확히 할 필요가 있습니다.