초보자의 질문 MQL5 MT5 MetaTrader 5 - 페이지 585

 
barudkinarseniy :
안녕 동지들! 오류가 무엇인지 알려주십시오. 컴파일러는 데이터 손실 가능성에 대한 경고를 발행합니다(
명시적 캐스트가 필요합니다.
 int ts = ( int ) SymbolInfoInteger ( Symbol (), SYMBOL_TRADE_STOPS_LEVEL );
 
고맙습니다! 변환으로 이러한 뉘앙스를 어떻게 기억할 수 있습니까?)
 
barudkinarseniy :
고맙습니다! 변환으로 이러한 뉘앙스를 어떻게 기억할 수 있습니까?)
이것은 종종 오해의 소지가 있습니다: SymbolInfoInteger . 따라서 도움말을 다시 한 번 살펴보는 것이 좋습니다.
 
무엇이 문제인지 알려주세요. 컴파일러는 오류를 발생시키지 않습니다. 대부분의 거래에서 테스터의 모든 것이 정상이지만 인쇄의 오류 처리기가 잘못된 중지를 기록 하고 시작 가격 이 소수점 이하 6자리로 기록됩니다. 잘못된 가격(중지) OrderSendX(symbol=AUDCAD,cmd=SELL,volume=0.29) , 가격 = 0.995120 , 미끄러짐 = 50, 손절매 = 0.996470, 이익 실현 = 0.991070)

 //+------------------------------------------------------------------+
//Открытие ордеров
void OrderOpen( int otype, double OpenPriceW1)
{
 int msl = ( int ) MarketInfo ( Symbol (), MODE_STOPLEVEL );
 int stsl = ( int ) SymbolInfoInteger ( Symbol (), SYMBOL_TRADE_STOPS_LEVEL );
 
 if (otype == OP_BUY )
 {
  StepSTBAY = ( int )( Ask / Point - OpenPriceW1/ Point );
  
   if (StepSTBAY < msl) StepSTBAY = msl;
   if (StepSTBAY < stsl) StepSTBAY = StepSTBAY + stsl;
  
  lots = LotsByRisk( OP_BUY ,StepSTBAY);
  ST_BAY = NormalizeDouble ( Ask - StepSTBAY* Point , Digits );
  TP_BAY = NormalizeDouble ( Ask + StepSTBAY*RR* Point , Digits );
      
  OrderSendX( Symbol (), OP_BUY ,lots, Ask ,slipage,ST_BAY,TP_BAY, "" ,Magic, 0 , clrGreen );
 }
 if (otype == OP_SELL )
 {
  StepSTSELL = ( int )(OpenPriceW1/ Point - Bid / Point );
  
   if (StepSTSELL < msl) StepSTSELL = msl;
   if (StepSTSELL < stsl) StepSTSELL = StepSTSELL + stsl;
  
  lots = LotsByRisk( OP_SELL ,StepSTSELL);
  ST_SELL = NormalizeDouble ( Bid + StepSTSELL* Point , Digits );
  TP_SELL = NormalizeDouble ( Bid - StepSTSELL*RR* Point , Digits );
     
  OrderSendX( Symbol (), OP_SELL ,lots, Bid ,slipage,ST_SELL,TP_SELL, "" ,Magic, 0 , clrRed );
 }
}
//+------------------------------------------------------------------+
 
barudkinarseniy :
무엇이 문제인지 알려주세요. 컴파일러는 오류를 발생시키지 않습니다. 대부분의 거래에서 테스터의 모든 것이 정상이지만 인쇄의 오류 처리기가 잘못된 중지를 기록 하고 시작 가격 이 소수점 이하 6자리로 기록됩니다. 잘못된 가격(중지) OrderSendX(symbol=AUDCAD,cmd=SELL,volume=0.29) , 가격 = 0.995120 , 미끄러짐 = 50, 손절매 = 0.996470, 이익 실현 = 0.991070)

내 눈을 가장 먼저 사로잡은 것은 이 코드 조각입니다. 이 두 기능은 동일합니다.
 int msl = ( int ) MarketInfo ( Symbol (), MODE_STOPLEVEL );
 int stsl = ( int ) SymbolInfoInteger ( Symbol (), SYMBOL_TRADE_STOPS_LEVEL );
첫 번째는 이전 버전, 두 번째는 새 버전
 
그리고 MT4에서 프로필을 변경할 때 고문이 계속 작동하는지 알려주십시오. 아니면 영구 작업을 위해 고문이 있는 모든 창을 하나의 프로필에서 열어야 합니까?
 

좋은 오후, 친애하는 프로그래머!

MQL4 에서 프로그램을 작성하여 다른 시간대에 계산된 값을 기반으로 양초 형태의 차트를 그릴 수 있습니까? 그러한 작업을 위해 기성품 코드가 있습니까?

 
Ivan Molchanov :
그리고 MT4에서 프로필을 변경할 때 고문이 계속 작동하는지 알려주십시오. 아니면 영구 작업을 위해 고문이 있는 모든 창을 하나의 프로필에서 열어야 합니까?

서비스 => 설정



그리고 하고 싶은 대로 하세요...

 
안녕하세요! 설정된 extern 매개변수에서 기간 선택을 지정하는 방법을 알려주실 수 있습니까? 수동으로 인쇄하지 않는 샘플은 무엇입니까?
 
barudkinarseniy :
안녕하세요! 설정된 extern 매개변수에서 기간 선택을 지정하는 방법을 알려주실 수 있습니까? 수동으로 인쇄하지 않는 샘플은 무엇입니까?

ENUM_TIMEFRAMES 열거형 변수를 사용하십시오.

사유: