전문가는 지나치지 않습니다. 여러분의 도움이 필요합니다. 조건에 따라 봇은 매도 포지션을 더 일찍 열고 이 포지션은 아래에서 청산되어야 합니다. 코드를 참조하세요. 매도 포지션을 청산해야 하는 곳은 매수 포지션을 열어야 하고, 오픈 포지션 의 수는 1이어야 합니다(OrdersTotal() ). 문제는 주문 실행 대기열과 같은 작업을 수행하는 방법입니다. 먼저 판매 위치가 닫히고 같은 위치에서 구매 위치가 열리고 열린 위치의 수가 1이 되도록 합니까?
OrderSend ( Symbol (),OP_BUY,Lots,Ask, 4 , 0 , 0 , "" , 0 , 0 , Green );
for (cnt= 0 ;cnt<total;cnt++)
{
OrderSelect (cnt, SELECT_BY_POS, MODE_TRADES);
if (OrderType()==OP_SELL) // long position is opened
{
OrderClose(OrderTicket(),OrderLots(),Ask, 4 , Violet ); // close position
}
}
프로그래머 여러분, 모든 주문을 올바르게 마감하는 방법을 알려주세요. 아래에는 해결해야 할 문제와 그들이 권고한 사항이 나와 있습니다. 일반적으로 주문을 닫고 거래를 금지하는 플래그를 설정하는 것을 제외하고는 모든 것이 잘 됩니다...
여러분 중에 경험 많은 프로그래머가 있을 거라고 확신합니다. 조언자에 조건을 작성하도록 도와주세요. 1) C+=주문당 이익(1)+주문당 이익(2)+...+주문당 이익(n) - 현재 열려 있는 모든 주문에 대한 이익의 합계. 2) С-=오더 손실(1)+오더 손실(2)+...+오더 손실(n) - 현재 시간에 열려 있는 모든 주문의 손실 합계. 3) X=(c+)/(c-) - 현재 시점의 손익 비율 4) 자기자본가치(S)에 손익비율(X)을 곱한 값이 특정 목표치(K)보다 크면 모든 것이 정상이며 추가 거래를 합니다. (S*X>K이면 OK) 5) 자기자본가치(S)에 손익비(X)를 곱한 값이 미리 결정된 특정 값(K)보다 작으면 현재 시세에서 모든 미결제 주문이 마감되고 다음 턴이 켤 때까지 EA가 꺼집니다. 손으로. (S*X<K, 모든 주문을 종료하고 해제)
물빠짐 방지에 좋을 것 같아요.
다소 이렇습니다. 손익을 계산하는 두 가지 함수를 만듭니다. 두 번 계산ProfitTotal() { 이중 결과 = 0; for(int i = 0; i < OrdersTotal(); i++) if( 주문 선택 (i, SELECT_BY_POS, MODE_TRADES )) if(OrderProfit() > 0) 결과 = 결과 + OrderProfit(); 반환(결과); }
두 배 계산 LossTotal() { 이중 결과 = 0; for(int i = 0; i < OrdersTotal(); i++) if(주문선택(i, SELECT_BY_POS, MODE_TRADES)) if(주문 이익() < 0) 결과 = 결과 + MathAbs(OrderProfit()); 반환(결과); }
그리고 start() 함수에서 우리는 우리의 조건을 규정합니다. 예를 들면 다음과 같습니다. X = CalculateProfitTotal() / CalculateLossTotal(); if(AccountEquity() * X < K) { //여기서 모든 주문을 닫고 //거래 금지 플래그 설정 리턴(0); }
전문가는 지나치지 않습니다. 여러분의 도움이 필요합니다. 조건에 따라 봇은 매도 포지션을 더 일찍 열고 이 포지션은 아래에서 청산되어야 합니다. 코드를 참조하세요. 매도 포지션을 청산해야 하는 곳은 매수 포지션을 열어야 하고, 오픈 포지션 의 수는 1이어야 합니다(OrdersTotal() ). 문제는 주문 실행 대기열과 같은 작업을 수행하는 방법입니다. 먼저 판매 위치가 닫히고 같은 위치에서 구매 위치가 열리고 열린 위치의 수가 1이 되도록 합니까?
우리는 그것이 버퍼 에만 설정되고 외부 변수에는 설정되지 않는다는 사실에 대해 이야기하고 있습니다.
글쎄,이 indicator_colorN을 사용
우리는 그것이 버퍼 에만 설정되고 외부 변수에는 설정되지 않는다는 사실에 대해 이야기하고 있습니다.
어떤 식 으로든 MQL을 통해. 그러나 O-O-O-O-VERY가 필요한 경우 물론 할 수 있습니다)))
글쎄, 당신은 당신이 필요로하는 것이 무엇인지조차 모릅니다 ...
eddy의 요구 사항은 MQL로 해결됩니다.
글쎄, 당신은 당신이 필요로하는 것이 무엇인지조차 모릅니다 ...
eddy의 요구 사항은 MQL로 해결됩니다.
아니요, 이해합니다... 그는 표시기 코드의 표시기 버퍼에서 프로그래밍 방식으로 그리기 색상을 가져와야 합니다(오른쪽, eddy ?). 내 지식으로 판단할 수 있는 한 이것은 MQL에서 불가능합니다.
Indicator_colorN 매개 변수를 사용하십시오. 같은 변수라고 할 수 있습니다.
혹시.
Indicator_colorN 매개 변수를 사용하십시오. 같은 변수라고 할 수 있습니다.
노우.
선을 그리는 표시기가 있다고 가정해 보겠습니다. 이 표시기로 원을 그리고 싶다고 가정해 봅시다. 그러나 우리는 inlikator 라인이 녹색이면 녹색으로 만들고 빨간색이면 빨간색으로 만들고 싶습니다.
프로그래머 여러분, 모든 주문을 올바르게 마감하는 방법을 알려주세요. 아래에는 해결해야 할 문제와 그들이 권고한 사항이 나와 있습니다. 일반적으로 주문을 닫고 거래를 금지하는 플래그를 설정하는 것을 제외하고는 모든 것이 잘 됩니다...
여러분 중에 경험 많은 프로그래머가 있을 거라고 확신합니다. 조언자에 조건을 작성하도록 도와주세요.
1) C+=주문당 이익(1)+주문당 이익(2)+...+주문당 이익(n) - 현재 열려 있는 모든 주문에 대한 이익의 합계.
2) С-=오더 손실(1)+오더 손실(2)+...+오더 손실(n) - 현재 시간에 열려 있는 모든 주문의 손실 합계.
3) X=(c+)/(c-) - 현재 시점의 손익 비율
4) 자기자본가치(S)에 손익비율(X)을 곱한 값이 특정 목표치(K)보다 크면 모든 것이 정상이며 추가 거래를 합니다. (S*X>K이면 OK)
5) 자기자본가치(S)에 손익비(X)를 곱한 값이 미리 결정된 특정 값(K)보다 작으면 현재 시세에서 모든 미결제 주문이 마감되고 다음 턴이 켤 때까지 EA가 꺼집니다. 손으로. (S*X<K, 모든 주문을 종료하고 해제)
물빠짐 방지에 좋을 것 같아요.
다소 이렇습니다. 손익을 계산하는 두 가지 함수를 만듭니다.
두 번 계산ProfitTotal()
{
이중 결과 = 0;
for(int i = 0; i < OrdersTotal(); i++)
if( 주문 선택 (i, SELECT_BY_POS, MODE_TRADES ))
if(OrderProfit() > 0)
결과 = 결과 + OrderProfit();
반환(결과);
}
두 배 계산 LossTotal()
{
이중 결과 = 0;
for(int i = 0; i < OrdersTotal(); i++)
if(주문선택(i, SELECT_BY_POS, MODE_TRADES))
if(주문 이익() < 0)
결과 = 결과 + MathAbs(OrderProfit());
반환(결과);
}
그리고 start() 함수에서 우리는 우리의 조건을 규정합니다.
예를 들면 다음과 같습니다.
X = CalculateProfitTotal() / CalculateLossTotal();
if(AccountEquity() * X < K)
{
//여기서 모든 주문을 닫고
//거래 금지 플래그 설정
리턴(0);
}
표시기로 원을 그리고 싶다고 가정해 봅시다. 하지만 표시선이 녹색이면 녹색으로 만들고 싶습니다.
파란색으로 개체를 만들고 싶습니다)
세르게예프, 즉 Indicator_color1 색상 변수입니까?