주문을 보내기가 어렵습니다. - 페이지 3

 
CT Trade와 비슷합니다.
 
동적 로트 크기가 마음에 들지 않습니까?? 고정 로트 크기를 사용할 때 ct trade와 함께 작동합니다.
 
MetaNt :
동적 로트 크기가 마음에 들지 않습니까?? 고정 로트 크기를 사용할 때 ct trade와 함께 작동합니다.

CTrade 는 OrderSend()에 대한 래퍼입니다.

볼륨 à 0.07 또는 1에서는 작동하지 않는다고 썼습니다. 이것을 어떻게 정의합니까? 로트=0.07 ?

 
angevoyageur :

CTrade는 OrderSend()에 대한 래퍼입니다.

볼륨 à 0.07 또는 1에서는 작동하지 않는다고 썼습니다. 이것을 어떻게 정의합니까? 로트=0.07 ?

Mqlrequest 및 Mqlresult를 올바르게 작성했는지 확신할 수 없었으므로 대신 CTrade를 사용했습니다. 고정 볼륨을 사용하면 작동한다는 것을 알게 되었고 이제 고정 볼륨을 정수로 곱할 수 있다는 것을 발견했습니다. 하지만 시도하면 분수로 볼륨을 변경하려면 잘못된 로트 크기와 같은 오류가 발생하면 수정된 로트 크기의 결과가 [ 잘못된 볼륨 ] 오류와 함께 인쇄됩니다.
 
그것은 특정 복잡성의 소수입니다. 나는 double을 정규화하려고 시도할 것입니다.
 
MetaNt :
그것은 특정 복잡성의 소수입니다. 나는 double을 정규화하려고 시도할 것입니다.
Normalize double은 복잡한 소수에 대한 수정 사항을 제공합니다. 동적 로트에서 시도해 보겠습니다.
 
MetaNt :
Normalize double은 복잡한 소수에 대한 수정 사항을 제공합니다. 동적 로트에서 시도해 보겠습니다.

결정된.

CT Buy/Sell 외부에 있는 일부 방정식의 척도 요인 중 하나인 것 같습니다. mql4에서 발생한 문제가 아니므로 찾는 데 시간이 걸렸습니다. mql4가 다시 업데이트되면 주의해야 합니다.

이 문제가 있는 다른 사람의 경우 NormalizeDouble() 함수 의 숫자 부분에 2를 사용합니다.  

 

007 말씀하시는 건가요?

아마도 Mr Bond에게 물어봐야 할 것입니다 ;-)

 

나는 여기에서 같은 문제에 직면 한 것 같습니다. 로트 크기가 SYMBOL_VOLUME_MIN, SYMBOL_VOLUME_MAX 및 SYMBOL_VOLUME_STEP 요구 사항을 충족함을 확인했습니다.

예를 들어 나는 이것을 얻습니다.

2014.04.07 14:49:35 2014.04.04 16:00:00 CTrade::OrderSend: 즉석 매도 0.53 EURUSD at 1.36934 sl: 1.37434 tp: 1.35934 [무효 거래량]

이 기호와 다음 사양으로 EA를 백테스트하는 동안:


주문을 보내는 데 사용하는 코드는 다음과 같습니다.

 int    losses=1 ;
int    DecimalPoints=2;
double Risk= 0.03 ;
double Inc= 0.1 ;
my_symbol= Symbol ();
leverage= AccountInfoInteger ( ACCOUNT_LEVERAGE );
contract= SymbolInfoDouble (my_symbol, SYMBOL_TRADE_CONTRACT_SIZE );
min_lot= SymbolInfoDouble (my_symbol, SYMBOL_VOLUME_MIN );
max_lot= SymbolInfoDouble (my_symbol, SYMBOL_VOLUME_MAX );
trade_size=equity*(Risk/ 100 )*leverage;
trade_size/=contract;
trade_size+=losses*Inc;
NormalizeDouble (trade_size,DecimalPoints);
   if (trade_size<min_lot)
    {
     trade_size=min_lot;
    }
   else if (trade_size>max_lot)
    {
     trade_size=max_lot;
    }
trade.Sell(trade_size,my_symbol,price, 0 ,price-tp, "Expert Sell" );

편집하다:

물론 이 정확한 로트 크기로 수동으로 거래를 배치할 수 있습니다.

 
Candles :

나는 여기에서 같은 문제에 직면 한 것 같습니다. 로트 크기가 SYMBOL_VOLUME_MIN, SYMBOL_VOLUME_MAX 및 SYMBOL_VOLUME_STEP 요구 사항을 충족함을 확인했습니다.

예를 들어 나는 이것을 얻습니다.

2014.04.07 14:49:35 2014.04.04 16:00:00 CTrade::OrderSend: 즉석 매도 0.53 EURUSD at 1.36934 sl: 1.37434 tp: 1.35934 [무효 거래량]

이 기호와 다음 사양으로 EA를 백테스트하는 동안:


주문을 보내는 데 사용하는 코드는 다음과 같습니다.

편집하다:

물론 이 정확한 로트 크기로 수동으로 거래를 배치할 수 있습니다.

이 줄은 효과가 없습니다.

 NormalizeDouble (trade_size,DecimalPoints);

결과에 변수에 영향을 주어야 합니다. NormalizeDouble 문서를 참조하십시오.

trade_size= NormalizeDouble (trade_size,DecimalPoints);