[경고, 주제 닫힘!] 포럼을 어지럽히지 않도록 모든 초보자 질문. 프로, 놓치지 마세요. 당신 없이는 어디에도 없습니다. - 페이지 841

 
etroplus :

말해주세요!

오픈 포지션의 이익 가치를 포인트로 반환하는 함수가 있습니까?

(Bid - OrderOpenPrice())/ Point ;     //для ордеров BUY
(OrderOpenPrice() - Ask)/ Point ;     //для ордеров SELL
 
webgreck :

날짜 변경 여부를 제어하고 기능을 사용합니다.

MarketInfo( Symbol (),MODE_SWAPSHORT);
MarketInfo( Symbol (),MODE_SWAPLONG);
 
alsu :

날짜 변경 여부를 제어하고 기능을 사용합니다.


날짜를 제어하는 방법? 그녀는 변하지 않습니다. 스크린샷을 보세요.

 
webgreck :


다른 방식으로 처리해야 하는 주문이 많고, 일종의 추적, 고정된 목표 설정 및 패리티 설정이 있지만 거래가 마감되고 스왑으로 인해 열리면 이 작업에 대처할 수 없습니다. , 그러면 티켓 번호가 그에 따라 변경됩니다. 더 이상 티켓 번호를 사용하여 포즈를 식별할 수 없으므로 어떻게 해야 하는지 알 수 있습니다.

스왑으로 이 스포크가 휠에 들어가지 않는다는 사실을 처리하는 방법을 알려주십시오. 이 또는 그 트랜잭션을 식별하고 예를 들어 이미 패리티를 설정했는지 여부 등을 확인하는 방법


이러한 경우 "매직 오더 번호"를 적극적으로 사용할 수 있습니다.
 
abolk :

이러한 경우 "매직 오더 번호"를 적극적으로 사용할 수 있습니다.

매직 넘버는 이미 제가 세 가지 유형의 신호를 식별하는 데 사용하고 있습니다 ... 그러나 분명히 당신은 매직 넘버의 도움으로 다른 방법을 알아낼 필요가 있습니다. 예를 들어, 이 위치에 대해 이미 패리티를 설정했거나 아닙니다 .. 유일한 질문은 어떻게 ?? 예를 들어, 패리티가 설정된 순서대로 매직 넘버의 특정 값을 할당하는 것이 가능하지만 내가 아는 한 매직 넘버를 편집할 방법이 없습니다... 아니면 제가 잘못 알고 있는 것인가요? 주문할 때만 값을 줄 수 있지만 나중에 이 주문에 대해 패리티가 이미 설정되었음을 알 수 있도록 마법 번호로 쓸 수 있는 것
 
webgreck :

나는 이미 그것을 세 가지 유형의 신호를 식별하는 데 사용하고 있습니다 ...하지만 분명히 매직 번호의 도움으로 다른 방법을 알아 내야합니다. 예를 들어, 이미 주어진 위치에 대해 패리티를 설정했는지 여부를 결정해야합니다 ..

알고리즘이 주문 식별과 밀접한 관련이 있는 경우 이 경우에 도움이 되도록 알고리즘을 알아야 합니다.
 
abolk :

알고리즘이 주문 식별과 밀접한 관련이 있는 경우 이 경우에 도움이 되도록 알고리즘을 알아야 합니다.


네, 이 질문이 두려웠습니다.) 알고리즘이 간단하지 않아서 .. 시스템이 상당히 복잡하고 두 단어로 설명할 수 없습니다. 수천 줄의 코드가 있고 아무도 그것을 이해하고 탐구하지 않기 때문에 코드를 배치하는 것도 의미가 없습니다.

나는 주문 식별을 구현하는 몇 가지 일반적인 유연한 방법이 있다고 생각했습니다 ... 원칙적으로 매직 번호가 존재하지만이 주문으로 이미 수행 된 것을 기억하기 위해 편집 할 수 없습니다 ...

마법의 주문 수를 편집하는 것이 여전히 가능한가요?

 
webgreck :


날짜를 제어하는 방법? 그녀는 변하지 않습니다. 스크린샷을 보세요.

어떻게 변하지 않는가? 화면에는 1월 13일, 14일 00:00 스왑 클로즈 - 스왑 오픈
 
webgreck :


네, 이 질문이 두려웠습니다.) 알고리즘이 간단하지 않아서 .. 시스템이 상당히 복잡하고 두 단어로 설명할 수 없습니다. 수천 줄의 코드가 있고 아무도 그것을 이해하고 탐구하지 않기 때문에 코드를 배치하는 것도 의미가 없습니다.

나는 주문 식별을 구현하는 몇 가지 일반적인 유연한 방법이 있다고 생각했습니다 ... 원칙적으로 매직 번호가 존재하지만이 주문으로 이미 수행 된 것을 기억하기 위해 편집 할 수 없습니다 ...

마법의 주문 수를 편집하는 것이 여전히 가능한가요?


그리고 포지션 개시 시간을 int로 변환합니다. 여기에는 이미 한 포지션에 대해 두 가지 마법이 있습니다. 패리티를 설정하지 않으면 마법만 있습니다. 이미 설정되어 있으면 설정된 패리티의 존재를 담당하는 변수는 숫자 int로 표시되는 포즈의 시작 시간과 같을 것이며 위치는 m 마법과 이 "마법" 번호를 갖습니다.. . :)
여기서부터 춤을...
 

안녕하세요!

오픈오더가 왜 수정이 안되는지 이해가 안가는데 수익 수정 조건이 5포인트 이상인데 오류좀 찾아주세요

//+----------------------------------------------- --------------------+
//| 뉴스 trade.mq4 |
//| Copyright © 2010, MetaQuotes Software Corp. |
//| http://www.metaquotes.net |
//+----------------------------------------------- --------------------+
#property copyright "Copyright © 2010, MetaQuotes Software Corp."
#속성 링크 "http://www.metaquotes.net"


extern bool In_BUYSTOP=참;
extern int TakeProfit_buy=100;
extern int StopLoss_buy=5;
extern 더블 lot_buy=0.01;
//+----------------------------------------------- --------------------+
extern bool In_SELLSTOP=참;
외부 정수 TakeProfit_sell=100;
extern int StopLoss_sell = 5;
외부 이중 lot_sell = 0.01;
extern int 레벨 이익 = 25; // - 스톱이 손익분기 수준으로 이동하기 위해 위치가 도달해야 하는 포인트 단위의 이익 수준.
외부 정수 레벨WLoss = 1; // - 이익이 LevelProfit 수준에 도달한 후 포지션 스톱이 이동할 지점의 손익분기점 수준입니다.

//+----------------------------------------------- --------------------+
//| 전문가 초기화 기능 |
//+----------------------------------------------- --------------------+
정수 초기화()
{
//----
int 이익구매=((입찰가 - OrderOpenPrice())/포인트); // 구입
intprofitsell=((OrderOpenPrice()- 묻기)/포인트); // 팔다
//----
리턴(0);
}
//+----------------------------------------------- --------------------+
//| 전문가 초기화 해제 기능 |
//+----------------------------------------------- --------------------+
정수 초기화()
{
//----
//----
리턴(0);
}
//+----------------------------------------------- --------------------+
//| 전문가 시작 기능 |
//+----------------------------------------------- --------------------+
정수 시작()
//----
{
인트 티켓;
if (입찰가 >iHigh(NULL,PERIOD_D1,1))
{
if(주문 합계() < 1)
ticket=OrderSend(Symbol(),OP_SELLSTOP,Lots_sell,iHigh(NULL,PERIOD_D1,1),3,iHigh(NULL,PERIOD_D1,1)+StopLoss_sell*Point,iHigh(NULL,PERIOD_D1,1)-TakeProfit_sell*Point,Hour () == 21 && 분() == 59);
if(주문 선택(1, SELECT_BY_POS,MODE_TRADES)==true)
{
intprofitsell=((OrderOpenPrice()- 묻기)/포인트);
if (이익 판매>5)
티켓=OrderModify(OrderTicket(),OrderOpenPrice(),0,OrderTakeProfit(),0,Blue);
리턴(0);
}
}
if (문의<iLow(NULL,PERIOD_D1,1))
{
if(주문 합계() < 1)
ticket=OrderSend(Symbol(),OP_BUYSTOP,Lots_buy,iLow(NULL,PERIOD_D1,1),3,iLow(NULL,PERIOD_D1,1)-StopLoss_buy*Point,iLow(NULL,PERIOD_D1,1)+TakeProfit_Hourbuy*Point () == 21 && 분() == 59);
if(주문 선택(1, SELECT_BY_POS,MODE_TRADES)==true)
{
int 이익구매=((입찰가 - OrderOpenPrice())/포인트);
if (이익매수>5)
int stopmodify=OrderOpenPrice();
OrderModify(OrderTicket(),OrderOpenPrice(),stopmodify,OrderTakeProfit(),0,Blue);
리턴(0);
}
}
//오오오오오오오오오오오오오오오오오오오오
리턴(0);
}
//+----------------------------------------------- --------------------+