여기에 또 다른 문제가 있습니다. 이론을 통해 살펴보았다. 일부이지만 아직 탈출구를 찾지 못했습니다. 여러 가지 이유로, 스톱(손절매 및 이익실현)이 아니라 EA에서 미결 포지션을 청산해야 합니다. 만들어진. 벌었다! 하지만...
로트 계산 라이브러리(B-lot)를 Expert Advisor에 삽입하려고 했을 때 Expert Advisor가 설명할 수 없는 작업을 시작했다는 것이 밝혀졌습니다! MM이 없으면 균형 곡선(최적화 후)이 약간의 하락으로 자신 있게 올라가고 MM을 켠 후에는 급격한 감소가 나타납니다! 뿐만 아니라! 코드에서 B 로트 라이브러리를 제거하고 단순히 로트 크기를 0.1에서 0.2로 늘리더라도 다시 급격한 드레인이 발생합니다. 초기 보증금이 몇 배로 증가하더라도. 시간 .... 즉. 그것은 도서관에 있지 않고 예금의 크기에 있지 않습니다. 인출액은 처음에는 부족합니다 ... . 나는 다음과 같이 시장에 진입한다.
//---------------ПОКУПАЕМ ------------------------------------------
... ... ...
if(Long){//выключатель вкл if(!ExpertOrder(MagicLong)){//если нет открытых длинных позиций //Lots=GetSizeLot(); ticket = OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,0,"AТ",MagicLong,0,Blue);
if(ticket<0){Print("Ошибка открытия ордера BUY #",GetLastError());return(0);}}}
여기에서는 모든 것이 명확하고 이해할 수 있습니다. 다음으로 OrderClose (... .. 함수를 사용하여 다음과 같이 위치를 닫습니다.
for(intv=0; v<OrdersTotal(); v++){// for ( int v = OrdersTotal() - 1; v >= 0; v -- ){ if(OrderSelect(v, SELECT_BY_POS, MODE_TRADES)){if(OrderSymbol()==Symbol()){//----------------------------------------------------- if(ExpertOrder(MagicLong)){if(OrderProfit() > tp){OrderClose(OrderTicket(),OrderLots(),Bid,3,Green); return(0);}if(OrderProfit() <= -sl){OrderClose(OrderTicket(),OrderLots(),Ask,3,Green); return(0);}}}}}
초기 로트 = 0.1이면 시공이 잘 됩니다! 로트 크기를 변경(증가)하려고 하거나 MM 라이브러리를 포함하려고 하면 작업이 중단됩니다! 이유를 알 수 없습니까? OrderLots() 대신 "Lots"로 대체했지만 아무 것도 변경되지 않았습니다. ... 제발, 말해 주세요.?
rid : 초기 로트 = 0.1이면 시공이 잘 됩니다! 로트 크기를 변경(증가)하려고 하거나 MM 라이브러리를 포함하려고 하면 작업이 중단됩니다! 이유를 알 수 없습니까? OrderLots () 대신 "Lots"를 방금 대체했지만 아무 것도 변경되지 않았습니다. ... 제발, 말해 주세요.?
전문가 의 행동의 차이를 살펴볼 필요가 있다. 이전과 같은 시간에 주문을 열거나 닫습니까?
결과는 여전히 동일합니다! 마지막 옵션을 사용하면 마지막 열린 위치만 닫힙니다.!
지시에 따라 제거했습니다. 그리고 기적이 일어났습니다. 모든 열린 위치는 표시기의 신호에 닫히기 시작했습니다! 그런데 왜 그럴까요?
결과는 여전히 동일합니다! 마지막 옵션을 사용하면 마지막 열린 위치만 닫힙니다.!
지시에 따라 제거했습니다. 그리고 기적이 일어났습니다. 모든 열린 위치는 표시기의 신호에 닫히기 시작했습니다! 그런데 왜 그럴까요?
나는 일반적으로 다음과 같이 구현합니다.
보시다시피, 매우 구체적인 작업을 수행하는 함수가 작성되었습니다. 그런 다음 이러한 기능은 위치 작업에 원하는 전술을 구현하는 방식으로 결합됩니다.Igor, 간단히 말해서 귀하의 기능에 대해 좀 더 자세히 설명해 주십시오. 더 파고들고 싶지만 미약한 지식으로 인해 처음부터 생각을 잃습니다.
일하는 Expert Advisor의 사례입니다. 기능의 목적:
전술:
얼마나 간단한지 보시겠습니까? :-)
안녕하세요! 메리 크리스마스!
여기에 또 다른 문제가 있습니다. 이론을 통해 살펴보았다. 일부이지만 아직 탈출구를 찾지 못했습니다. 여러 가지 이유로, 스톱(손절매 및 이익실현)이 아니라 EA에서 미결 포지션을 청산해야 합니다. 만들어진. 벌었다! 하지만...
로트 계산 라이브러리(B-lot)를 Expert Advisor에 삽입하려고 했을 때 Expert Advisor가 설명할 수 없는 작업을 시작했다는 것이 밝혀졌습니다! MM이 없으면 균형 곡선(최적화 후)이 약간의 하락으로 자신 있게 올라가고 MM을 켠 후에는 급격한 감소가 나타납니다! 뿐만 아니라! 코드에서 B 로트 라이브러리를 제거하고 단순히 로트 크기를 0.1에서 0.2로 늘리더라도 다시 급격한 드레인이 발생합니다. 초기 보증금이 몇 배로 증가하더라도. 시간 .... 즉. 그것은 도서관에 있지 않고 예금의 크기에 있지 않습니다. 인출액은 처음에는 부족합니다 ... . 나는 다음과 같이 시장에 진입한다.
여기에서는 모든 것이 명확하고 이해할 수 있습니다. 다음으로 OrderClose (... .. 함수를 사용하여 다음과 같이 위치를 닫습니다. 초기 로트 = 0.1이면 시공이 잘 됩니다! 로트 크기를 변경(증가)하려고 하거나 MM 라이브러리를 포함하려고 하면 작업이 중단됩니다! 이유를 알 수 없습니까? OrderLots() 대신 "Lots"로 대체했지만 아무 것도 변경되지 않았습니다. ... 제발, 말해 주세요.?초기 로트 = 0.1이면 시공이 잘 됩니다! 로트 크기를 변경(증가)하려고 하거나 MM 라이브러리를 포함하려고 하면 작업이 중단됩니다! 이유를 알 수 없습니까? OrderLots () 대신 "Lots"를 방금 대체했지만 아무 것도 변경되지 않았습니다. ... 제발, 말해 주세요.?
이전과 같은 시간에 주문을 열거나 닫습니까?
아니요. 로트가 0.1에서 0.2로 증가함에 따라 거래가 더 자주, 2배 이상 발생하기 시작합니다! 동일한 외부 매개변수로... 이상합니다. 그러나 게으르지 마십시오! 다음과 같이 했습니다.
OrderClose 함수에 의한 포지션 청산을 제거하고 ticket=OrderSend(... ... ...) 함수에서 손절매와 이익실현에 의한 정상적인 청산을 위해 제공되었습니다. 이 경우 MM 블록이 제대로 작동했습니다! 기능에 대한 모든 것을 볼 수 있습니다.
로트를 늘릴 때 그에 따라 "tp" 값을 변경해야 합니까?오류는 코드에 있습니다. 어디 - 몰라, 왜냐하면. 코드도 아닙니다. 우리는 다음 지점에서 투시자를 호출합니다;)