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

 

누군가 이 문제를 해결하는 데 도움을 줄만큼 친절할 수 있습니까?

이 메시지 아래에 첨부한 코드에 문제가 있습니다..., 항상 촛불 형성이 시작될 때 신호를 보냅니다!

이로 인해 저는 특히 더 높은 시간대에 늦게 거래를 시작했습니다. 다른 양초가 시작되기를 기다리는 대신 현재 가격 브리지 MA가 매수를 위해 상승하고 매도를 위해 하락할 때만 iny가 경고를 표시하도록 도와주시겠습니까?

감사합니다 첨부파일

파일:
smacd.mq4  4 kb
 

안녕 Mladen, 개시 거래 기준을 발동하기 위해 무엇을 사용할 수 있는지 아십니까?

제가 알고 싶은 것은 캔들이 이동 평균선 위 또는 아래에서 10핍 위 또는 아래로 마감되는 경우 어떻게 거래를 촉발할 수 있는지입니다.

시스템은 이동 평균선 위 또는 아래에서 마감되는지 여부에 따라 거래를 시작합니다.

iClose 를 사용할 생각이지만 구현 방법을 모릅니다. 당신의 도움을 주셔서 감사합니다.

감사해요.

라이언

 
tkuan77:
안녕 Mladen, 개시 거래 기준을 발동하기 위해 무엇을 사용할 수 있는지 아십니까?

제가 알고 싶은 것은 캔들이 이동 평균선 위 또는 아래에서 10핍 위 또는 아래로 마감되는 경우 어떻게 거래를 촉발할 수 있는지입니다.

시스템은 이동 평균선 위 또는 아래에서 마감되는지 여부에 따라 거래를 시작합니다.

iClose를 사용할 생각이지만 구현 방법을 모릅니다. 당신의 도움을 주셔서 감사합니다.

감사해요.

라이언

안녕 믈라덴

코드를 완성했는데 작동하는 것 같지만 기준이 충족될 때 거래가 트리거되지 않는 경우가 있고 여기서부터 어떻게 해야 할지 모르겠습니다.

//+----------------------------------------------- -------------------+

//---- 입력 매개변수

외부 이중 TakeProfit = 250.0;

extern 이중 랏 = 0.1;

외부 이중 손절매 = 200.0;

//+----------------------------------------------- -------------------+

//| 전문가 초기화 기능 |

//+----------------------------------------------- -------------------+

정수 초기화()

{

//----

//----

리턴(0);

}

//+----------------------------------------------- -------------------+

//| 전문가 초기화 해제 기능 |

//+----------------------------------------------- -------------------+

정수 초기화()

{

//----

//----

리턴(0);

}

//+----------------------------------------------- -------------------+

//| 전문가 시작 기능 |

//+----------------------------------------------- -------------------+

이중 pBid, pAsk;

날짜/시간 뉴바;

정수 시작()

{

//+----------------------------------------------- -------------------+

if(newbar==시간[0])반환(0);

else newbar=시간[0];

//+----------------------------------------------- -------------------+

//+----------------------------------------------- -------------------+

이중 Up_MA = iMA(NULL,0,10,0,MODE_LWMA,PRICE_HIGH,0);

이중 Dwn_MA = iMA(NULL,0,10,0,MODE_LWMA,PRICE_LOW,0);

//+----------------------------------------------- -------------------+

//+----------------------------------------------- -------------------+

//-- 트리거 트레이드

//+----------------------------------------------- -------------------+

int 티켓, 총계;

이중 CD_Close = iClose(NULL,0,1);

총계 = OrdersTotal(); // 현재 열려 있는 총 거래 수 확인

if(총 < 2)

{

if (CD_Close >= Up_MA+50*Point)//Hour()==Entry_Hour_1st && Minute()==Entry_Minute_1st)

{

ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,1,Ask-StopLoss*Point,Ask+TakeProfit*Point,

"내 EA",Entry_magicNo_1st,0,Green);

리턴(0);

}

if (CD_Close <= Dwn_MA-50*포인트)

{

ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,1,Bid+StopLoss*Point,Bid-TakeProfit*Point,

"내 EA",Entry_magicNo_1st,0,Red);

리턴(0);

}

리턴(0);

}

리턴(0);

}

//+----------------------------------------------- -------------------+

 
tkuan77:
안녕 믈라덴

코드를 완성했는데 작동하는 것 같지만 기준이 충족될 때 거래가 트리거되지 않는 경우가 있고 여기서부터 어떻게 해야 할지 모르겠습니다.

//+----------------------------------------------- -------------------+

//---- 입력 매개변수

외부 이중 TakeProfit = 250.0;

extern 이중 랏 = 0.1;

외부 이중 손절매 = 200.0;

//+----------------------------------------------- -------------------+

//| 전문가 초기화 기능 |

//+----------------------------------------------- -------------------+

정수 초기화()

{

//----

//----

리턴(0);

}

//+----------------------------------------------- -------------------+

//| 전문가 초기화 해제 기능 |

//+----------------------------------------------- -------------------+

정수 초기화()

{

//----

//----

리턴(0);

}

//+----------------------------------------------- -------------------+

//| 전문가 시작 기능 |

//+----------------------------------------------- -------------------+

이중 pBid, pAsk;

날짜/시간 뉴바;

정수 시작()

{

//+----------------------------------------------- -------------------+

if(newbar==시간[0])반환(0);

else newbar=시간[0];

//+----------------------------------------------- -------------------+

//+----------------------------------------------- -------------------+

이중 Up_MA = iMA(NULL,0,10,0,MODE_LWMA,PRICE_HIGH,0);

이중 Dwn_MA = iMA(NULL,0,10,0,MODE_LWMA,PRICE_LOW,0);

//+----------------------------------------------- -------------------+

//+----------------------------------------------- -------------------+

//-- 트리거 트레이드

//+----------------------------------------------- -------------------+

int 티켓, 합계;

이중 CD_Close = iClose(NULL,0,1);

총계 = OrdersTotal(); // 현재 열려 있는 총 거래 수 확인

if(총 < 2)

{

if (CD_Close >= Up_MA+50*Point)//Hour()==Entry_Hour_1st && Minute()==Entry_Minute_1st)

{

ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,1,Ask-StopLoss*Point,Ask+TakeProfit*Point,

"내 EA",Entry_magicNo_1st,0,Green);

리턴(0);

}

if (CD_Close <= Dwn_MA-50*포인트)

{

ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,1,Bid+StopLoss*Point,Bid-TakeProfit*Point,

"내 EA",Entry_magicNo_1st,0,Red);

리턴(0);

}

리턴(0);

}

반환(0);

}

//+----------------------------------------------- -------------------+

거래를 촉발했어야 하는 거래가 발생하지 않은 몇 가지 사례를 보여줄 수 있습니까?

 

안녕 믈라덴

첨부된 스크린샷을 찾으십시오.

문안 인사

라이언

파일:
untitled.jpg  42 kb
 

안녕 Mladen, 이 오류의 원인이 되는 일부 라인의 오류가 있을 수 있습니까?

문안 인사

 
tkuan77:
안녕 Mladen, 이 오류의 원인이 되는 일부 라인의 오류일 수 있습니까? 문안 인사

tkuan77

첫 번째 단계로 터미널의 저널 및 전문가 탭에 오류 메시지가 작성되어 있는지 확인하십시오 .

 
mladen:
tkuan77 첫 번째 단계로 터미널의 저널 및 전문가 탭에 오류 메시지가 작성되어 있는지 확인하십시오.

안녕하세요 mladen님, 감사합니다. 문제는 이미 해결되었습니다.

그러나 다음 질문은 그에 따라 거래를 정렬하는 방법입니다.

예를 들어:

특정 시점의 총 거래량 = 2

각 기준 세트에 대해 1개의 거래. 기준이 두 번 이상 충족되는 경우 시스템이 각 특정 세트에 대해 1개 이상의 거래를 트리거하지 않도록 하려면 어떻게 해야 합니까?

아래는 참조용 코드입니다.

총계 = OrdersTotal(); // 현재 열려 있는 총 거래 수 확인

if(총 < 2)

{

if (Hour()==Entry_Hour_1st || Hour()==Entry_Hour_2nd)

{

//이 기준에 따라 현재 열려 있는 거래가 없으면 조건이 충족되는지 확인하고, 충족되면 거래를 트리거하고, 그렇지 않으면 거래를 트리거하지 않습니다.

}

if (Hour()==Entry_Hour_3번째 || Hour()==Entry_Hour_4번째)

{

//이 기준에 따라 현재 열려 있는 거래가 없으면 조건이 충족되는지 확인하고, 충족되면 거래를 트리거하고, 그렇지 않으면 거래를 트리거하지 않습니다.

}

}

당신의 조언에 감사드립니다. 감사해요.

문안 인사

 

ECN 중개 주문을 정확히 어떻게 처리해야 합니까?

 
apprentice coder:
ECN 중개 주문을 정확히 어떻게 처리해야 합니까?

견습 코더

유일한 차이점은 ECN 브로커에서 먼저 0 sl 및 tp 필드가 있는 주문을 연 다음 sl 및 tp를 설정하도록 주문(필요한 경우)을 수정하는 반면 "일반" 브로커에서는 sl 및 tp를 함께 배치할 수 있다는 것입니다. 주문 오픈. 나머지는 다 똑같음