[ARCHIVE!] 포럼을 어지럽히 지 않도록 초보자 질문. 프로, 놓치지 마세요. 너 없이는 아무데도 - 4. - 페이지 624

 
rigonich :

이 함수는 지역 변수를 사용하므로 별도의 함수로 두 번 실행하거나 동일한 함수에서 차례로 두 개의 루프를 수행하거나 A를 전역 변수로 선언할 필요가 없습니다. 나는 담배를 피우러 달려갈 것이지만 일단은 시도해 보세요. 안되면 노크하세요. 내가 돌아오면 알아낼 것입니다.


다음을 삽입 할 때까지 작동했습니다.

if (OrderSelect((LastClosetPoz(),SELECT_BY_TICKET)==true)) Print(" 손절매 ", OrderStopLoss());

맹세하다

')' - 잘못된 매개변수 개수 G:\Program_Files_2\MT4-demo\experts\000.mq4 (57, 60)

나는 그가 무엇을 필요로하는지 알아낼 수 없습니다.

-------------------------------------------------- ------------------------------------------------

이해하다

==true를 제거해야 합니다....

교과서의 예에서 항상 이렇게 쓰여지기 때문에 이상합니다 ...

그리고 그는 stop..의 값을 4번째 자리로 반올림했습니다...

 
lottamer :


있다!!!! 작은 실수가 있었습니다... Ticket이 아니라 LastClosetPoz() 및 Sec_LastClosetPoz()를 인쇄해야 했습니다.

내 버전이 가장 우아하지는 않지만 작동합니다... 하지만 하나의 함수에 두 개의 루프를 삽입하는 방법... 잘 모르겠습니다... 시도했습니다. 오류가 있었습니다.. 그들과 함께 지옥에! (당신에게 어렵지 않다면 보여주세요-그것은 나에게 유용할 것입니다, 그렇지 않다면-글쎄요, ...) 어쨌든 감사합니다.

다만, 35일 마감된 딜의 티켓을 찾아야 하는건지...제 접근 방식으로는 문제가 생길 것 같아요 :)))) hahahh

다행히도 이것은 수평선에서도 아직 예측되지 않았습니다. 최대 3 ...



int Ticket1, Ticket2;
//+----------------------------------------------- --------------------+
int fLastClosetPos()
{
int Tot=OrdersHistoryTotal(),A,i;Ticket1=-1;Ticket2=-1;datetime time=0;
if(tot>0)
{
for(i=0;i<OrdersHistoryTotal();i++)
{
if( OrderSelect (i,SELECT_BY_POS,MODE_HISTORY)==true)
{
if(OrderSymbol()==Symbol())
{
if(OrderCloseTime()>시간)
{
time=OrderCloseTime();Ticket1=OrderTicket();
}
}
}
그렇지 않으면 계속하십시오.
}
}
Tot=OrdersHistoryTotal();A=티켓1;시간=0;
if(tot>0)
{
for(i=0;i<OrdersHistoryTotal();i++)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)==true)
{
if(OrderTicket()==A)계속;
if(OrderSymbol()==Symbol())
{
if(OrderCloseTime()>시간)
{
time=OrderCloseTime();Ticket2=OrderTicket();
}
}
}
그렇지 않으면 계속하십시오.
}
}
리턴(0);
}
//+----------------------------------------------- --------------------+
추신 그리고 35번째 마감된 거래를 결정하려면 중첩 루프(즉, 루프 내의 루프)를 사용해야 합니다.
 
rigonich :


int Ticket1, Ticket2;
//+----------------------------------------------- --------------------+
int fLastClosetPos()
{
int Tot=OrdersHistoryTotal(),A,i;Ticket1=-1;Ticket2=-1;datetime time=0;
if(tot>0)
{
for(i=0;i<OrdersHistoryTotal();i++)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)==true)
{
if(OrderSymbol()==Symbol())
{
if(OrderCloseTime()>시간)
{
time=OrderCloseTime();Ticket1=OrderTicket();
}
}
}
그렇지 않으면 계속하십시오.
}
}
Tot=OrdersHistoryTotal();A=티켓1;시간=0;
if(tot>0)
{
for(i=0;i<OrdersHistoryTotal();i++)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)==true)
{
if(OrderTicket()==A)계속;
if(OrderSymbol()==Symbol())
{
if(OrderCloseTime()>시간)
{
time=OrderCloseTime();Ticket2=OrderTicket();
}
}
}
그렇지 않으면 계속하십시오.
}
}
리턴(0);
}
//+----------------------------------------------- --------------------+


0을 인쇄합니다... 작동하지 않습니다... 더 이상 파지 않겠습니다. 주기가 단순히 하나의 주기로 대체된다는 것이 분명하기 때문입니다. 볼륨은 분명히 감소하지 않았습니다..... 그리고 우리는 이미 작업 버전. 게다가, 첫 번째 옵션에서 - 나는 주문을 비교할 수 있습니다... 하지만 여기에서는 두 번째 옵션이 어디에 있는지조차 알 수 없습니다. 그리고 첫 번째 옵션은 0과 같습니다..

뇌를 확실히 발달시키는 몇 가지 트릭 후에 이 코드도 작동했습니다! :)) 고맙습니다

 
lottamer :


다음을 삽입 할 때까지 작동했습니다.

if ( Print("손절매", OrderStopLoss()); ) Print("손절매", OrderStopLoss());

맹세하다

')' - 잘못된 매개변수 개수 G:\Program_Files_2\MT4-demo\experts\000.mq4 (57, 60)

나는 그가 무엇을 필요로하는지 알아낼 수 없습니다.


다시 45, 이 형식에서 OrderSelect (LastClosetPoz(),SELECT_BY_TICKET)는 기본적으로 보류 및 미결 주문 중에서 선택하지만 이 주문은 없습니다. OrderSelect (LastClosetPoz(),SELECT_BY_TICKET, MODE_HISTORY )를 입력합니다.
 
lottamer :


0을 인쇄합니다... 작동하지 않습니다... 더 이상 파지 않겠습니다. 주기가 단순히 하나의 주기로 대체된다는 것이 분명하기 때문입니다. 볼륨은 분명히 감소하지 않았습니다..... 그리고 우리는 이미 작업 버전. 게다가, 첫 번째 옵션에서 - 나는 주문을 비교할 수 있습니다... 하지만 여기에서는 두 번째 옵션이 어디에 있는지조차 알 수 없습니다. 그리고 첫 번째 옵션은 0과 같습니다..

뇌를 확실히 발달시키는 몇 가지 트릭 후에 이 코드도 작동했습니다! :)) 고맙습니다


함수를 호출한 후 Ticket1 및 Ticket2 변수를 인쇄하기만 하면 됩니다.
 

리고니치

어떤 파일에 glob이 기록되는지 알려주세요. 변수? 다른 터미널로 빠르게 이동할 수 있습니다.

 
rigonich :

다시 45, 이 형식에서 OrderSelect(LastClosetPoz(),SELECT_BY_TICKET)는 기본적으로 보류 중인 주문과 미결 주문 중에서 선택하지만 이 주문은 없습니다. OrderSelect (LastClosetPoz(),SELECT_BY_TICKET, MODE_HISTORY )를 입력합니다.


아니요....낮음...MODS..SELECT_BY_POS에서만 작동합니다 . 그리고 티켓 자체! 그는 절대적으로 개인이므로 그가 어디에 있는지 나타낼 필요조차 없습니다.

(거기서 답변을 읽으십시오. 솔루션을 끝내고있었습니다)

------- 매개변수:

인덱스 - 두 번째 매개변수에 따라 주문 색인 또는 주문 티켓.
고르다 - 플래그 선택. 다음 값 중 하나일 수 있습니다.
SELECT_BY_POS - 주문 풀의 인덱스,
SELECT_BY_TICKET - 인덱스는 주문 티켓입니다.
수영장 - 선택적 주문 풀 인덱스. 선택한 매개변수가 SELECT_BY_POS일 때 사용됩니다. 다음 값 중 하나일 수 있습니다.
MODE_TRADES(기본값)- 거래 풀에서 선택한 주문(열린 주문 및 보류 중인 주문),
MODE_HISTORY - 히스토리 풀에서 선택한 주문(닫고 취소된 주문 ).
 
lottamer :


아니요....낮음...MODS..SELECT_BY_POS에서만 작동합니다 . 그리고 티켓 자체! 그는 절대적으로 개인이므로 그가 어디에 있는지 나타낼 필요조차 없습니다.

------- 매개변수:

인덱스 - 두 번째 매개변수에 따라 주문 색인 또는 주문 티켓.
고르다 - 플래그 선택. 다음 값 중 하나일 수 있습니다.
SELECT_BY_POS - 주문 풀의 인덱스,
SELECT_BY_TICKET - 인덱스는 주문 티켓입니다.
수영장 - 선택적 주문 풀 인덱스. 선택한 매개변수가 SELECT_BY_POS일 때 사용됩니다. 다음 값 중 하나일 수 있습니다.
MODE_TRADES(기본값)- 거래 풀에서 선택한 주문(열린 주문 및 보류 중인 주문),
MODE_HISTORY - 히스토리 풀에서 선택한 주문(닫힌 주문 및 취소된 주문).


죄송합니다. 보고했습니다. 귀하의 말이 맞습니다. if ( Print(" Stop loss ", OrderStopLoss()); ) Print("Stop loss", OrderStopLoss()); 조건은 없지만 대신 연산자가 삽입됩니다.
 
Desead :

저는 프로그래머는 아니지만 때로는 가장 간단한 것을 직접 작성합니다. 어떤 언어로든 간단한 로봇을 작성할 수 있으며 이는 전혀 문제가 되지 않습니다. 그리고 일부 기능을 dll 형식으로 배열한 다음 µl에서 호출하고 싶지 않았지만 메타 트레이더를 호출하지 않고 자체 인터페이스로 전체 로봇을 작성하고 싶었습니다. 다행히도 지금 우리는 큰 부담 없이 할 수 있는 다양한 시각적 언어를 생각해 냈습니다.


알았습니다. MT의 전달에는 dll 생성을 위한 프로젝트 로 설계된 C\C++로 dll을 작성하는 예가 있습니다.

디렉토리: Directory_where_MT_is_located\experts\samples. 가져 와서 필요에 맞게 편집하십시오. 그것을 이해하기 위해 C++에 대한 깊은 지식이 필요하지 않습니다. C의 기본과 문법만 알면 충분합니다.

참고: 프로젝트에는 .def 파일이 있어야 합니다. 그렇지 않으면 dll을 포함하지 마십시오. 예를 들어 그러한 프로젝트가 필요합니다.
 
xant:

rigonich

подскажите пожалуйста, в какой файл записываются глоб. переменные? Чтобы можно было быстро перебрасывать на другой терминал. 

몰라 검색해봐도 못찾았는데 터미널에서 서비스 --> 전역변수 열어서 복사해서 해보세요.

그러나 일반적으로 이것은 여러 터미널의 작동 동기화로 인해이 방향으로 검색을 시도하면이 사이트 나 기사 또는 코드베이스에서 비슷한 것을 본 것 같습니다.