안녕,

배열이 6 열 50 행입니다.
열에는 다음이 포함됩니다.

trade_arr [x] [0] = OrderTicket ();
trade_arr [x] [1] = OrderStopLoss ();
trade_arr [x] [2] = OrderTakeProfit ();
trade_arr [x] [3] = OrderSymbol ();
trade_arr [x] [4] = OrderOpenPrice ();

이제 나는 이것을하고 싶다.
EA가 시작되면 사용 가능한 모든 거래가 어레이에 기록되어야합니다. 새로운 거래가 있으면 틱이 확인됩니다. 그렇다면 배열에 추가해야합니다.
문제 : EA가 작동하지 않습니다. 새로운 상거래 알림은 틱마다 나타납니다.
각 열린 위치에 대해.
나는 문자열 trade_arr [50] [6]을 설명했다. 전역 변수로,하지만 배열은 각 진드기 후에 삭제 된 것 같습니다.

저기 누군가가 저걸 확인하면 좋을거야.

감사,
스웬


암호:

Quote 원래에 의해 게시 됨 ;

string trade_arr [50] [6];

// ----------------------------------------------- -------------------
//| 전문가 초기화 기능 |
// ----------------------------------------------- -------------------
int init ()

//-


//-
return (0);

// ----------------------------------------------- -------------------
//| 전문가 시작 작업 |
// ----------------------------------------------- -------------------
int start ()


int trade_nr;
int total = OrdersTotal ();
bool trade_exist = false;

for (int pos = 0; poslt; total; pos )

if (OrderSelect (pos, SELECT_BY_POS) == true)

int trade_ticket = OrderTicket ();

for (int c = 0; clt; = 49; c )


int trade_arr_int = StrToInteger (trade_arr [c] [0]);

if (trade_ticket == trade_arr_int)

경고 (무역 존재);
trade_exist = true;


if (trade_arr [c] [0] == 0)
int next_nr = c;
경고 (다음 c), 다음 _nr);




if (trade_exist == false)


알림 (새 거래);

trade_arr [next_nr] [0] = OrderTicket ();
trade_arr [next_nr] [1] = OrderStopLoss ();
trade_arr [next_nr] [2] = OrderTakeProfit ();
trade_arr [next_nr] [3] = OrderSymbol ();
trade_arr [next_nr] [4] = OrderOpenPrice ();


trade_exist = false;




return (0);

// ----------------------------------------------- -------------------
Quote 원래에 의해 게시 됨 ;

string trade_arr [50] [6];

// ----------------------------------------------- -------------------
//| 전문가 초기화 기능 |
// ----------------------------------------------- -------------------
int init ()

//-


//-
return (0);

// ----------------------------------------------- -------------------
//| 전문가 시작 작업 |
// ----------------------------------------------- -------------------
int start ()


int trade_nr;
int total = OrdersTotal ();
bool trade_exist = false;

for (int pos = 0; poslt; total; pos )

if (OrderSelect (pos, SELECT_BY_POS) == true)

int trade_ticket = OrderTicket ();

for (int c = 0; clt; = 49; c )


int trade_arr_int = StrToInteger (trade_arr [c] [0]);

if (trade_ticket == trade_arr_int)

경고 (무역 존재);
trade_exist = true;


if (trade_arr [c] [0] == 0)
int next_nr = c;
경고 (다음 c), 다음 _nr);




if (trade_exist == false)


알림 (새 거래);

trade_arr [next_nr] [0] = OrderTicket ();
trade_arr [next_nr] [1] = OrderStopLoss ();
trade_arr [next_nr] [2] = OrderTakeProfit ();
trade_arr [next_nr] [3] = OrderSymbol ();
trade_arr [next_nr] [4] = OrderOpenPrice ();


trade_exist = false;




return (0);

// ----------------------------------------------- -------------------