코딩 도움말 - 페이지 471

 
systemfault:
여러분, 안녕하세요,

도움이 필요합니다... 간단한 EA가 있지만 4자리로 프로그래밍되어 있습니다. (예: EUR/USD: 1,1234)

ea 5자리는 어떻게 사용하나요? (예: EUR/USD: 1,12345)

감사해요:)

simpleea.mq4

다음을 추가할 수 있습니다.

*MathPow(10,_Digits%2)

_Point를 사용하는 곳에서는 4자리 및 5자리 브로커에서 동등하게 핍으로 작동합니다.

____________________

 

안녕하세요 mladen님

게시물을 주셔서 감사합니다.

나는 이것을 한다.

int CheckForOpen()

{

이중 L = 낮음;

이중 H = 높음;

이중 랏 = MathRound(AccountBalance()/100)/1000;

if((H-Bid>Limit*Point))

{OrderSend(Symbol(),OP_BUY,Lots,Ask,1,0,0,"",MAGICMA,0, CLR_NONE );

for(int i=1; i<5; i++){OrderSend(Symbol(),OP_BUYLIMIT,MathPow(2,i)*Lots,Ask-i*Grid*Point* MathPow(10,_Digits%2) ,1, 0,0,"",MAGICMA,0,CLR_NONE);}

}

if((입찰가-L>한도*포인트))

{OrderSend(Symbol(),OP_SELL,Lots,Bid,1,0,0,"",MAGICMA,0,CLR_NONE);

for(int j=1; j<5; j++){OrderSend(Symbol(),OP_SELLLIMIT,MathPow(2,j)*Lots,Bid+j*Grid*Point* MathPow(10,_Digits%2) ,1, 0,0,"",MAGICMA,0,CLR_NONE);}

}

}

사실이야?

 
systemfault:
안녕하세요 mladen님

게시물 주셔서 감사합니다.

나는 이것을 한다.

int CheckForOpen()

{

이중 L = 낮음;

이중 H = 높음;

이중 랏 = MathRound(AccountBalance()/100)/1000;

if((H-Bid>Limit*Point))

{OrderSend(Symbol(),OP_BUY,Lots,Ask,1,0,0,"",MAGICMA,0,CLR_NONE);

for(int i=1; i<5; i++){OrderSend(Symbol(),OP_BUYLIMIT,MathPow(2,i)*Lots,Ask-i*Grid*Point* MathPow(10,_Digits%2) ,1, 0,0,"",MAGICMA,0,CLR_NONE);}

}

if((입찰가-L>한도*포인트))

{OrderSend(Symbol(),OP_SELL,Lots,Bid,1,0,0,"",MAGICMA,0,CLR_NONE);

for(int j=1; j<5; j++){OrderSend(Symbol(),OP_SELLLIMIT,MathPow(2,j)*Lots,Bid+j*Grid*Point* MathPow(10,_Digits%2) ,1, 0,0,"",MAGICMA,0,CLR_NONE);}

}

}

사실이야?

그러나 Grid 매개변수 를 1500에서 150으로 변경합니다. 그렇지 않으면 Bid 또는 Ask에서 1500핍 떨어져 가격을 설정하려고 시도합니다.

 

해당 구성을 사용하고 있습니다.

외부 정수 PeriodX = 60;

외부 정수 제한 = 50;

외부 정수 그리드 = 14;

외부 정수 금액 = 1;

외부 정수 잠금 = 20;

그 구성은 어떻습니까?

 
systemfault:
해당 구성을 사용하고 있습니다.

외부 정수 PeriodX = 60;

외부 정수 제한 = 50;

extern int 그리드 = 14;

외부 정수 금액 = 1;

외부 정수 잠금 = 20;

그 구성은 어떻습니까?

매수 및 매도 한도 를 매도 및 매수에서 14핍 떨어져서 엽니다.

사용해보기

 
mladen:
매수 및 매도 한도를 14핍에서 매수 및 매도 입찰가에서 엽니다.

나는 시도 ...이 것 같습니다 ...

파일:
adsz.png  35 kb
 
systemfault:
나는 시도 ...이 것 같습니다 ...

내가 볼 때 그것은 의도 한대로하고 있습니다

 
mladen:
내가 볼 때 그것은 의도 한대로하고 있습니다

응 믈라덴..

그러나 나는 이익과 손절매 14핍 없이 주문을 마감하고 싶지 않습니다.

 
systemfault:
그래 mladen.. 하지만 나는 이익과 손절매 14핍 없이 주문을 마감하고 싶지 않습니다.

그런 다음 이익 실현 및 손실 방지를 추가하십시오.

 
mladen:
그런 다음 이익 실현 및 손실 방지를 추가하십시오.

이 코드를 추가했습니다.

int CheckForClose()

{

if(getProfit()>=Amount){CloseAll();}

if(잠금>0)

{

for(int TradeNumber = OrdersTotal(); TradeNumber >= 0; TradeNumber--)

{

if (OrderSelect(TradeNumber, SELECT_BY_POS, MODE_TRADES)&&(LockDown>0))

{ 정수 위치=주문 유형();

if((Pos==OP_BUY)&&(Bid-OrderOpenPrice()>Point*MathPow(10,_Digits%2)*LockDown)&&(OrderStopLoss() == 0))

{OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice()+Point,OrderTakeProfit(),0, CLR_NONE );}

if((Pos==OP_SELL)&&(OrderOpenPrice()-Ask>Point*MathPow(10,_Digits%2)*LockDown)&&(OrderStopLoss() == 0))

{OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice()-포인트,OrderTakeProfit(),0,CLR_NONE);}

}

}

}

}

예를 들어; EUR/USD 주문 가격 1.12345 sl/tp 1.12346

나는 sl/tp 1.12355를 원한다

무슨 일이 일어나고 있는지 이해하지 못합니까?