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

 
wolfe:
표준 라이브러리를 포함해야 합니다.

전:

#include

Error=GetLastError();

Print("ERROR = ", ErrorDescription(Error));

표준 라이브러리에서 문자열을 반환하는 함수인 경우 ErrorDescription()입니다.

도움이 되었기를 바랍니다.

늑대의 도움에 감사드립니다

일이야~ ~

그리고 코드가 네이티브 스크립트 샘플 "trade.mq4"에서 찾을 수 있음을 발견했습니다.

 
chiwing:
열기/닫기/수정 순서 오류 발생 시 코드,

오류=GetLastError();

Print("마지막 오류 = ",오류)

하지만 error_string을 인쇄하고 싶습니다~ ~

문장이 뭐야??

감사합니다

표준 라이브러리 를 포함해야 합니다.

전:

#include

Error=GetLastError();

Print("ERROR = ", ErrorDescription(Error));[/PHP]

ErrorDescription() is a function that returns a string in the standard library.

[PHP]string ErrorDescription(int error_code)

{

string error_string;

//----

switch(error_code)

{

//---- codes returned from trade server

case 0:

case 1: error_string="no error"; break;

case 2: error_string="common error"; break;

case 3: error_string="invalid trade parameters"; break;

case 4: error_string="trade server is busy"; break;

case 5: error_string="old version of the client terminal"; break;

case 6: error_string="no connection with trade server"; break;

case 7: error_string="not enough rights"; break;

case 8: error_string="too frequent requests"; break;

case 9: error_string="malfunctional trade operation (never returned error)"; break;

case 64: error_string="account disabled"; break;

case 65: error_string="invalid account"; break;

case 128: error_string="trade timeout"; break;

case 129: error_string="invalid price"; break;

case 130: error_string="invalid stops"; break;

case 131: error_string="invalid trade volume"; break;

case 132: error_string="market is closed"; break;

case 133: error_string="trade is disabled"; break;

case 134: error_string="not enough money"; break;

case 135: error_string="price changed"; break;

case 136: error_string="off quotes"; break;

case 137: error_string="broker is busy (never returned error)"; break;

case 138: error_string="requote"; break;

case 139: error_string="order is locked"; break;

case 140: error_string="long positions only allowed"; break;

case 141: error_string="too many requests"; break;

case 145: error_string="modification denied because order too close to market"; break;

case 146: error_string="trade context is busy"; break;

case 147: error_string="expirations are denied by broker"; break;

case 148: error_string="amount of open and pending orders has reached the limit"; break;

//---- mql4 errors

case 4000: error_string="no error (never generated code)"; break;

case 4001: error_string="wrong function pointer"; break;

case 4002: error_string="array index is out of range"; break;

case 4003: error_string="no memory for function call stack"; break;

case 4004: error_string="recursive stack overflow"; break;

case 4005: error_string="not enough stack for parameter"; break;

case 4006: error_string="no memory for parameter string"; break;

case 4007: error_string="no memory for temp string"; break;

case 4008: error_string="not initialized string"; break;

case 4009: error_string="not initialized string in array"; break;

case 4010: error_string="no memory for array\' string"; break;

case 4011: error_string="too long string"; break;

case 4012: error_string="remainder from zero divide"; break;

case 4013: error_string="zero divide"; break;

case 4014: error_string="unknown command"; break;

case 4015: error_string="wrong jump (never generated error)"; break;

case 4016: error_string="not initialized array"; break;

case 4017: error_string="dll calls are not allowed"; break;

case 4018: error_string="cannot load library"; break;

case 4019: error_string="cannot call function"; break;

case 4020: error_string="expert function calls are not allowed"; break;

case 4021: error_string="not enough memory for temp string returned from function"; break;

case 4022: error_string="system is busy (never generated error)"; break;

case 4050: error_string="invalid function parameters count"; break;

case 4051: error_string="invalid function parameter value"; break;

case 4052: error_string="string function internal error"; break;

case 4053: error_string="some array error"; break;

case 4054: error_string="incorrect series array using"; break;

case 4055: error_string="custom indicator error"; break;

case 4056: error_string="arrays are incompatible"; break;

case 4057: error_string="global variables processing error"; break;

case 4058: error_string="global variable not found"; break;

case 4059: error_string="function is not allowed in testing mode"; break;

case 4060: error_string="function is not confirmed"; break;

case 4061: error_string="send mail error"; break;

case 4062: error_string="string parameter expected"; break;

case 4063: error_string="integer parameter expected"; break;

case 4064: error_string="double parameter expected"; break;

case 4065: error_string="array as parameter expected"; break;

case 4066: error_string="requested history data in update state"; break;

case 4099: error_string="end of file"; break;

case 4100: error_string="some file error"; break;

case 4101: error_string="wrong file name"; break;

case 4102: error_string="too many opened files"; break;

case 4103: error_string="cannot open file"; break;

case 4104: error_string="incompatible access to a file"; break;

case 4105: error_string="no order selected"; break;

case 4106: error_string="unknown symbol"; break;

case 4107: error_string="invalid price parameter for trade function"; break;

case 4108: error_string="invalid ticket"; break;

case 4109: error_string="trade is not allowed in the expert properties"; break;

case 4110: error_string="longs are not allowed in the expert properties"; break;

case 4111: error_string="shorts are not allowed in the expert properties"; break;

case 4200: error_string="object is already exist"; break;

case 4201: error_string="unknown object property"; break;

case 4202: error_string="object is not exist"; break;

case 4203: error_string="unknown object type"; break;

case 4204: error_string="no object name"; break;

case 4205: error_string="object coordinates error"; break;

case 4206: error_string="no specified subwindow"; break;

default: error_string="unknown error";

}

//----

return(error_string);

}

도움이 되었기를 바랍니다.

 

도움 필요 - 자산 확인

코딩에 도움이 필요합니다.

앞으로 다양한 EA에서 구현하려면 형평성 검사가 필요합니다.

예를 들어:

에퀴티가 -x$보다 작지 않은 경우에만 "ea cross" 규칙에 따라 ema cross 및 open order 를 확인합니다.

 

아, 다음에는 예제를 넣지 않겠습니다.

나는 에마 크로스를 하고 싶지 않다

메타 트레이더에서 주식 수표 를 작성하는 방법을 알아야합니다.

 
EBK:
아, 다음에는 예를 들지 않겠습니다.

나는 에마 크로스를 하고 싶지 않다

메타 트레이더에서 주식 수표를 작성하는 방법을 알아야합니다.

어때요

Comment("내 자산 = "AccountEquity());

 

누가 나를 대신해 MQL4 질문에 대답할 수 있습니까?

MQL4 코드가 포함된 문자열을 가질 수 있고 이를 문자열 대신 코드로 평가할 수 있는 eval()과 같은 기능 을 MQL4에 사용할 수 있는 방법이 있는지 궁금합니다.

 

아, 제 의견을 잘못 표현해서 죄송합니다.

나는 주식이 가치 이하인 경우 EA 거래(또는 EA 거래의 일부)를 중지할 무언가를 코딩하고 싶지만(할 수 없습니다).

도와주셔서 감사합니다. Roger09, 하지만 차트에 자기 자본을 표시할 필요가 없습니다.

 

기간에 대한 질문

EA에서는 다음과 같은 1 시간 단위로 iCCI를 사용합니다.

cci = iCCI(NULL,PERIOD_H1,CCIPeriod,PRICE_TYPICAL,1);

EA를 1H에 실행하면 특정 값을 얻습니다. 15M에서 EA를 실행하면 동일한 값을 얻을 것으로 기대합니다.

IBFX에서 동일한 값을 얻습니다. Alpari에서는 그렇지 않습니다.

이상해 보인다

잉바르

 
ingvar_e:
EA에서는 다음과 같은 1시간 단위로 iCCI를 사용합니다.

cci = iCCI(NULL,PERIOD_H1,CCIPeriod,PRICE_TYPICAL,1);

EA를 1H에 실행하면 특정 값을 얻습니다. 15M에서 EA를 실행하면 동일한 값을 얻을 것으로 기대합니다.

IBFX에서 동일한 값을 얻습니다. Alpari에서는 그렇지 않습니다.

이상해 보인다

잉바르

표시기 호출에서 PERIOD_H1 을 호출하면 H1 데이터만 가져와야 합니다. 이상하다.

 

도와주세요. 닫힌 거래에서 데이터를 얻으려고 합니다.

닫힌 거래에서 데이터를 얻으려고 합니다. 내 코드는 한 쌍만 거래하는 한 잘 작동하지만 여러 쌍을 사용하면 어떻게든 엉망이 됩니다.

for(i=OrdersHistoryTotal(); i>0; i--)

{

if(totalOrders==0 && Magic==OrderMagicNumber() &&

OrderSelect(i-1, SELECT_BY_POS,MODE_HISTORY)==true)

{

닫기 시간 = 주문 닫기 시간();

오픈타임 = 주문오픈타임();

주문량 = 주문량();

티켓=OrderTicket();

}

누군가 나를 도와줄 수 있습니까? Magic이 일치하는 경우 마지막으로 마감된 거래에 대한 올바른 값을 제공하지만 마지막으로 마감된 거래가 다른 통화 쌍인 경우 잘못된 티켓 데이터를 제공합니다.

감사합니다.

스티브