포럼을 어지럽히 지 않도록 모든 초보자 질문. 프로, 놓치지 마세요. 너 없이는 아무데도 - 6. - 페이지 512

 
woin2110 :

if ((하이-로우)<=max_koridor_v_punktah)
{
int buy = OrderSend(Symbol(), OP_BUYSTOP, LotBuy, OpenBuy, 0, StopLossBuy, 0);//구매 주문을 엽니다.

만약 (구매>0)
{
Alert("구매 중지 주문 세트",구매);
}
int Sell= OrderSend(Symbol(), OP_SELLSTOP, LotSell, OpenSell, 0, StopLossSell, 0);//판매 주문을 엽니다.
만약 (매도>0)
{
경고("SellStop 주문 세트",판매);
}
if (DayOfWeek()==5 && Hour()==22) // 서버 시간 금요일 23:00에 보류 및 미결 주문 삭제
{
if (OrderSelect(sell,SELECT_BY_TICKET)==true)
{
OrderClose(sell,OrderLots(),Bid,3,Green);//(티켓, 로트, 종가, 포인트 슬리피지, 차트의 종가 화살표 색상) 시장 매도 주문을 마감합니다.
OrderDelete(sell);//판매 한도를 닫습니다.
}
if (OrderSelect(구매,SELECT_BY_TICKET)==true)
{
OrderClose(buy,OrderLots(),Ask,3,Red);//(티켓, 로트, 종가, 슬리피지 포인트, 차트의 종가 화살표 색상) 시장 구매 주문을 마감합니다.
OrderDelete(구매);//구매 제한을 닫습니다.
반환(0);
}
}
}

주문을 마감하지 않고 한도를 삭제하지 않는 이유를 누가 알려줄까요?


매수 주문을 입찰 가격으로 마감하고 매도에서 매도해야 합니다.
 
isn-88 :

매수 주문을 입찰 가격으로 마감하고 매도에서 매도해야 합니다.
고맙습니다
[삭제]  
AlexeyVik :
초기화 함수의 간단한 조건
금속, 재고 및 원자재는 포함되지 않습니다.

고마워. 가장 쉬운 옵션을 말하지 마십시오. 이 쌍에 대한 열린 위치가 있는지 여부를 이해하는 것이 필요합니다. 매도 주문 이 있고 매수 주문이 있습니까? 즉, 당신은 얻을 필요가

0 - 미결 주문이 없는 경우

1. 매도 주문은 있지만 매수 주문은 없습니다.

2- 매수 주문은 있지만 매도 주문은 없습니다.

3은 둘다...

[삭제]  
woin2110 :

https://docs.mql4.com/ru/series

if(DayOfWeek()==1,2..... && Hour()==1,2....)
{
이중 hi=iHigh(NULL,0,iBarShift(NULL,0,iTime(NULL,PERIOD_D1,0)));//높은 정의
double low=iLow(NULL,0,iBarShift(NULL,0,iTime(NULL,PERIOD_D1,0)));//낮은 값을 결정합니다.

////////////////////////////////////////////////////// / /////////////////////////////////////////////////

double op=iOpen(NULL,0,iBarShift(NULL,0,iTime(NULL,PERIOD_D1,0)));//개방을 결정합니다.


덕분에!
 
Zolotai :

고마워. 가장 단순한 변형을 묻지 마십시오. 이 쌍에 대한 열린 위치가 있는지 여부를 이해하는 것이 필요합니다. 매도 주문이 있고 매수 주문이 있습니까? 즉, 당신은 얻을 필요가

0 - 미결 주문이 없는 경우

1 - 매도 주문은 있지만 매수 주문은 없습니다.

2- 매수 주문은 있지만 매도 주문은 없습니다.

3은 둘다...

예를 들면 다음과 같습니다.

int i_buy=0;

int i_sell=0;

//--- получим количество открытых и отложенных ордеров

int total=OrdersTotal();

for(int i=0;i<total;i++)

{

//--- выберем i-й ордер из списка торговли

if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true)

{

//--- если ордер открыт по текущему финансовому инструменту

if(OrderSymbol()==Symbol())

{

switch(OrderType())

{

//--- Бай ордер

case OP_BUY:

i_buy++;

break;

//--- Селл ордер

case OP_SELL:

i_sell++;

break;

case OP_BUYSTOP:

case OP_BUYLIMIT:

case OP_SELLSTOP:

case OP_SELLLIMIT:

//--- пробойники, лимитники

break;

}

}

}

}


if(i_buy==0 && i_sell==0)

{

//--- нет открытых ордеров

}

if(i_buy>0 && i_sell==0)

{

//--- открыты баи

}

if(i_buy==0 && i_sell>0)

{

//--- открыты селы

}

if(i_buy>0 && i_sell>0)

{

//--- открыты и баи и селы

}

[삭제]  
isn-88 :

예를 들면 다음과 같습니다.



매우 감사합니다. 내가 알기로는 Ask 가 현재 가격 입니다. 미결 주문이 없을 때 주문을 엽니다. 루프는 첫 번째부터 마지막 열린 순서까지 반복합니까? 마지막 미결 주문의 로트와 가격을 어떻게 변수에 전달할 수 있습니까?
 
Zolotai :

매우 감사합니다. 내가 알기로는 Ask가 현재 가격입니다. 미결 주문이 없을 때 주문을 엽니다. 루프는 첫 번째부터 마지막 열린 순서까지 반복합니까? 마지막 미결 주문의 로트와 가격을 어떻게 변수에 전달할 수 있습니까?

https://docs.mql4.com/ru/trading/orderselect https://docs.mql4.com/ru/trading/orderopenprice https://docs.mql4.com/ru/trading/orderlots

더블 z; //변수 "z" 선언
더블 y; //변수 "y" 선언


if(OrderSelect(10,SELECT_BY_POS)==true) //선택한 주문(티켓별)이 존재하는 경우

{

OrderLots()=z //이 주문의 로트를 변수 "z"에 할당합니다.

OrderOpenPrice()=y //시가를 변수 "y"에 할당

}

이렇게 시도

[삭제]  
woin2110 :

https://docs.mql4.com/ru/trading/orderselect https://docs.mql4.com/ru/trading/orderopenprice https://docs.mql4.com/ru/trading/orderlots

더블 z; //변수 "z" 선언
더블 y; //변수 "y" 선언


if(OrderSelect(10,SELECT_BY_POS)==true) //선택한 주문(티켓별)이 존재하는 경우

{

OrderLots()=z //이 주문의 로트를 변수 "z"에 할당합니다.

OrderOpenPrice()=y //시가를 변수 "y"에 할당

}

이렇게 시도

y = OrderOpenPrice();


ATP, 나는 그것을 알아 냈습니다. 나는 단지 이해하지 못합니다. if((i_buy==0 && i_sell==0) || y > 단계). 마지막으로 열린 주문과의 거리가 5포인트 이상인 경우 한 주문을 더 열어야 합니다. 하지만 작동하지 않습니다, 질문.

for(int i=0;i<total;i++) 처음 열 때부터 마지막까지 반복합니까? 즉, 나는 마지막으로 열린 주문의 가격을 결국 얻어야 합니다.

 
Zolotai :

y = OrderOpenPrice();


ATP, 나는 그것을 알아 냈습니다. 나는 단지 이해하지 못합니다. if((i_buy==0 && i_sell==0) || y > 단계). 마지막으로 열린 주문과의 거리가 5포인트 이상인 경우 한 주문을 더 열어야 합니다. 하지만 작동하지 않습니다, 질문.

for(int i=0;i<total;i++) 처음 열 때부터 마지막까지 반복합니까? 즉, 나는 마지막으로 열린 주문의 가격을 결국 얻어야 합니다.


여기 I don't know, 나는 만나지 못했어
[삭제]  

안녕하세요. https://forum.mql4.com/ru/51490/page2 주제에서 Expert Advisor 설정 창을 여는 스크립트가 있는 게시물을 보았습니다.

이것은 EA 설정 창을 불러옵니다:

 //+------------------------------------------------------------------+
//|                                                      EaSetup.mq4 |
//+------------------------------------------------------------------+
//|                                                      EaStart.mq4 |
//|                                 Copyright © 2010, XrustSolution. |
//|                                           mail: xrustx@gmail.com |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2010, XrustSolution."
#property link       "mail: xrustx@gmail.com"
#import "user32.dll"
   int    RegisterWindowMessageA( string lpstring);
   int    PostMessageA( int   hWnd, int   Msg, int   wParam, string lParam);
#import
#define WM_COMMAND       0x0111
//+------------------------------------------------------------------+
void start(){ Sleep ( 200 );PostMessageA( WindowHandle ( Symbol (), Period ()), WM_COMMAND, 33048 , 0 ); return ;}
//+------------------------------------------------------------------+  

말해봐, 스크립트가 1초 간격으로 Expert Advisor 설정 창을 띄우게 하고 바로 확인(OK 버튼 누름) 하는 식으로 계속 할 수 있을까?