말해봐, 전략 테스터 는 패스 수에 제한이 있습니까? 테스터를 시작했는데 테스트 시작 시 스트립 위 왼쪽 하단에서 0/1280(25706)이었습니다. 세어보니 25개의 모어가 가능한 모든 조합의 수입니다. 그러나 그는 1088/1280(25706)일 때 테스트를 마쳤습니다. 그가 단지 1088개의 패스를 만들었다는 것이 밝혀졌다? 처음 두 숫자는 실제로 무엇을 의미합니까? 게다가 그는 어쩐지 이상하게 생각한다... 3개의 매개변수에 대한 또 다른 기준을 추가했을 때 25개 조각이 3배 증가하지 않았지만 약 40개 정도의 모어를 내주었다. 이것은 결함입니까 아니면 어딘가에 잘못된 것입니까?
AndrejFX : 말해봐, 전략 테스터는 패스 수에 제한이 있습니까? 테스터를 시작했는데 테스트 시작 시 스트립 위 왼쪽 하단에서 0/1280(25706)이었습니다. 세어보니 25개의 모어가 가능한 모든 조합의 수입니다. 그러나 그는 1088/1280(25706)일 때 테스트를 마쳤습니다. 그가 단지 1088개의 패스를 만들었다는 것이 밝혀졌다? 처음 두 숫자는 실제로 무엇을 의미합니까? 게다가 그는 어쩐지 이상하게 생각한다... 3개의 매개변수에 대한 또 다른 기준을 추가했을 때 25개 조각이 3배 증가하지 않았지만 약 40개 정도의 모어를 내주었다. 이것은 결함입니까 아니면 어딘가에 잘못된 것입니까?
이미 열린 StopLosses를 이전 양초의 높음 또는 낮음 수준에서 "TrailingStop" 거리로 추적해야 합니다. 엑스퍼트 어드바이저 런칭 후 첫 오픈 딜 주문에만 적용됩니다. StopLoss가 트리거되고 다음 거래가 열린 후 StopLoss 주문은 추적되지 않습니다 . 내가 올바르게 이해했다면 이것은 " ORDER_SL " 변수가 변경되지 않고 주문 변경 조건이 충족되지 않았기 때문입니다!? 그렇다면 왜 그리고 어떻게 수정합니까?
트롤 코드는 다음과 같습니다.
int ORDER= OrdersTotal ();
OrderSelect (ORDER,SELECT_BY_TICKET,MODE_TRADES);
int ORDER_Type=OrderType();
doubleORDER_SL =OrderStopLoss();
double Point_High=iHigh(OrderSymbol(), 0 , 2 )-TrailingStop* Point ;
double Point_Low=iLow(OrderSymbol(), 0 , 2 )+TrailingStop* Point ;
if (ORDER_Type==OP_BUY && ORDER_SL <Point_High){
OrderModify(OrderTicket(),OrderOpenPrice(),Point_High,OrderTakeProfit(), 0 , CLR_NONE );
while (!IsTradeAllowed()) Sleep ( 100 );
}
if (ORDER_Type==OP_SELL && ORDER_SL >Point_Low){
OrderModify(OrderTicket(),OrderOpenPrice(),Point_Low,OrderTakeProfit(), 0 , CLR_NONE );
while (!IsTradeAllowed()) Sleep ( 100 );
}
이미 열린 StopLosses를 이전 양초의 높음 또는 낮음 수준에서 "TrailingStop" 거리로 추적해야 합니다. Expert Advisor를 런칭한 후에는 첫 오픈 딜의 주문으로만 작동합니다. StopLoss가 트리거되고 다음 거래가 열린 후 StopLoss 주문은 추적되지 않습니다 . 내가 올바르게 이해했다면 "ORDER_SL"변수가 변경되지 않고 주문 변경 조건이 충족되지 않았기 때문입니다!? 그렇다면 왜 그리고 어떻게 수정합니까?
트롤 코드는 다음과 같습니다.
다음은 전체 고문입니다.
무언가를 트롤링하기 전에 선택해야 합니다. 먼저 고문이 열어 놓은 위치를 선택하여 터미널의 모든 열린 위치를 반복해야 합니다. 루프의 각 반복에서 필요한 순서가 선택되면 루프에서 직접 트레일을 호출하십시오. 이 경우에만 EA가 연 모든 위치가 추적됩니다.
다음과 같이 다소:
void Trailing( string sy, int mn)
{
int i, err, ORDER_Type, k= OrdersTotal ();
double PointX, ORDER_SL , Point_High, Point_Low;
if (sy== "0" ) sy= Symbol ();
int dg=MarketInfo(sy, MODE_DIGITS);
double pt=MarketInfo(sy, MODE_POINT);
if (dg== 5 || dg== 3 ) PointX=pt* 10 ;
if (dg== 4 || dg== 2 ) PointX=pt;
for (i= 0 ; i<k; i++) {
if ( OrderSelect (i, SELECT_BY_POS)) {
if (OrderSymbol()!=sy) continue ;
if (OrderType()> 1 ) continue ;
if (OrderMagicNumber()!=mn) continue ;
ORDER_Type=OrderType();
ORDER_SL =OrderStopLoss();
Point_High=iHigh(OrderSymbol(), 0 , 2 )-TrailingStop*PointX;
Point_Low=iLow(OrderSymbol(), 0 , 2 )+TrailingStop*PointX;
if (ORDER_Type==OP_BUY)
if ( NormalizeDouble (Point_High- ORDER_SL ,dg)> 0 ) {
OrderModify(OrderTicket(),OrderOpenPrice(),Point_High,OrderTakeProfit(), 0 , CLR_NONE );
while (!IsTradeAllowed()) Sleep ( 100 );
}
if (ORDER_Type==OP_SELL)
if ( NormalizeDouble ( ORDER_SL -Point_Low,dg)> 0 ) {
OrderModify(OrderTicket(),OrderOpenPrice(),Point_Low,OrderTakeProfit(), 0 , CLR_NONE );
while (!IsTradeAllowed()) Sleep ( 100 );
}
}
if (! OrderSelect (i, SELECT_BY_POS)) {
err= GetLastError ();
Print ( "FUNC Trailing: Ошибка выбора ордера - " , err);
break ;
}
}
return ;
}
나는 당신의 후행 코드를 보지 않고 그대로 둡니다(편집도 필요하지만 StopLevel 수준을 초과하지 않는지 확인을 추가하거나 다른 것을 추가), 비교할 때 주문 및 정규화를 통한 주기만 추가했습니다. 후행 코드에 이중 값, 그래서 ... 약간의 유용성 ... 알아내고 싶다면 알아낼 것입니다 :)
추신. 코드를 확인하지 않고 그대로 썼기 때문에 오류가 있을 수 있습니다. 이것은 단지 예일 뿐입니다.
이제 위치를 추적해야 하는 코드 대신 다음 함수를 호출합니다.
Trailing( Symbol (), Magic);
매직 - 매직 넘버로 EA에서 고유한 정수로 설정되어 해당 주문을 다른 EA의 주문이나 마법이 전혀 없는 수동으로 열린 주문과 구별합니다. 함수를 호출할 때 Symbol()을 떠나면 Expert Advisor가 있는 통화 상품의 위치가 추적됩니다. 또는 Symbol() 대신 추적하려는 위치의 통화 쌍 이름을 삽입하십시오.
Vladimir, 선택 항목을 게시한 이후로 이 문제를 처리한 것 같습니다. 파일이 아닌 메모리, Windows 변수 등을 통해 터미널에서 터미널로 하나의 변수를 전달하는 기성품의 간단한 옵션을 본 적이 없습니까? 마지막 옵션으로 한 터미널의 다른 터미널에서 온라인으로 Close[0] 라인을 그리는 표시기입니다. 틱 차트에서 이 비교는 매우 명확해 보입니다.
게다가 그는 어쩐지 이상하게 생각한다... 3개의 매개변수에 대한 또 다른 기준을 추가했을 때 25개 조각이 3배 증가하지 않았지만 약 40개 정도의 모어를 내주었다. 이것은 결함입니까 아니면 어딘가에 잘못된 것입니까?
말해봐, 전략 테스터는 패스 수에 제한이 있습니까? 테스터를 시작했는데 테스트 시작 시 스트립 위 왼쪽 하단에서 0/1280(25706)이었습니다. 세어보니 25개의 모어가 가능한 모든 조합의 수입니다. 그러나 그는 1088/1280(25706)일 때 테스트를 마쳤습니다. 그가 단지 1088개의 패스를 만들었다는 것이 밝혀졌다? 처음 두 숫자는 실제로 무엇을 의미합니까?
게다가 그는 어쩐지 이상하게 생각한다... 3개의 매개변수에 대한 또 다른 기준을 추가했을 때 25개 조각이 3배 증가하지 않았지만 약 40개 정도의 모어를 내주었다. 이것은 결함입니까 아니면 어딘가에 잘못된 것입니까?
후행을 도와주세요!!!
이미 열린 StopLosses를 이전 양초의 높음 또는 낮음 수준에서 "TrailingStop" 거리로 추적해야 합니다. 엑스퍼트 어드바이저 런칭 후 첫 오픈 딜 주문에만 적용됩니다. StopLoss가 트리거되고 다음 거래가 열린 후 StopLoss 주문은 추적되지 않습니다 . 내가 올바르게 이해했다면 이것은 " ORDER_SL " 변수가 변경되지 않고 주문 변경 조건이 충족되지 않았기 때문입니다!? 그렇다면 왜 그리고 어떻게 수정합니까?
트롤 코드는 다음과 같습니다.
다음은 전체 고문입니다.
이 코드
진주에 넣어야 합니다. 가장 흥미로운 점은 첫 번째 주문의 테스터에서만 작동하지만 작동한다는 것입니다.
후행을 도와주세요!!!
이미 열린 StopLosses를 이전 양초의 높음 또는 낮음 수준에서 "TrailingStop" 거리로 추적해야 합니다. Expert Advisor를 런칭한 후에는 첫 오픈 딜의 주문으로만 작동합니다. StopLoss가 트리거되고 다음 거래가 열린 후 StopLoss 주문은 추적되지 않습니다 . 내가 올바르게 이해했다면 "ORDER_SL"변수가 변경되지 않고 주문 변경 조건이 충족되지 않았기 때문입니다!? 그렇다면 왜 그리고 어떻게 수정합니까?
트롤 코드는 다음과 같습니다.
다음은 전체 고문입니다.
무언가를 트롤링하기 전에 선택해야 합니다. 먼저 고문이 열어 놓은 위치를 선택하여 터미널의 모든 열린 위치를 반복해야 합니다. 루프의 각 반복에서 필요한 순서가 선택되면 루프에서 직접 트레일을 호출하십시오. 이 경우에만 EA가 연 모든 위치가 추적됩니다.
다음과 같이 다소:
나는 당신의 후행 코드를 보지 않고 그대로 둡니다(편집도 필요하지만 StopLevel 수준을 초과하지 않는지 확인을 추가하거나 다른 것을 추가), 비교할 때 주문 및 정규화를 통한 주기만 추가했습니다. 후행 코드에 이중 값, 그래서 ... 약간의 유용성 ... 알아내고 싶다면 알아낼 것입니다 :)
추신. 코드를 확인하지 않고 그대로 썼기 때문에 오류가 있을 수 있습니다. 이것은 단지 예일 뿐입니다.
이제 위치를 추적해야 하는 코드 대신 다음 함수를 호출합니다.
Trailing( Symbol (), Magic);
매직 - 매직 넘버로 EA에서 고유한 정수로 설정되어 해당 주문을 다른 EA의 주문이나 마법이 전혀 없는 수동으로 열린 주문과 구별합니다.함수를 호출할 때 Symbol()을 떠나면 Expert Advisor가 있는 통화 상품의 위치가 추적됩니다.
또는 Symbol() 대신 추적하려는 위치의 통화 쌍 이름을 삽입하십시오.
한 대의 컴퓨터에서 MT4 단말기 간에 가장 빠른 방법으로 데이터 교환이 이루어지도록 도와주세요.
거래를 복사 해야 하는 경우 여기 복사기가 있습니다. 단순히 데이터 교환이라면 dll-ku를 수행해야 합니다.
거래를 복사해야 하는 경우 여기 복사기가 있습니다. 단순히 데이터 교환이라면 dll-ku를 수행해야 합니다.
당신의 석방과 함께 ... :-)))
이 포럼에 도난당한 물건을 게시하지 마십시오. 여기는 목욕하는 길
이것은 비유적인 의미에서, 이 칠면조는 내가 완성한 것입니다.
당신의 석방과 함께 ... :-)))
파일이 아닌 메모리, Windows 변수 등을 통해 터미널에서 터미널로 하나의 변수를 전달하는 기성품의 간단한 옵션을 본 적이 없습니까?
마지막 옵션으로 한 터미널의 다른 터미널에서 온라인으로 Close[0] 라인을 그리는 표시기입니다. 틱 차트에서 이 비교는 매우 명확해 보입니다.