포럼을 어지럽히 지 않도록 모든 초보자 질문. 프로, 놓치지 마세요. 너 없이는 아무데도 - 6. - 페이지 428

 
vadynik :

그래서 나는 공식이 필요합니다), 내일 시도할 것입니다, 감사합니다!

이전에 한 번 이상 여기에 있었습니다. 독창성에 도움이 될 것:

무료 마진과 로트에서 가격이 마이너스가 될 수 있는 포인트(포인트)를 계산하는 방법??? 누구든지이 코드를 가지고 있습니까 ???
링크 공식: Lot=Money/(Stoploss*Tick)
돈 - 벌다/잃다
손절매 - 브로커 포인트
틱 - MarketInfo( MODE_TICKVALUE)
여기에서 원하는 대로 비틀기:
손절매=돈/(Lot*Tick)
머니=랏*스톱로스*틱


 
vitali-attila :
안녕하세요. 계정 정보 파일이 어디에 저장되어 있는지 알려주실 수 있나요? 전략 테스터를 위해 스탑 레벨과 스프레드를 변경해야 합니다. 다른 방법이 있다면 알려주세요.
StopLevel은 변경되지 않지만 테스터 설정 에서 스프레드가 쉽습니다. 기간 선택에서 스프레드 크기를 선택할 수 있습니다.
 
Mr.Profit :

안녕, 친애하는 사람들!

FileOpen/FileWrite를 사용하여 EA/스크립트가 쓰는 파일의 전체 이름(경로 포함)을 어떻게 알 수 있습니까?

UAC가 활성화된 Win7 x64의 TerminalPath() + "\\experts\\files\\" 구성은 " C:\Program Files (x86)\Alpari Limited MT4\experts\files\ "를 가리키며, " C:\Users\<CurrentUser>\AppData\Local\VirtualStore\Program Files (x86)\Alpari Limited MT4\experts\files\ "

그래서 아무도 몰라?
 

나는 fileopen 구조("%userprofile%\AppData\Local\VirtualStore"+TerminalPath() 줄을 다듬고+"\\experts\\files\\"

그리고 가상화로 마무리하는 것이 좋습니다.

 
splxgf :

구성 파일을 시도합니다.open("%userprofile%\AppData\Local\VirtualStore"+ TerminalPath()+"\\experts\\files\\"

그리고 가상화로 마무리하는 것이 좋습니다.

가상화에 대해 잘못 이해했습니다 ...이 모든 것은 Win7이 설치된 일반 컴퓨터에서 발생합니다 ( 가상 머신이 아님).

TerminalPath()에서 경로의 일부를 추출하여 %userprofile%에 추가하는 것은 잘못된 것이며 터미널이 Program Files에 설치된 경우에만 작동합니다. 그러나 X:\a\b\c\d에 설치된 경우 - 경로의 어떤 부분을 %userprofiles%에 추가해야 합니까?

 
artmedia70 :

이전에 한 번 이상 여기에 있었습니다. 독창성에 도움이 될 것:

무료 마진과 로트에서 가격이 마이너스가 될 수 있는 포인트(포인트)를 계산하는 방법??? 누구든지이 코드를 가지고 있습니까 ???
링크 공식: Lot=Money/(Stoploss*Tick)
돈 - 벌다/잃다
손절매 - 브로커 포인트
틱 - MarketInfo( MODE_TICKVALUE)
여기에서 원하는 대로 비틀기:
손절매=돈/(Lot*Tick)
머니=랏*스톱로스*틱




예, 효과가 있었습니다. 감사합니다!
 
Mr.Profit :

가상화에 대해 잘못 이해했습니다 ...이 모든 것은 Win7이 설치된 일반 컴퓨터에서 발생합니다 (가상 컴퓨터가 아님).

TerminalPath()에서 경로의 일부를 추출하여 %userprofile%에 추가하는 것은 잘못된 것이며 터미널이 Program Files에 설치된 경우에만 작동합니다. 그러나 X:\a\b\c\d에 설치된 경우 - 경로의 어떤 부분을 %userprofiles%에 추가해야 합니까?

항목 1. UAC를 비활성화하거나 관리자로 실행하십시오.

문제는 무엇이며 전체 경로가 필요한 이유는 무엇입니까? MT4의 파일 기능은 자체적으로 가상화되어 있으며 Expert\files 디렉토리로 제한됩니다.

본격적인 작업이 필요한 경우 Windows api https://www.mql5.com/en/forum/112692 로 전환하거나 1번 항목을 참조하십시오.

 
splxgf :

항목 1. UAC를 비활성화하거나 관리자로 실행하십시오.

문제는 무엇이며 전체 경로가 필요한 이유는 무엇입니까? MT4의 파일 기능은 자체적으로 가상화되어 있으며 Expert\files 디렉토리로 제한됩니다.

본격적인 작업이 필요한 경우 Windows api https://www.mql5.com/en/forum/112692 로 전환하거나 1번 항목을 참조하십시오.

내 스크립트는 일부 HTML 보고서를 생성합니다. shell32.dll에서 ShellExecuteA()를 호출하여 보고서가 생성된 후 브라우저에서 자동으로 열려고 하는 저항할 수 없는( ;-) 욕구가 있습니다. 이를 위해서는 전체 경로가 필요합니다.

1항은 선택사항이 아니기 때문에 보편적인 해결책을 얻고 싶습니다.

 
그럼, 어느 정도 확률로 win api(CreateFileA)를 사용하여 파일을 생성하려고 시도할 수 있습니다. 사용자의 프로필 폴더에 생성될 것입니다. 그런 다음 핸들에서 전체 경로를 계산합니다.
 

얘들아 기능 좀 봐봐 막연한 의심에 괴로워

 void CloseHalfOrders( int otype) // ф-ция закрытия половины ордеров сетки
{
   int count = 0 ; double CTbuy = CountTrades( OP_BUY ); double CTsell = CountTrades( OP_SELL );
   double n = NormalizeDouble (CTbuy/ 2 , 1 ); double k = NormalizeDouble (CTsell/ 2 , 1 ); 
   for ( int i = 0 ; i< OrdersTotal ();)
  {
     if ( OrderSelect (i, SELECT_BY_POS , MODE_TRADES ))
    {
       if ( OrderSymbol ()== Symbol () && OrderMagicNumber ()==Magic && OrderType () == otype)
       {
         if (otype == OP_BUY )
         {
           if (count<n)
           OrderClose ( OrderTicket (), OrderLots (), Bid , 0 ,Lime);
           count++;
           Sleep ( 1000 );
         } //if (otype == OP_BUY)
           if (otype == OP_SELL )
           {
             if (count<k)
             OrderClose ( OrderTicket (), OrderLots (), Ask , 0 ,Lime);
             count++;
             Sleep ( 1000 );
           } //if (otype ==OP_SELL)
         } //if (OrderSymbol()==Symbol() && OrderMagicNumber()==Magic && OrderType() == otype)
           else i++;    
         } //if (OrderSelect(i, SELECT_BY_POS,MODE_TRADES))
       } //for (int i =0; i<OrdersTotal();)
     } //void CloseHalfOrders(int otype)