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

 
YanSay :

다음과 같이 ShellExecuteW()를 사용하여 수행하려고 합니다.

이봐:

https://www.mql5.com/en/forum/160683/page1243#comment_18095301

실행할 프로그램과 파일을 별도로 지정해야 할 수도 있습니다.
 
leonerd :


왜 그런 상황입니까? 동일한 막대 인덱스. 또한 심볼의 첫 번째 시작에서만 발생하는 것처럼 보입니다. 또는 더 깊은 역사. 위의 코드에서 막대가 있는지 확인하는 것으로 생각했습니다.

동일한 값은 수직선 또는 점을 의미합니다.
코드는 최종 버전이라고 주장하지 않고 데모용으로 작성되었습니다.
 
Aleksei Stepanenko :

이봐:

https://www.mql5.com/ru/forum/160683/page1243#comment_18095301

실행할 프로그램과 파일을 별도로 지정해야 할 수도 있습니다.

잘했습니다. 감사합니다!

이제 스크립트가 실행될 때까지 코드를 계속 실행하지 않도록 코드에 실행 확인을 포함하는 일만 남았습니다. 구현 방법을 알려주세요.

Sleep()보다 더 안정적이고 정확한 방법이 있다고 확신합니다.

 #import "shell32.dll"
int ShellExecuteW( int hWnd, string lpVerb, string lpFile, string lpParameters, string lpDirectory, int nCmdShow);
#import
#define SW_SHOW 5
#define SW_SHOWNORMAL 1

void OnStart ()
{
   ShellExecuteW( NULL , "Open" , "python.exe" , "C:\\Users\\yansa\\Desktop\\test_script.py" , NULL ,SW_SHOW); 
   Sleep ( 10000 );
   //Code continues
}
 

if 조건에서 어드바이저가 OnInit() 으로 돌아가도록 강제할 수 있는 방법을 알려주십시오.

 if (buy_lots> 0 ||sell_lots> 0 )
  { Go to OnInit ();}
 
MakarFX :

if 조건에서 어드바이저가 OnInit() 으로 돌아가도록 강제할 수 있는 방법을 알려주십시오.

OnInit()에서 사용하는 코드를 별도의 함수로 래핑하고 OnInit()에서 이 함수를 호출하고 필요한 경우 if()에서

 
YanSay :

잘했습니다. 감사합니다!

이제 스크립트가 실행될 때까지 코드를 계속 실행하지 않도록 코드에 실행 확인을 포함하는 일만 남았습니다. 구현 방법을 알려주세요.

Sleep()보다 더 안정적이고 정확한 방법이 있다고 확신합니다.

나는 또한 실험했다 - 나는 카메라를 열었지만 그것을 닫을 수는 없었다 - 프로세스가 죽을 때까지.

 //+------------------------------------------------------------------+
//|                                                            1.mq4 |
//|                        Copyright 2020, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2020, MetaQuotes Software Corp."
#property link        "https://www.mql5.com"
#property version    "1.00"
#property strict
#import "shell32.dll"
int ShellExecuteW( int hWnd, string lpVerb, string lpFile, string lpParameters, string lpDirectory, int nCmdShow);
#import
#define SW_SHOW 5
#define SW_SHOWNORMAL 1
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart ()
  {
//---
   ShellExecuteW( NULL , "Open" , "C:\\Program Files (x86)\\Lenovo\\YouCam\\YouCam.exe" , "" , NULL ,SW_SHOW); 
  }
//+------------------------------------------------------------------+
 
Igor Makanu :

OnInit()에서 사용하는 코드를 별도의 함수로 래핑하고 OnInit()에서 이 함수를 호출하고 필요한 경우 if()에서

나는 당신을 이해했다. 그리고 ExpertReload..Restart와 같이 더 간단한 것은 없습니다.
 
MakarFX :
나는 당신을 이해했다. 그리고 ExpertReload..Restart와 같이 더 간단한 것은 없습니다.

아니요

MQL 에서 OnInit , OnTick ... 함수를 호출하면 터미널만 생성됨을 의미하는 이벤트 모델

복잡한 솔루션을 원하신다면... 글쎄요, EA에서 TF를 바꾸세요 - OnInit 를 부르세요, 당신이 그것을 찾고 있었는지 의심스럽습니다 ;)

 
MakarFX :
나는 당신을 이해했다. 그리고 ExpertReload..Restart와 같이 더 간단한 것은 없습니다.

온틱에서 돌아오다

 
Igor Makanu :

아니요

MQL 에서 OnInit , OnTick ... 함수를 호출하면 터미널만 생성됨을 의미하는 이벤트 모델

복잡한 솔루션을 원하신다면... 글쎄요, EA에서 TF를 바꾸세요 - OnInit 를 부르세요, 당신이 그것을 찾고 있었는지 의심스럽습니다 ;)

감사합니다.