MQL4 및 MQL5에 대한 초보자 질문, 알고리즘 및 코드에 대한 도움말 및 토론 - 페이지 234

 
Vitaly Muzichenko :

좋은 "톤" 프로그래밍은 오류와 경고가 없는 프로그램이며 나머지는 모두 아마추어적입니다.


맛은 남겨두자. 나는 그러한 경고가 이유가 있다고 가정합니다. 질문 - 무엇을 위해?

 
Artyom Trishkin :
당신은 잡지에서 고문이 번 돈을 인출하지 않을 것입니다. 따라서 프로그램은 적절하게 작동하기 위해 오류를 처리해야 합니다.

따라서 프로그램은 어쨌든 그것들을 처리하고(있는 경우) 그에 대한 메시지를 표시합니다. 여기서 내가 이해하지 못한 것은 무엇입니까?

 
Andrey Sokolov :

따라서 프로그램은 어쨌든 그것들을 처리하고(있는 경우) 그에 대한 메시지를 표시합니다. 여기서 내가 이해하지 못한 것은 무엇입니까?

프로그램이 아니라 터미널입니다.
프로그램에서 처리하려면 먼저 가져와야 합니다. 이를 위해거래 함수 는 오류 시 false를 반환합니다. 또한 함수의 결과가 false이면 GetLastError() 오류 코드를 가져와 프로그램에서 처리해야 합니다.
[삭제]  

인사말! 터미널 로그인 실패! 어디에서 무엇을 할 것인가?

 
kalmyk87 : 안녕하세요! 단말기가 승인을 통과하지 못했습니다! 어디에서 무엇을 할 것인가?
권한 부여 = 브로커 서버와 연결하려면 인터넷을 켜야 합니다. 데모 - 비밀번호를 잊어버린 경우 새 계정을 만드십시오. 진짜라면 - 브로커에게 전화하십시오.
[삭제]  
STARIJ :
권한 부여 = 브로커 서버와의 통신, 인터넷을 켜야 합니다. 데모 - 비밀번호를 잊어버린 경우 새 계정을 만드십시오. 진짜라면 - 브로커에게 전화하십시오.

계정에 따라 로그인했는데 ... mql5 프로필이 어떤 이유로 승인을 통과하지 못합니다 ..

 

안녕하세요. 이 질문을 도와주세요...

표시기는 CSV에서 현재 날짜의 흰색 레벨을 그립니다. 가격이 이 수준에 도달하지 않으면 다음 날에도 해당 수준(수준)이 계속해서 점선으로 표시됩니다. 앞으로 이 흰색 점선에 도달하면 가격이 멈춥니다. 하지만 미작업 수준을 확인한 다음날(지표)는 이 수준을 완성된 것으로 간주하고 그리기를 중단하지만, 이 점선이 차트에 남아 있기를 바랍니다.

고맙습니다.

 //------------- читаю и разбираю строку из файла --

txt_data = FileReadString (file);   дата_уровней = StrToTime (txt_data+ " 00:00" );
if ( FileIsEnding (file)== true )     break ; // если конец  Выход из цикла
ArrayInitialize (d_input, 0 );
for ( int i= 0 ; i< 12 ; i++)   //== считываю уровни в массив
 {
 txt_data = FileReadString (file); 
 d_input[i] = replace_dot(txt_data);
 if ( FileIsLineEnding (file) ) break ;
 }

if (уровни == Daily)
  {
   double white = d_input[ 4 ];
   t0 = дата_уровней + 1 * PeriodSeconds ( PERIOD_H1 );
   t1 = дата_уровней + 23 * PeriodSeconds ( PERIOD_H1 );
     Draw_Level( "white" , white, c_day_3, STYLE_SOLID , толщина); 
       if (показ_неотработок)
     if ( !check_white_level(дата_уровней, white) )
     draw_line(t0, white, c_day_3) ;
  }
//   отображение  уровней 
void Draw_Level( string name, double _level, color _colr, int _style, int _width)
{
string o_name = i_name + "_" + name + "_" + TimeToStr (t0, TIME_DATE );
if (_level> 0 )
 {
   if ( ObjectFind (o_name) != 0 )
   ObjectCreate (o_name, OBJ_TREND , 0 , t0, _level, t1, _level);
   ObjectSet (o_name, OBJPROP_TIME1 , t0);
   ObjectSet (o_name, OBJPROP_PRICE1 , _level);
   ObjectSet (o_name, OBJPROP_TIME2 , t1);
   ObjectSet (o_name, OBJPROP_PRICE2 , _level);
   ObjectSet (o_name, OBJPROP_COLOR , _colr);
   ObjectSet (o_name, OBJPROP_STYLE , _style);
   if (_style == STYLE_DOT )   ObjectSet (o_name, OBJPROP_WIDTH , 1 );
     else      ObjectSet (o_name, OBJPROP_WIDTH , _width);
   ObjectSet (o_name, OBJPROP_RAY , false );   // луч
   ObjectSetText (o_name, DoubleToStr (_level, 4 ) );
   ObjectSetInteger ( 0 , o_name, OBJPROP_SELECTABLE , False ); 
   ObjectSetInteger ( 0 , o_name, OBJPROP_HIDDEN , True );  
   ObjectSetString ( 0 , o_name, OBJPROP_TOOLTIP , "\n" ); // убираю всплывающую надпись
 }
}
// проверка_отработки уровня
bool check_white_level( datetime t_open, double _level)
{
if (_level <= 0 ) return ( False );
int bar0 = iBarShift ( NULL , 0 , t_open);
double max = High [ iHighest ( NULL , 0 , MODE_HIGH , bar0, 0 )];
double min = Low [ iLowest ( NULL , 0 , MODE_LOW , bar0, 0 )];
if ( _level <= max && _level >= min )
   return ( TRUE );
return ( False );
}
void draw_line( datetime begin, double _level, color _clr)
{
if (_level <= 0 ) return ;
string o_name = i_name + "_wh1_" + TimeToStr (begin, TIME_DATE );
datetime t_0 = begin ;
datetime t_1 = TimeCurrent () ;
   if ( ObjectFind (o_name) != 0 )
   ObjectCreate (o_name, OBJ_TREND , 0 , t_0, _level, t_1, _level);
   ObjectSet (o_name, OBJPROP_TIME1 , t_0);
   ObjectSet (o_name, OBJPROP_PRICE1 , _level);
   ObjectSet (o_name, OBJPROP_TIME2 , t_1);
   ObjectSet (o_name, OBJPROP_PRICE2 , _level);
   ObjectSet (o_name, OBJPROP_COLOR , _clr);
   ObjectSet (o_name, OBJPROP_STYLE , STYLE_DOT );
   ObjectSet (o_name, OBJPROP_WIDTH , 1 );
     ObjectSet (o_name, OBJPROP_RAY , false );   // луч
     ObjectSetInteger ( 0 , o_name, OBJPROP_SELECTABLE , False ); 
   ObjectSetInteger ( 0 , o_name, OBJPROP_HIDDEN , True );  
   ObjectSetString ( 0 , o_name, OBJPROP_TOOLTIP , "\n" ); // убираю всплывающую надпись
}
 
서약이 무엇인지 이해하는 데 도움이 됩니다.
1) 보증금은 어떻게 계산하나요? Expert Advisor에서 이 값을 얻는 방법은 무엇입니까?
2) 잠금시 보증금은 어떻게 계산하나요? Expert Advisor에서 이 값을 얻는 방법은 무엇입니까?
3) 오픈 오더 티켓의 담보 금액은 어떻게 알 수 있나요? 나는 OrderMargin()과 같은 함수를 찾을 수 없었지만 주문에 대한 마진은 터미널에서 볼 수 있습니다(또는 그가 거짓말을 하고 있습니까?).
4) 마진은 주문을 열 때 한 번 고정되거나 현재 비율로 열린 주문이 존재하는 새로운 순간마다 재계산(부동)하는 매개변수입니까?

수동 계산 공식이 맞습니까?
(base_lot * trade_lot * current_rate_%%%USD) / 레버리지 = USD 마진
 
smart_man :
서약이 무엇인지 이해하는 데 도움이 됩니다.
1) 보증금은 어떻게 계산하나요? Expert Advisor에서 이 값을 얻는 방법은 무엇입니까?
2) 잠금시 보증금은 어떻게 계산하나요? Expert Advisor에서 이 값을 얻는 방법은 무엇입니까?
3) 오픈 오더 티켓의 담보 금액은 어떻게 알 수 있나요? 나는 OrderMargin()과 같은 함수를 찾을 수 없었지만 주문에 대한 마진은 터미널에서 볼 수 있습니다(또는 그가 거짓말을 하고 있습니까?).
4) 마진은 주문을 열 때 한 번 고정되거나 현재 비율로 열린 주문이 존재하는 새로운 순간마다 재계산(부동)하는 매개변수입니까?

수동 계산 공식이 맞습니까?
(base_lot * trade_lot * current_rate_%%%USD) / 레버리지 = USD 마진

하나)

 margin = AccountInfoDouble ( ACCOUNT_MARGIN );                         //-Размер зарезервированных залоговых средств на счете  в валюте депозита

2) 사용하지 않는다

3) 공식은 "current_rate_%%%USD"대신 에 pos의 시가 만 가지고있는 것입니다.

4) 고정 매개변수


옳은

 
Alekseu Fedotov :

하나)

2) 사용하지 않는다

3) 공식은 "current_rate_%%%USD"대신 에 pos의 시가 만 가지고있는 것입니다.

4) 고정 매개변수


옳은

고맙습니다!

2) 공식이 같다는 정보를 찾았습니다. 마지막에 모든 것을 2로 나눕니다만, 정말인지는 모르겠습니다.

3) OrderOpenPrice()에 따른 포지션 개시 가격은?

5) 또 다른 질문, 개설이 계획된 경우 그 전에 주문에 대한 모든 미래 비용(마진 금액, 손익 금액, 여기에서 비용도 계산해야 함)을 계산해야 합니다. 포인트, 무료 자금의 가용성을 확인하고, 한 번에 위험에 대한 무료 자금의 백분율로 제한하고, 다른 것을 놓쳤습니까?) 그런 다음에만 열 수 있습니까? 아니면 다른 방법으로 가능한가요? 또 다른 단점이 있습니다. 그것도 계산해야 합니까?

5.1) 핍 값을 계산하는 방법은 무엇입니까?

5.2) 무료 자금의 가용성을 확인하는 방법은 무엇입니까?

혼자서는 파악하기 어렵고 회계 같은 구체적인 것들이 너무 많아서 이렇게 질문드립니다.