코딩하는 방법? - 페이지 336

 
tkuan77:
안녕 mladen, 슬프게도 방금 다시 시도했지만 여전히 작동하지 않습니다.

특정 타이밍에 따라 거래를 마감할 수 있는 다른 방법이 있습니까?

문안 인사

라이언

이 코드를 사용했습니다.

extern bool UseCurrSymbol = false;

int init() { return(0); }

int deinit() { return(0); }

void start(void)

{

bool result;

if(OrdersTotal()>0)

{

if (TimeCurrent()>= StrToTime("07:00:00"))

for (int i=OrdersTotal()-1; i>=0; i--)

{

if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES))

if (!UseCurrSymbol || OrderSymbol()==Symbol())

{

if (OrderType()==OP_BUY)

{

double pBid=MarketInfo(OrderSymbol(),MODE_BID);

result = OrderClose(OrderTicket(),OrderLots(),pBid,3,Blue);

}

if (OrderType()==OP_SELL)

{

double pAsk=MarketInfo(OrderSymbol(),MODE_ASK);

result = OrderClose(OrderTicket(),OrderLots(),pAsk,3,Red);

}

}

}

}

return;

}

테스트하고 주문을 마감했습니다(예제 참조).

파일:
test_closed.gif  63 kb
 
mladen:
이 코드를 사용했습니다.
extern bool UseCurrSymbol = false;

int init() { return(0); }

int deinit() { return(0); }

void start(void)

{

bool result;

if(OrdersTotal()>0)

{

if (TimeCurrent()>= StrToTime("07:00:00"))

for (int i=OrdersTotal()-1; i>=0; i--)

{

if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES))

if (!UseCurrSymbol || OrderSymbol()==Symbol())

{

if (OrderType()==OP_BUY)

{

double pBid=MarketInfo(OrderSymbol(),MODE_BID);

result = OrderClose(OrderTicket(),OrderLots(),pBid,3,Blue);

}

if (OrderType()==OP_SELL)

{

double pAsk=MarketInfo(OrderSymbol(),MODE_ASK);

result = OrderClose(OrderTicket(),OrderLots(),pAsk,3,Red);

}

}

}

}

return;

}

테스트하고 주문을 마감했습니다(예제 참조).

안녕하세요 mladen, 감사합니다. 문제는 내 쪽에서 해결되었습니다. 참고로, 코딩에서 이 몇 가지 라이너의 목적이 무엇인지 설명해 주시겠습니까?

외부 부울 UseCurrSymbol = 거짓; 그리고

if (!UseCurrSymbol || OrderSymbol()==Symbol())

문안 인사

라이언

 
tkuan77:
안녕하세요 mladen, 감사합니다. 문제는 내 쪽에서 해결되었습니다. 참고로, 코딩에서 이 몇 가지 라이너의 목적이 무엇인지 설명해 주시겠습니까?

외부 부울 UseCurrSymbol = 거짓; 그리고

if (!UseCurrSymbol || OrderSymbol()==Symbol())

문안 인사

라이언

코드에서 UseCurrSymbol 변수와 정확한 라인을 사용했습니다.

코드가 귀하의 코드와 동일한 변수를 사용하도록 해당 변수를 만들어야 했습니다.

 
mladen:
UseCurrSymbol 변수를 사용했고 코드에서 정확한 라인을 사용하여 코드에서 코드와 동일한 변수를 사용하도록 해당 변수를 만들어야 했습니다.

안녕하세요 mladen, 이전에 제공한 소스에서 코드의 해당 부분을 가져왔기 때문에 죄송합니다.

내 말은 bool UseCurrSymbol을 false로 설정해야 하는 이유와 --> if (!UseCurrSymbol || OrderSymbol()==Symbol())

 
tkuan77:
안녕하세요 mladen, 이전에 제공한 소스에서 코드의 해당 부분을 가져왔기 때문에 죄송합니다. 내 말은 bool UseCurrSymbol을 false로 설정해야 하는 이유와 --> if (!UseCurrSymbol || OrderSymbol()==Symbol())

false로 설정할 필요는 없습니다.

true로 설정하면 현재 기호만 주문에 대해 확인 됩니다. 따라서 처리하려는 주문을 선택할 수 있습니다.

 

안녕 얘들아!

다음과 같은 문제가 있습니다.

iCustom(NULL,0,"MACD",12,26,9,0,i)와 같은 icustom indi 값을 다음과 같은 하위 기능에서 사용하고 싶습니다.

double Mom(const double& series[], int period, int totcount, int index)

{

if (totcount<1 || period<1) return (EMPTY_VALUE);

if (indextotcount-1) return (EMPTY_VALUE);

return (series-series);

}

"iCustom(NULL,0,"MACD",12,26,9,0,i)"의 추진력 을 얻으려면...

엄마랑 평범하게 부를때(High,22,Bars,i)

이것은 작동하지만 "높음"대신 사용자 정의 인디를 사용할 때 물론 그렇지 않습니다.

그래서 제 질문은 코드를 작동시키기 위해 이것을 어떻게 구현할 수 있습니까?

도움을 주셔서 감사합니다!

안녕, AT

 
at120:
안녕 얘들아!

다음 문제가 있습니다.

iCustom(NULL,0,"MACD",12,26,9,0,i)와 같은 icustom indi 값을 다음과 같은 하위 기능에서 사용하고 싶습니다.

double Mom(const double& series[], int period, int totcount, int index)

{

if (totcount<1 || period<1) return (EMPTY_VALUE);

if (indextotcount-1) return (EMPTY_VALUE);

return (series-series);

}

"iCustom(NULL,0,"MACD",12,26,9,0,i)"의 추진력을 얻으려면...

엄마랑 평범하게 부를때(High,22,Bars,i)

이것은 작동하지만 "높음"대신 사용자 정의 인디를 사용할 때 물론 그렇지 않습니다.

그래서 제 질문은 코드를 작동시키기 위해 이것을 어떻게 구현할 수 있습니까?

도움을 주셔서 감사합니다!

안녕, AT

120시에

표시기 폴더에 "macd"라는 표시기가 있습니까? 그렇다면 매개변수 가 올바른지 확인하십시오.

 

안녕 믈라덴!

빠른 재생 감사합니다!

죄송합니다 MACD는 나쁜 예입니다. 다른 인디 사용자 정의 MACD 또는 이와 유사한 것을 사용하십시오.

추가 창을 통해 출력을 확인하고 indi /output을 테스트하여 올바른 설정을 지정했습니다.

"iCustom(NULL,0,"myIndi",0,i)"에 올바른 매개 변수 가 있는지 확인하십시오. 당연히 컴파일되고 올바른 폴더 등 ...

항상 오류가 발생합니다(변수를 사용할 때) - 예

더블 엄마1 = iCustom(NULL,0,"myIndi",0,i); -> 엄마(엄마1,바,20,i)

-> "엄마" - 매개변수 대화가 허용되지 않거나 직접 사용하는 경우 ->

엄마( iCustom(NULL,0,"myIndi",0,i),바,20,i)

오류: iCustom - 매개변수가 참조로 전달됨, 변수가 필요함

도움과 정보 감사합니다!

안녕, AT

 
at120:
안녕 믈라덴!

빠른 재생 감사합니다!

죄송합니다 MACD는 나쁜 예입니다. 다른 인디 사용자 정의 MACD 또는 이와 유사한 것을 사용하십시오.

추가 창을 통해 출력을 확인하고 indi /output을 테스트하여 올바른 설정을 지정했습니다.

"iCustom(NULL,0,"myIndi",0,i)"에 올바른 매개변수가 있는지 확인하십시오. 당연히 컴파일되고 올바른 폴더 등 ...

항상 오류가 발생합니다(변수를 사용할 때) - 예

더블 엄마1 = iCustom(NULL,0,"myIndi",0,i);-> 엄마(엄마1,막대,20,i)

-> "엄마" - 매개변수 대화가 허용되지 않거나 직접 사용하는 경우 ->

엄마( iCustom(NULL,0,"myIndi",0,i),바,20,i)

오류: iCustom - 매개변수가 참조로 전달됨, 변수가 필요함

도움과 정보 감사합니다!

안녕, AT

간단한 iCustom() 호출을 사용하면 매개변수에서만 오류가 발생할 수 있습니다.

iCustom()을 mom() 함수의 매개변수로 사용할 수 없습니다(mom 함수 헤더를 확인하면 어떤 매개변수와 어떤 유형의 매개변수가 mom() 함수가 허용하는지 알 수 있습니다). iCustom()의 결과는 "이중"으로 정의됩니다. 참조로 전달된 배열의 속도를 따라갈 수 없습니다. 이 스레드도 확인하십시오 : https://www.mql5.com/en/forum/173108 - 아마도 도움이 될 것입니다.

 

안녕 믈라덴!

테스트 및 일반(데이터 내보내기 또는 인디로 사용)에서 내 iCustom의 호출이 옳다고 생각합니다.

그것은 지금까지 잘 작동합니다. 문제는 값 이중/배열을 언급했듯이 문제라고 생각합니다.

내가 지금 사용할 때

더블맘1[];

엄마1 = iCustom(NULL,0,"myIndi",0,i);

그리고 a보다 -> mom(mom1,Bars,20,i);

-> "엄마" - 매개변수 대화가 허용되지 않음

이거 어떻게 쓰는게 맞나요?

감사합니다. AT