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

 

안녕하세요 여러분..

메타에디터에서 주문 코드를 어떻게 설정합니까?

나는 데모 계정 을 사용합니다 ... 데모 계정에서 주문을 설정할 수 있습니까?

나는 그것을 시도했지만 실패했다

 

BE 매개변수

안녕하세요.

이 EA에 BE stop 매개변수를 추가하는 데 도움이 필요합니다. 이 EA는 Trendmanager 시스템을 기반으로 하는 이 스레드의 첫 번째 페이지에서 가져왔습니다.

미리 감사드립니다.

차.

e-trendmanager.mq4

파일:
 

MQ4 파일 부탁드립니다.

안녕하세요.
이 TrendmanagerEA 텍스트 파일이 있습니다. 어떤 사람이 MQ4 파일로 변환할 수 있습니까? 다른 EA와 테스트하고 비교하겠습니다.

미리 감사드립니다.

차.

#property copyright "Copyright ฉ 2006, www.easyforexsignals.com"

#속성 링크 "paul@easyforexsignals.com"

#define LONGCOLOR 다저블루

#define 쇼트컬러 오렌지레드

#define MAGICTM 20070610

외부 이중 TMlots=0.1;

외부 정수 MoveStopAmount = 20;

외부 정수 MoveStopAfterProfitof = 55;

extern int minadxlevel = 20;

외부 이중 minSolarWind = 0.25;

extern double minJuice = 0.001;

extern int 손절매 = 50,

미끄러짐 = 3,

테이크프로핏=120;

날짜 시간 LastTMSignalTime;

extern int MinTimeBetweenSignals = 60;

정수 초기화(){

리턴(0);

}

정수 초기화(){

리턴(0);

}

정수 시작()

{

정수 해상도 = 0;

if(Bars<100 || IsTradeAllowed()==false) 반환;

체크트렌드매니저() ; // 트렌드 매니저 시스템 확인

CheckForTMClose(); // 이 시스템에서 닫기 확인

CheckForStopMove(); // 모든 열린 거래에서 이동 중지

}

무효 CheckForStopMove() {

for(int i=0;i<OrdersTotal();i++)

{

if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) 중단;

if(OrderMagicNumber()!=MAGICTM || OrderSymbol()!=Symbol()) 계속;

if(주문유형()==OP_BUY)

{

// 이익을 고정하기 위해 스톱 위로 이동

if ((OrderOpenPrice()-Ask) >= (MoveStopAfterProfitof * Point())) {

OrderModify(OrderTicket(),0,OrderOpenPrice()+(MoveStopAmount*Point),OrderTakeProfit(),0,Black);

}

}

if(주문 유형()==OP_SELL)

{

// 이익을 고정하기 위해 스톱 위로 이동

if ((OrderOpenPrice() - 입찰) >= (MoveStopAfterProfitof * Point())) {

OrderModify(OrderTicket(),0,OrderOpenPrice()-(MoveStopAmount*Point),OrderTakeProfit(),0,Black);

}

}

}

}

무효 CheckTrendManager() {

if (시간[0]-LastTMSignalTime > MinTimeBetweenSignals) {

이중 PipsStopLoss, PipsTakeProfit;

이중 TMbuy = iCustom(Symbol(),Period(), "TrendManagerNT",2, 0);

이중 TMsell = iCustom(Symbol(),Period(), "TrendManagerNT",3, 0);

int 주문 결과;

if (TM구매 > 0) {

if (CheckFilters(OP_BUY)==true) {

PipsStopLoss = Ask-(StopLoss * Point());

PipsTakeProfit = Ask+(TakeProfit * Point());

닫기기존(OP_SELL);

orderresult =OrderSend(Symbol(),OP_BUY,TMlots,Ask,Slippage,PipsStopLoss, PipsTakeProfit,"",MAGICTM,0,Maroon);

Print(Time[0] + "BUY ON TM, 주문 결과:" + orderresult + "stop:" + PipsStopLoss + ",takeprofit:" + PipsTakeProfit);

LastTMSignalTime = 시간[0];

}

}

if (TMsell > 0){

if (CheckFilters(OP_SELL)==true) {

PipsStopLoss = Bid+(StopLoss * Point());

PipsTakeProfit = 입찰가-(TakeProfit * Point());

닫기기존(OP_BUY);

orderresult = OrderSend(Symbol(),OP_SELL,TMlots,Bid,Slippage,PipsStopLoss,PipsTakeProfit,"",MAGICTM,0,Green);

Print(Time[0] + "SELL ON TM, 주문 결과:" + orderresult + "stop:" + PipsStopLoss + ",takeprofit:" + PipsTakeProfit);

LastTMSignalTime = 시간[0];

}

}

}

}

무효 CheckForTMClose() {

이중 TMclosesell = iCustom(Symbol(),Period(), "TrendManagerNT",4, 0);

이중 TMclosebuy = iCustom(Symbol(),Period(), "TrendManagerNT",5, 0);

for(int i=0;i<OrdersTotal();i++)

{

if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) 중단;

if(OrderMagicNumber()!=MAGICTM || OrderSymbol()!=Symbol()) 계속;

//---- 그냥 닫아라

if ((TMclosesell > 0) && (OrderType()==OP_SELL)) {

OrderClose(OrderTicket(),OrderLots(),Bid,10,Pink);

}

if ((TMclosebuy > 0) && (OrderType()==OP_BUY)) {

OrderClose(OrderTicket(),OrderLots(),Bid,10,Pink);

}

}

}

// 기존 위치를 닫습니다.

무효 CloseExisting(int OrderTyp)

{

for(int i=0;i<OrdersTotal();i++)

{

if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) 중단;

if(OrderMagicNumber()!=MAGICTM || OrderSymbol()!=Symbol()) 계속

//---- 그냥 닫습니다 std 미끄러짐

if(주문유형()==주문유형)

{

OrderClose(OrderTicket(),OrderLots(),입찰가,10,흰색);

}

}

}

bool CheckFilters(int OrderTyp) {

반환(참);

}

 

확장자가 .mq4인 파일의 이름을 바꾸면 됩니다. 그게 다야.

 

안녕하세요.

변경하려고 하지만 작동하지 않습니다. 저를 위해 완료해 주실 수 있나요?

감사합니다.

차.

 
chawichsak:
안녕하세요.

변경하려고 하지만 작동하지 않습니다. 저를 위해 완료해 주실 수 있나요?

감사합니다.

차.

코드에서 몇 가지 버그를 수정했습니다.

로버트

파일:
 

주문 보내기 기능에 필요한 도움

안녕,

orderend() 함수 에 문제가 있습니다.

내가 만든 코드는 다음과 같습니다.

정수 x = 1;

정수 초기화()

{

리턴(0);

}

정수 초기화()

{

리턴(0);

}

정수 시작()

{

이중 prixdachat = MathMax(높은[1],높은[2]);

이중 prixdevente = MathMin(낮음[1], 낮음[2]);

int 티켓1, 티켓2;

만약 (x==1)

{

ticket1=OrdreSend(Symbol(),OP_BUY,1,prixdachat+10*Point,5,prixdachat,prixdachat+20*Point,"ordre",1,15,Green);

ticket2=OrdreSend(Symbol(),OP_SELL,1,prixdevente-10*Point,5,prixdevente,prixdevente-20*Point,"ordre",2,15,Red);

Print("주문이 시작되었습니다");

x++;

if(티켓1<0)

{

Print("오류 번호로 OrderSend 1 실패",GetLastError());

리턴(0);

}

if(티켓2<0)

{

Print("오류 번호로 OrderSend 2가 실패했습니다.",GetLastError());

리턴(0);

}

}

리턴(0);

}

이 코드를 사용하면 #130 오류가 발생합니다(오류 중지).

누가 뭐가 잘못된건지 설명해주실분 계신가요...

감사해요.

 

OP_BUY 또는 OP_SELL 주문의 사용을 의미하는 소위 " 즉시 실행 "을 사용하는 경우 매수 요청 및 매도 입찰 이외의 진입 가격을 지정할 수 없습니다.

 
fracte:
안녕,

ticket1=OrdreSend(Symbol(),OP_BUY,1,prixdachat+10*Point,5,prixdachat,prixdachat+20*Point,"ordre",1,15,Green);

ticket2=OrdreSend(Symbol(),OP_SELL,1,prixdevente-10*Point,5,prixdevente,prixdevente-20*Point,"ordre",2,15,Red);

이 코드를 사용하면 #130 오류가 발생합니다(오류 중지).

누가 뭐가 잘못된건지 설명해주실분 계신가요...

감사해요.

즉석 주문 대신 보류 중인 주문 을 사용합니다.

(예: OP_BUY FOR OP_BUYSTOP 및 OP_SELL FOR OP_SELLSTOP 변경)

그리고 괜찮을 것입니다.

 

MR.PIP님, 감사합니다.

차.