코딩하는 방법? - 페이지 231

 

훌륭합니다. 감사합니다!

 

사람, 배열 및 함수 , 내 차 한 잔이 아닙니다.

 

EA에 대한 도움말

다음을 수행하고 싶습니다.

M15 프레임을 사용하고 이 간격 동안 현재 가격을 이전 M15 종가(종가[1])와 비교하여 최대 2개의 주문을 엽니다. 그러나 이 절차가 다음 M15 프레임마다 수행되기를 원하기 때문에 해당 코드를 작성하는 방법을 모르겠습니다. 시작 기능 이 항상 자체적으로 실행되기 때문에 M15마다 최대 2개의 주문을 계산하기 위한 올바른 변수를 유지하는 방법은 무엇입니까?

고맙습니다

 

Open Pending Orders 스크립트에 대한 도움이 필요합니다.

여기에 주문을 열고 닫는 스크립트가 많이 있다는 것을 알고 있지만 보류 중인 주문을 여는 스크립트를 찾을 수 없습니다.

필요한 것은 2개의 스크립트, 1개의 Sellstop 및 1개의 Buystop입니다.

나는 Buystop이 일일 피벗보다 15핍 높은 Buystop 주문을 열고 SellStop이 일일 피벗보다 15핍 아래에서 열리도록 하고 싶습니다.

나는 그것을 가지고 놀았고 SellStop에 대한 아래 코드를 얻었지만 나는 코더가 아니며 작동하지 않습니다. 내가 뭔가를 밖으로 내 질문합니다.

누구든지 이 일을 도와주세요.

추신. 알겠습니다. 내 입찰 가격을 PVTGreen으로 변경해야 했습니다. 130에러가 뜨더라구요..

그것은 지금 작동합니다 ...

좋습니다. 한 가지 더 문제입니다. 누가 만료 시간을 24시간 후에서 같은 날 22:00으로 변경하는 방법을 알려줄 수 있습니까?

//+------------------------------------------------------------------+

//| script "send pending order with expiration data" |

//+------------------------------------------------------------------+

int start()

{

int ticket,expiration;

double point;

double PVTYellow = iCustom(NULL, 0, "pivot_alllevels", 0, 0, 0);

double PVTBlue = iCustom(NULL, 0, "pivot_alllevels", 0, 1, 0);

double PVTGreen = iCustom(NULL, 0, "pivot_alllevels", 0, 2, 0);

double PVTRed = iCustom(NULL, 0, "pivot_alllevels", 0, 3, 0);

double PVTMagenta = iCustom(NULL, 0, "pivot_alllevels", 0, 4, 0);

//----

point=MarketInfo(Symbol(),MODE_POINT);

expiration=TimeCurrent()+PERIOD_D1*60;

//----

while(true)

{

ticket = OrderSend(Symbol(),OP_SELLSTOP, 0.10, PVTGreen-15*Point, 3, PVTGreen+20*Point, PVTGreen-20*Point, 0,0,expiration,Red);

if(ticket<=0) Print("Error = ",GetLastError());

else { Print("ticket = ",ticket); break; }

//---- 10 seconds wait

Sleep(10000);

}

//----

return(0);

}

//+------------------------------------------------------------------+
 

만료를 22:00으로 설정하려면 다음을 수행할 수 있습니다.

int iHour = TimeHour(TimeCurrent());

int iMinute = TimeMinute(TimeCurrent());

int iDiff = 22%iHour;

datetime dtExpiryDate = (TimeCurrent()+(iDiff*60*60))-(iMinute*60);

Print(TimeToStr(dtExpiryDate));

오류 검사 가 없으므로 필요하다고 생각되면 반드시 추가하십시오.

럭스

 

시장 시계 기호를 잡아

안녕하세요 여러분,

EA를 수동으로 공급하는 대신 모니터링을 위해 시장 시계에서 사용할 수 있는 모든 기호를 가져올 수 있는 방법이 있는지 궁금합니다.

즉, 내 EA가 시장 감시 창에서 사용할 수 있는 모든 기호를 살펴보고 특정 기준에 대해 모니터링하기를 원합니다.

도움을 주시면 감사하겠습니다.

 

도와주세요 - 일요일 계정 잔액

안녕,

나는 어제부터 Account Balance Sunday(시장 성공 오프닝)가 공개된 이후로 나의 모든 주의 캐시를 수정하려고 노력하고 있습니다.

나는 시장에서 일요일의 EA 계정 잔액을 실행하기 위해 가져와야 합니다. 자산 관리자를 올바르게 여는 데 성공합니다.

이중 usedacc = 0;

...

if (usedacc == 0 | | DayOfWeek() == 0) usedacc = 계정 잔액();

...

그냥 작동하지 않습니다

내가 최선을 다해 도와줄 수 있는 사람이 있을지도 몰라

나쁜 영어 죄송합니다

 

이 게시물을 삭제하십시오 - thx

 

표시기에서 데이터를 얻는 방법

안녕하세요 여러분,

표시기의 FIBO100 및 FIBO0 값에 대한 EA가 필요합니다. 어떻게 받나요?

감사해요

데루무로

파일:
 

어떻게 얻나요?

비슷한 문제가 발생했습니다.

스콧

MQL의 "스크립트 간" 통신(또는 "인터 표시기" 통신)은 독점적으로 버퍼를 통과합니다. 이 코드:

추세 집합 = iCustom(NULL,0,"VGA 히스토그램~",0,0);

"VGA HISTOGRAM~" 표시기의 첫 번째(공개) 버퍼에서 현재 막대에 대한 값을 검색하려는 것을 의미합니다. 다른 표시기에서 선언된 변수의 값을 검색할 수 없습니다(외부로 선언된 경우 중요하지 않음) 전역 변수로 시도할 수 있지만 전역 변수는 작업하기 위해 끌기 때문에 작동하는 것보다 오류를 범할 기회가 더 많습니다. 그들과 함께 적절하게 사용하거나 DLL을 작성할 수 있습니다(메타 트레이더는 매개변수에 관계없이 차트당 하나의 DLL 인스턴스만 사용하므로 모든 종류의 ID에 따라 값 값을 보유하고 반환하는 일종의 "세마포어"를 만들 수 있습니다. - 이는 mql 코드 간 통신을 보장하고 잘못된 변수 읽기를 방지합니다(예를 들어 전역 변수는 쉽게 실수할 수 있으며 알지 못하는 사이에 완전히 다른 차트에서 변수를 읽을 수 있음)

문안 인사

믈라덴

실제로 이 문제를 해결하여 여러분과 공유할 것입니다.

표시기에서 새 기능 을 만들어 일이 지저분해지지 않도록 합니다.

무효 PASSINFO() {

int 경향 condtemp; // 이것을 원하는 이름으로 변경하십시오. 중요하지 않습니다. 게으른 경우 그대로 두십시오.

if (닫기[1] > 열기[2] && 거래량[1] < 거래량[2]) trendcondtemp=1; // 강세 - 코드를 사용하여 변수에 값을 설정합니다.

if (닫기[1] < 열기[2] && 거래량[1] < 거래량[2]) trendcondtemp=2; // 약세 - 같은 것 다른 냄새

if (볼륨[1] > 볼륨[2])trendcondtemp=3; // 빌어먹을 일 - 흐흐

if (Symbol()=="USDCHF") GlobalVariableSet("TRENDSETUSDCHF ",trendcondtemp);

if (Symbol()=="GBPUSD") GlobalVariableSet("TRENDSETGBPUSD",trendcondtemp);

if (Symbol()=="EURUSD") GlobalVariableSet("TRENDSETEURUSD",trendcondtemp);

if (Symbol()=="USDJPY") GlobalVariableSet("TRENDSETUSDJPY",trendcondtemp);

if (Symbol()=="USDCAD") GlobalVariableSet("TRENDSETUSDCAD",trendcondtemp);

if (Symbol()=="NZDUSD") GlobalVariableSet("TRENDSETNZDUSD",trendcondtemp);

if (Symbol()=="AUDUSD") GlobalVariableSet("TRENDSETAUDUSD",trendcondtemp);

if (Symbol()=="AUDNZD") GlobalVariableSet("TRENDSETAUDNZD",trendcondtemp);

if (Symbol()=="AUDCAD") GlobalVariableSet("TRENDSETAUDCAD",trendcondtemp);

if (Symbol()=="EURUSD") GlobalVariableSet("TRENDSETEURUSD",trendcondtemp);

if (Symbol()=="AUDCHF") GlobalVariableSet("TRENDSETAUDCHF",trendcondtemp);

if (Symbol()=="AUDJPY") GlobalVariableSet("TRENDSETAUDJPY",trendcondtemp);

if (Symbol()=="CHFJPY") GlobalVariableSet("TRENDSETCHFJPY",trendcondtemp);

if (Symbol()=="EURGBP") GlobalVariableSet("TRENDSETEURGBP",trendcondtemp);

if (Symbol()=="EURAUD") GlobalVariableSet("TRENDSETEURAUD",trendcondtemp);

if (Symbol()=="EURCHF") GlobalVariableSet("TRENDSETEURCHF",trendcondtemp);

if (Symbol()=="EURJPY") GlobalVariableSet("TRENDSETEURJPY",trendcondtemp);

if (Symbol()=="EURNZD") GlobalVariableSet("TRENDSETEURNZD",trendcondtemp);

if (Symbol()=="GBPCHF") GlobalVariableSet("TRENDSETGBPCHF",trendcondtemp);

if (Symbol()=="GBPAUD") GlobalVariableSet("TRENDSETGBPAUD",trendcondtemp);

if (Symbol()=="GBPCAD") GlobalVariableSet("TRENDSETGBPCAD",trendcondtemp);

if (Symbol()=="GBPJPY") GlobalVariableSet("TRENDSETGBPJPY",trendcondtemp);

if (Symbol()=="NZDJPY") GlobalVariableSet("TRENDSETNZDJPY",trendcondtemp);

//기름/금/세클/당신이 거래하는 모든 것을 추가하십시오. 나는 내 중개인이하는 모든 것을 다루었습니다

}

이제 통화에 의존하기 때문에 다른 통화와 교차하여 가치를 채울 가능성이 없습니다. 이제 값을 호출하기 전에 이것을 시작/함수에 넣어야 합니다.

인트 트렌드셋;

if (Symbol()=="USDCHF") trendset= GlobalVariableGet("TRENDSETUSDCHF");

if (Symbol()=="GBPUSD") trendset= GlobalVariableGet("TRENDSETGBPUSD");

if (Symbol()=="EURUSD") trendset= GlobalVariableGet("TRENDSETEURUSD");

if (Symbol()=="USDJPY") trendset= GlobalVariableGet("TRENDSETUSDJPY");

if (Symbol()=="USDCAD") trendset= GlobalVariableGet("TRENDSETUSDCAD");

if (Symbol()=="NZDUSD") trendset= GlobalVariableGet("TRENDSETNZDUSD");

if (Symbol()=="AUDUSD") trendset= GlobalVariableGet("TRENDSETAUDUSD");

if (Symbol()=="AUDNZD") trendset= GlobalVariableGet("TRENDSETAUDNZD");

if (Symbol()=="AUDCAD") trendset= GlobalVariableGet("TRENDSETAUDCAD");

if (Symbol()=="EURUSD") trendset= GlobalVariableGet("TRENDSETEURUSD");

if (Symbol()=="AUDCHF") trendset= GlobalVariableGet("TRENDSETAUDCHF");

if (Symbol()=="AUDJPY") trendset= GlobalVariableGet("TRENDSETAUDJPY");

if (Symbol()=="CHFJPY") trendset= GlobalVariableGet("TRENDSETCHFJPY");

if (Symbol()=="EURGBP") trendset= GlobalVariableGet("TRENDSETEURGBP");

if (Symbol()=="EURAUD") trendset= GlobalVariableGet("TRENDSETEURAUD");

if (Symbol()=="EURCHF") trendset= GlobalVariableGet("TRENDSETEURCHF");

if (Symbol()=="EURJPY") trendset= GlobalVariableGet("TRENDSETEURJPY");

if (Symbol()=="EURNZD") trendset= GlobalVariableGet("TRENDSETEURNZD");

if (Symbol()=="GBPCHF") trendset= GlobalVariableGet("TRENDSETGBPCHF");

if (Symbol()=="GBPAUD") trendset= GlobalVariableGet("TRENDSETGBPAUD");

if (Symbol()=="GBPCAD") trendset= GlobalVariableGet("TRENDSETGBPCAD");

if (Symbol()=="GBPJPY") trendset= GlobalVariableGet("TRENDSETGBPJPY");

if (Symbol()=="NZDJPY") trendset= GlobalVariableGet("TRENDSETNZDJPY");

참고하세요!!! (당신은 이미 이것을 알고 있습니다) 그러나 값을 변경하려면 ea가 실행 중인 통화에서 표시기를 실행해야 합니다. 그렇지 않으면 mt4에 몇 주 동안 저장된 이전 변수를 얻게 됩니다.