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

 

키코시,

최상의 좌표를 직접 테스트하고 싶을 수도 있습니다. FerruFX 및 CJA는 개체 배치에 대한 사용자 입력과 함께 기본 모서리 위치를 갖는 최상의 솔루션을 사용했습니다. OBJPROP_CORNER를 볼 수도 있습니다.

또한 귀하가 한 것과 같은 요청을 게시하지 마십시오. 사용자는 귀하의 게시물을 보고 누군가가 귀하를 도울 수 있으면 도움이 될 것입니다.

고맙습니다

편집: 모서리 속성 사용 0은 왼쪽 상단, 1은 오른쪽 상단, 2는 왼쪽 하단, 3은 오른쪽 하단입니다. 0카운트입니다.

 

내 EA 디버깅에 대한 도움말

안녕. 게시하기에 잘못된 포럼이라면 죄송합니다. 그렇다면 수정하십시오.

내 자신의 EA를 프로그래밍했으며 주문 작성 및 손절매 주문에 몇 가지 문제가 있습니다. 누군가가 도움이 될까요? EA를 공유할 수 있습니다.

감사해요

 

코도브로,

친절한 답변 정말 감사합니다.

나는 이제부터 같은 질문을 다시 게시하지 않을 것입니다.

나는 당신의 제안에 감사드립니다.

이와 관련하여 왼쪽 위의 위치가 (0,0) 인 것으로 알고 있습니다. 그러면 그 때 오른쪽 아래의 표시는 무엇입니까?

예를 들어, 왼쪽 위 위치가 (0,0)일 때 오른쪽 아래 표시에 (250,350)을 사용할 수 있습니까?

위의 사항에 대해 너그러운 이해를 부탁드립니다.

 

모든 데이터를 표시하지 않는 지표 그래프

안녕

나는 C-프로그래밍에 꽤 능숙하지만 MQL4부터 시작합니다.

방금 첫 번째 표시기를 만들었고 별도의 창에 부분적으로 배열이 표시됩니다.

부분적으로는 왼쪽으로 스크롤하면 일정 기간 동안 아무 것도 표시되지 않고 왼쪽으로 더 스크롤하면 일정 기간 동안 데이터가 표시되는 식입니다.

오른쪽으로 스크롤하면 동일한 기간이 표시되지 않습니다.

그렇지 않으면 패턴이 보이지 않습니다.

또한 일부 데이터가 표시되는 1분에서 5분으로 이동하면 아무 것도 표시되지 않습니다.

모든 데이터가 표시되지 않는 이유는 무엇입니까? 내가 놓친 것은 무엇입니까?

 

좋은 EA - 도움이 필요합니다

하이,

이 훌륭한 포럼에 누군가 중단 없이 이 EA를 수정할 수 있습니까?

감사해요

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

extern int INCREMENT=35;

외부 이중 LOTS=0.1;

extern int LEVELS=3;

외부 이중 MAX_LOTS=99;

extern int MAGIC=1803;

extern 부울 CONTINUE=true;

extern 부울 MONEY_MANAGEMENT=거짓;

외부 int RISK_RATIO=2;

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

부울 UseProfitTarget=거짓;

부울 UsePartialProfitTarget=거짓;

int Target_Increment = 50;

int First_Target = 20;

부울 UseEntryTime=거짓;

정수 항목 시간 = 0;

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

bool Enter=참;

정수 다음TP;

정수 초기화()

{

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

nextTP = First_Target;

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

리턴(0);

}

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

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

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

정수 초기화()

{

리턴(0);

}

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

//| 전문가 시작 기능 |

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

정수 시작()

{

int 티켓, cpt, 이익, 총계=0, BuyGoalProfit, SellGoalProfit, PipsLot;

이중 ProfitTarget=INCREMENT*2, BuyGoal=0, SellGoal=0, 스프레드=(매도-입찰)/포인트, InitialPrice=0;

//----

if(INCREMENT<MarketInfo(Symbol(),MODE_STOPLEVEL)+spread) INCREMENT=1+MarketInfo(Symbol(),MODE_STOPLEVEL)+spread;

if(MONEY_MANAGEMENT) LOTS=NormalizeDouble(AccountBalance()*AccountLeverage()/1000000*RISK_RATIO,0)*MarketInfo(Symbol(),MODE_MINLOT);

if(LOTS<MarketInfo(Symbol(),MODE_MINLOT))

{

Comment("시작하기에 충분한 여유 여백이 없습니다.");

리턴(0);

}

for(cpt=1;cpt<LEVELS;cpt++) PipsLot+=cpt*INCREMENT;

for(cpt=0;cpt<OrdersTotal();cpt++)

{

주문 선택(cpt,SELECT_BY_POS,MODE_TRADES);

if(OrderMagicNumber()==MAGIC && OrderSymbol()==Symbol())

{

총++;

if(!InitialPrice) InitialPrice=StrToDouble(OrderComment());

if(UsePartialProfitTarget && UseProfitTarget && OrderType()<2)

{

더블 val=getPipValue(OrderOpenPrice(),OrderType());

테이크프로핏(val,OrderTicket());

}

}

}

if(total<1 && Enter && (!UseEntryTime || (UseEntryTime && Hour()==EntryTime)))

{

if(AccountFreeMargin()<(100*LOTS))

{

Print("시작할 여유 여백이 충분하지 않습니다.");

리턴(0);

}

// - 오픈 체크 - 사이클 시작

InitialPrice=묻기;

SellGoal=초기 가격-(LEVELS+1)*INCREMENT*포인트;

BuyGoal=InitialPrice+(LEVELS+1)*INCREMENT*포인트;

for(cpt=1;cpt<=레벨;cpt++)

{

OrderSend(Symbol(),OP_BUYSTOP,LOTS,InitialPrice+cpt*INCREMENT*Point,2,SellGoal,BuyGoal,DoubleToStr(InitialPrice,MarketInfo(Symbol(),MODE_DIGITS)),MAGIC,0);

OrderSend(Symbol(),OP_SELLSTOP,LOTS,InitialPrice-cpt*INCREMENT*Point,2,BuyGoal+spread*Point,SellGoal+spread*Point,DoubleToStr(InitialPrice,MarketInfo(Symbol(),MODE_DIGITS)),MAGIC,0) ;

}

} // 초기 설정 완료 - 모든 채널이 설정되었습니다.

else // 미결 주문이 있습니다.

{

BuyGoal=초기가격+증가*(레벨+1)*포인트;

SellGoal=초기 가격-INCREMENT*(LEVELS+1)*포인트;

total=OrdersHistoryTotal();

for(cpt=0;cpt<전체;cpt++)

{

주문 선택(cpt,SELECT_BY_POS,MODE_HISTORY);

if(OrderSymbol()==Symbol() && OrderMagicNumber()==MAGIC && StrToDouble(OrderComment())==InitialPrice){EndSession();return(0);}

}

if(UseProfitTarget && CheckProfits(LOTS,OP_SELL,true,InitialPrice)>ProfitTarget) {EndSession();return(0);}

BuyGoalProfit=CheckProfits(LOTS,OP_BUY,false,InitialPrice);

SellGoalProfit=CheckProfits(LOTS,OP_SELL,false,InitialPrice);

if(BuyGoalProfit<ProfitTarget)

// - 인크리먼트 랏 구매

{

for(cpt=LEVELS;cpt>=1 && BuyGoalProfit<ProfitTarget;cpt--)

{

if(Ask<=(InitialPrice+(cpt*INCREMENT-MarketInfo(Symbol(),MODE_STOPLEVEL))*Point))

{

ticket=OrderSend(Symbol(),OP_BUYSTOP,cpt*LOTS,InitialPrice+cpt*INCREMENT*Point,2,SellGoal,BuyGoal,DoubleToStr(InitialPrice,MarketInfo(Symbol(),MODE_DIGITS)),MAGIC,0);

}

if(티켓>0) BuyGoalProfit+=LOTS*(BuyGoal-InitialPrice-cpt*INCREMENT*Point)/Point;

}

}

if(SellGoalProfit<ProfitTarget)

// - 증분 판매

{

for(cpt=LEVELS;cpt>=1 && SellGoalProfit<ProfitTarget;cpt--)

{

if(Bid>=(InitialPrice-(cpt*INCREMENT-MarketInfo(Symbol(),MODE_STOPLEVEL))*Point))

{

ticket=OrderSend(Symbol(),OP_SELLSTOP,cpt*LOTS,InitialPrice-cpt*INCREMENT*Point,2,BuyGoal+spread*Point,SellGoal+spread*Point,DoubleToStr(InitialPrice,MarketInfo(Symbol(),MODE_DIGITS)), 매직,0);

}

if(티켓>0) SellGoalProfit+=LOTS*(InitialPrice-cpt*INCREMENT*Point-SellGoal-spread*Point)/Point;

}

}

}

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

Comment("mGRID EXPERT ADVISOR 버전 2.0\n",

"FX 계정 서버:",AccountServer(),"\n",

"날짜: ",Month(),"-",Day(),"-",Year()," 서버 시간: ",Hour(),":",Minute(),":",Seconds() ,"\N",

"최소 로트 크기 조정: ",MarketInfo(Symbol(),MODE_MINLOT),"\n",

"계정 잔액: $",AccountBalance(),"\n",

"기호: ", Symbol(),"\n",

"가격: ",NormalizeDouble(Bid,4),"\n",

"핍 스프레드: ",MarketInfo("EURUSD",MODE_SPREAD),"\n",

"증가 =" + 증가,"\n",

"많이: ",LOTS,"\n",

"레벨: " + LEVELS,"\n");

리턴(0);

}

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

int CheckProfits(두 배 LOTS, int 목표, bool 현재, 두 배 InitialPrice)

{

정수 이익 = 0, cpt;

if(현재)// 현재 이익 을 반환

{

for(cpt=0;cpt<OrdersTotal();cpt++)

{

주문 선택(cpt, SELECT_BY_POS, MODE_TRADES);

if(OrderSymbol()==Symbol() && StrToDouble(OrderComment())==초기 가격)

{

if(OrderType()==OP_BUY) 이익+=(Bid-OrderOpenPrice())/Point*OrderLots()/LOTS;

if(OrderType()==OP_SELL) 이익+=(OrderOpenPrice()-Ask)/Point*OrderLots()/LOTS;

}

}

수익(이익);

}

또 다른

{

if(목표==OP_BUY)

{

for(cpt=0;cpt<OrdersTotal();cpt++)

{

주문 선택(cpt, SELECT_BY_POS, MODE_TRADES);

if(OrderSymbol()==Symbol() && StrToDouble(OrderComment())==초기 가격)

{

if(OrderType()==OP_BUY) 이익+=(OrderTakeProfit()-OrderOpenPrice())/Point*OrderLots()/LOTS;

if(OrderType()==OP_SELL) 이익-=(OrderStopLoss()-OrderOpenPrice())/Point*OrderLots()/LOTS;

if(OrderType()==OP_BUYSTOP) 이익+=(OrderTakeProfit()-OrderOpenPrice())/Point*OrderLots()/LOTS;

}

}

수익(이익);

}

또 다른

{

for(cpt=0;cpt<OrdersTotal();cpt++)

{

주문 선택(cpt, SELECT_BY_POS, MODE_TRADES);

if(OrderSymbol()==Symbol() && StrToDouble(OrderComment())==초기 가격)

{

if(OrderType()==OP_BUY) 이익-=(OrderOpenPrice()-OrderStopLoss())/Point*OrderLots()/LOTS;

if(OrderType()==OP_SELL) 이익+=(OrderOpenPrice()-OrderTakeProfit())/Point*OrderLots()/LOTS;

if(OrderType()==OP_SELLSTOP) 이익+=(OrderOpenPrice()-OrderTakeProfit())/Point*OrderLots()/LOTS;

}

}

수익(이익);

}

}

}

부울 EndSession()

{

정수 cpt, total=OrdersTotal();

for(cpt=0;cpt<전체;cpt++)

{

수면(3000);

주문 선택(cpt,SELECT_BY_POS,MODE_TRADES);

if(OrderSymbol()==Symbol() && OrderType()>1) OrderDelete(OrderTicket());

else if(OrderSymbol()==Symbol() && OrderType()==OP_BUY) OrderClose(OrderTicket(),OrderLots(),Bid,3);

else if(OrderSymbol()==Symbol() && OrderType()==OP_SELL) OrderClose(OrderTicket(),OrderLots(),Ask,3);

}

if(!CONTINUE) Enter=거짓;

반환(참);

}

이중 getPipValue(이중 순서, 정수 디렉토리)

{

이중 발;

새로 고침 비율();

if(dir == 1) val=(NormalizeDouble(ord,Digits) - NormalizeDouble(Ask,Digits));

else val=(NormalizeDouble(Bid,Digits) - NormalizeDouble(ord,Digits));

val = val/포인트;

반환(발);

}

//=========== 함수 이익 실현

void takeProfit(int current_pips, int 티켓)

{

if(주문선택(티켓, SELECT_BY_TICKET))

{

if(current_pips >= nextTP && current_pips < (nextTP + Target_Increment))

{

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

{

if(OrderClose(티켓, MAX_LOTS, 묻기, 3))

nextTP+=목표_증가;

또 다른

Print("주문 종료 오류: ",GetLastError());

}

또 다른

{

if(OrderClose(티켓, MAX_LOTS, 입찰, 3))

nextTP+=목표_증가;

또 다른

Print("주문 마감 오류: ",GetLastError());

}

}

}

}

 
hkstar98:
하이,

이 훌륭한 포럼에 누군가 중단 없이 이 EA를 수정할 수 있습니까?

감사해요

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

extern int INCREMENT=35;

외부 이중 LOTS=0.1;

extern int LEVELS=3;

외부 더블 MAX_LOTS=99;

extern int MAGIC=1803;

extern 부울 CONTINUE=true;

extern 부울 MONEY_MANAGEMENT=거짓;

외부 int RISK_RATIO=2;

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

부울 UseProfitTarget=거짓;

부울 UsePartialProfitTarget=거짓;

int Target_Increment = 50;

int First_Target = 20;

부울 UseEntryTime=거짓;

정수 항목 시간 = 0;

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

bool Enter=참;

정수 다음TP;

정수 초기화()

{

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

nextTP = First_Target;

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

리턴(0);

}

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

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

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

정수 초기화()

{

리턴(0);

}

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

//| 전문가 시작 기능 |

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

정수 시작()

{

int 티켓, cpt, 이익, 총계=0, BuyGoalProfit, SellGoalProfit, PipsLot;

이중 ProfitTarget=INCREMENT*2, BuyGoal=0, SellGoal=0, 스프레드=(매도-입찰)/포인트, InitialPrice=0;

//----

if(INCREMENT<MarketInfo(Symbol(),MODE_STOPLEVEL)+spread) INCREMENT=1+MarketInfo(Symbol(),MODE_STOPLEVEL)+spread;

if(MONEY_MANAGEMENT) LOTS=NormalizeDouble(AccountBalance()*AccountLeverage()/1000000*RISK_RATIO,0)*MarketInfo(Symbol(),MODE_MINLOT);

if(LOTS<MarketInfo(Symbol(),MODE_MINLOT))

{

Comment("시작하기에 충분한 여유 여백이 없습니다.");

리턴(0);

}

for(cpt=1;cpt<LEVELS;cpt++) PipsLot+=cpt*INCREMENT;

for(cpt=0;cpt<OrdersTotal();cpt++)

{

주문 선택(cpt,SELECT_BY_POS,MODE_TRADES);

if(OrderMagicNumber()==MAGIC && OrderSymbol()==Symbol())

{

총++;

if(!InitialPrice) InitialPrice=StrToDouble(OrderComment());

if(UsePartialProfitTarget && UseProfitTarget && OrderType()<2)

{

더블 val=getPipValue(OrderOpenPrice(),OrderType());

테이크프로핏(val,OrderTicket());

}

}

}

if(total<1 && Enter && (!UseEntryTime || (UseEntryTime && Hour()==EntryTime)))

{

if(AccountFreeMargin()<(100*LOTS))

{

Print("시작할 여유 여백이 충분하지 않습니다.");

리턴(0);

}

// - 오픈 체크 - 사이클 시작

InitialPrice=묻다;

SellGoal=초기 가격-(LEVELS+1)*INCREMENT*포인트;

BuyGoal=InitialPrice+(LEVELS+1)*INCREMENT*포인트;

for(cpt=1;cpt<=레벨;cpt++)

{

OrderSend(Symbol(),OP_BUYSTOP,LOTS,InitialPrice+cpt*INCREMENT*Point,2,SellGoal,BuyGoal,DoubleToStr(InitialPrice,MarketInfo(Symbol(),MODE_DIGITS)),MAGIC,0);

OrderSend(Symbol(),OP_SELLSTOP,LOTS,InitialPrice-cpt*INCREMENT*Point,2,BuyGoal+spread*Point,SellGoal+spread*Point,DoubleToStr(InitialPrice,MarketInfo(Symbol(),MODE_DIGITS)),MAGIC,0) ;

}

} // 초기 설정 완료 - 모든 채널이 설정되었습니다.

else // 미결 주문이 있습니다.

{

BuyGoal=초기가격+증가*(레벨+1)*포인트;

SellGoal=초기 가격-INCREMENT*(LEVELS+1)*포인트;

total=OrdersHistoryTotal();

for(cpt=0;cpt<전체;cpt++)

{

주문 선택(cpt,SELECT_BY_POS,MODE_HISTORY);

if(OrderSymbol()==Symbol() && OrderMagicNumber()==MAGIC && StrToDouble(OrderComment())==InitialPrice){EndSession();return(0);}

}

if(UseProfitTarget && CheckProfits(LOTS,OP_SELL,true,InitialPrice)>ProfitTarget) {EndSession();return(0);}

BuyGoalProfit=CheckProfits(LOTS,OP_BUY,false,InitialPrice);

SellGoalProfit=CheckProfits(LOTS,OP_SELL,false,InitialPrice);

if(BuyGoalProfit<ProfitTarget)

// - 인크리먼트 랏 구매

{

for(cpt=LEVELS;cpt>=1 && BuyGoalProfit<ProfitTarget;cpt--)

{

if(Ask<=(InitialPrice+(cpt*INCREMENT-MarketInfo(Symbol(),MODE_STOPLEVEL))*Point))

{

ticket=OrderSend(Symbol(),OP_BUYSTOP,cpt*LOTS,InitialPrice+cpt*INCREMENT*Point,2,SellGoal,BuyGoal,DoubleToStr(InitialPrice,MarketInfo(Symbol(),MODE_DIGITS)),MAGIC,0);

}

if(티켓>0) BuyGoalProfit+=LOTS*(BuyGoal-InitialPrice-cpt*INCREMENT*Point)/Point;

}

}

if(SellGoalProfit<ProfitTarget)

// - 증분 판매

{

for(cpt=LEVELS;cpt>=1 && SellGoalProfit<ProfitTarget;cpt--)

{

if(Bid>=(InitialPrice-(cpt*INCREMENT-MarketInfo(Symbol(),MODE_STOPLEVEL))*Point))

{

ticket=OrderSend(Symbol(),OP_SELLSTOP,cpt*LOTS,InitialPrice-cpt*INCREMENT*Point,2,BuyGoal+spread*Point,SellGoal+spread*Point,DoubleToStr(InitialPrice,MarketInfo(Symbol(),MODE_DIGITS)), 매직,0);

}

if(티켓>0) SellGoalProfit+=LOTS*(InitialPrice-cpt*INCREMENT*Point-SellGoal-spread*Point)/Point;

}

}

}

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

Comment("mGRID EXPERT ADVISOR 버전 2.0\n",

"FX 계정 서버:",AccountServer(),"\n",

"날짜: ",Month(),"-",Day(),"-",Year()," 서버 시간: ",Hour(),":",Minute(),":",Seconds() ,"\N",

"최소 로트 크기 조정: ",MarketInfo(Symbol(),MODE_MINLOT),"\n",

"계정 잔액: $",AccountBalance(),"\n",

"기호: ", Symbol(),"\n",

"가격: ",NormalizeDouble(Bid,4),"\n",

"핍 스프레드: ",MarketInfo("EURUSD",MODE_SPREAD),"\n",

"증가 =" + 증가,"\n",

"많이: ",LOTS,"\n",

"레벨: " + LEVELS,"\n");

리턴(0);

}

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

int CheckProfits(두 배 LOTS, int 목표, bool 현재, 두 배 InitialPrice)

{

정수 이익 = 0, cpt;

if(현재)//현재 이익을 반환

{

for(cpt=0;cpt<OrdersTotal();cpt++)

{

주문 선택(cpt, SELECT_BY_POS, MODE_TRADES);

if(OrderSymbol()==Symbol() && StrToDouble(OrderComment())==초기 가격)

{

if(OrderType()==OP_BUY) 이익+=(Bid-OrderOpenPrice())/Point*OrderLots()/LOTS;

if(OrderType()==OP_SELL) 이익+=(OrderOpenPrice()-Ask)/Point*OrderLots()/LOTS;

}

}

수익(이익);

}

또 다른

{

if(목표==OP_BUY)

{

for(cpt=0;cpt<OrdersTotal();cpt++)

{

주문 선택(cpt, SELECT_BY_POS, MODE_TRADES);

if(OrderSymbol()==Symbol() && StrToDouble(OrderComment())==초기 가격)

{

if(OrderType()==OP_BUY) 이익+=(OrderTakeProfit()-OrderOpenPrice())/Point*OrderLots()/LOTS;

if(OrderType()==OP_SELL) 이익-=(OrderStopLoss()-OrderOpenPrice())/Point*OrderLots()/LOTS;

if(OrderType()==OP_BUYSTOP) 이익+=(OrderTakeProfit()-OrderOpenPrice())/Point*OrderLots()/LOTS;

}

}

수익(이익);

}

또 다른

{

for(cpt=0;cpt<OrdersTotal();cpt++)

{

주문 선택(cpt, SELECT_BY_POS, MODE_TRADES);

if(OrderSymbol()==Symbol() && StrToDouble(OrderComment())==초기 가격)

{

if(OrderType()==OP_BUY) 이익-=(OrderOpenPrice()-OrderStopLoss())/Point*OrderLots()/LOTS;

if(OrderType()==OP_SELL) 이익+=(OrderOpenPrice()-OrderTakeProfit())/Point*OrderLots()/LOTS;

if(OrderType()==OP_SELLSTOP) 이익+=(OrderOpenPrice()-OrderTakeProfit())/Point*OrderLots()/LOTS;

}

}

수익(이익);

}

}

}

부울 EndSession()

{

정수 cpt, total=OrdersTotal();

for(cpt=0;cpt<전체;cpt++)

{

수면(3000);

주문 선택(cpt,SELECT_BY_POS,MODE_TRADES);

if(OrderSymbol()==Symbol() && OrderType()>1) OrderDelete(OrderTicket());

else if(OrderSymbol()==Symbol() && OrderType()==OP_BUY) OrderClose(OrderTicket(),OrderLots(),Bid,3);

else if(OrderSymbol()==Symbol() && OrderType()==OP_SELL) OrderClose(OrderTicket(),OrderLots(),Ask,3);

}

if(!CONTINUE) Enter=거짓;

반환(참);

}

이중 getPipValue(이중 순서, 정수 디렉토리)

{

이중 발;

새로 고침 비율();

if(dir == 1) val=(NormalizeDouble(ord,Digits) - NormalizeDouble(Ask,Digits));

else val=(NormalizeDouble(Bid,Digits) - NormalizeDouble(ord,Digits));

val = val/포인트;

반환(발);

}

//=========== 함수 이익 실현

void takeProfit(int current_pips, int 티켓)

{

if(주문선택(티켓, SELECT_BY_TICKET))

{

if(current_pips >= nextTP && current_pips < (nextTP + Target_Increment))

{

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

{

if(OrderClose(티켓, MAX_LOTS, 묻기, 3))

nextTP+=목표_증가;

또 다른

Print("주문 종료 오류: ",GetLastError());

}

또 다른

{

if(OrderClose(티켓, MAX_LOTS, 입찰, 3))

nextTP+=목표_증가;

또 다른

Print("주문 종료 오류: ",GetLastError());

}

}

}

}

안녕

여기 당신이 간다

파일:
new.mq4  8 kb
 

codersguru:
던,

SL & TP의 코드는 이미 이 EA에 작성되었습니다.

다음 행을 보십시오.

if (Symbol()=="GBPUSD") {

PipsForEntry= 13;

TrailingStop = 40;

TakeProfit = 45;

InitialStopLoss=33;

} else if (Symbol()=="EURUSD") {

PipsForEntry= 13;

TrailingStop = 30;

TakeProfit = 45;

InitialStopLoss=23;

} else if (Symbol()=="USDCHF") {

PipsForEntry= 13;

TrailingStop = 30;

TakeProfit = 45;

InitialStopLoss=15;

} else {

PipsForEntry= 13;

TrailingStop = 30;

TakeProfit = 45;

InitialStopLoss=30;

} [/PHP]

If you want to make SL & TP external variables which you can set, you have to comment the above lines of code and uncomment these lines:

[PHP]/*

extern int PipsForEntry= 5;

extern double TrailingStop = 40;

extern double TakeProfit = 120;

extern double InitialStopLoss=50;

*/
 

신호당 최대 거래

신호당 거래 수를 제한하기 위해 무엇을 사용할지 아는 사람이 있습니까?

 

돕다

하이,

아직 손절매 가 있습니다

pghiaci:
안녕하세요
 

EA w/ 여러 CUSTOM 시간?

나는 EA가 여러 시간 프레임으로 만들어질 수 있다는 것을 알고 있지만 하나는 사용자 정의 시간으로 작성할 수 있습니까? MTF가 있는 EA가 있지만 기본 시간이 아닌 사용자 지정 시간이 필요하므로 자주 "일렬로 정렬"되지 않습니다.

문안 인사