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

 
rapid_minus :

나는 완전히 혼란 스럽습니다.

이익 또는 마이너스로 주문을 마감하는 스크립트를 찾았지만 논리를 이해할 수 없습니다. bool close_only_profit_orders=false가 외부 변수에 설정되고 시작 함수에서 부정으로 확인됩니다. if(OrderType( )==OP_BUY && (!close_only_profit_orders | | order_prof>0) 즉, 거짓이 아니거나 이익이 있는 주문이 있으면 OrderClose() 함수가 계속됩니다. 그러나 코드 어디에도 다음과 같은 조건이 없습니다. close_only_profit_orders 변수는 true가 됩니다. 그러면 왜 그래야 합니까?


이 변수에 대해 아무것도 찾을 수 없습니다. 이것은 프로그래머의 환상에 대한 허구이며, 그것을 쓴 사람만이 당신의 Expert Advisor에 무엇이 있는지 압니다. 어떤 이유로 이런 일이 발생할 수 있으며 어떻게 확인해야 하는지 추측할 수 있을 뿐입니다. 방금 작업을 시작하기 전에 모든 쌍에 대한 모든 주문을 어리석게 마감한 고문을 만났습니다. 글쎄, 이것은 프로그래머의 환상의 그런 픽션입니다 ... 따라서 조언자 혼자가 제대로 작동한다면 주문 마감이 규정 된 곳과 이유를 찾아야합니다. 어떤 마법이 도움이 될지도...
 

문제를 해결하도록 도와주세요.

정수 n1=.....;

정수 n2=.....;

M1[i]=iMA(NULL,0,n1,n2,MODE_SMA,PRICE_CLOSE,i);

댓글을 통해 n1, n2 값을 화면에 표시하고 있는데, 그 값은 맞는데 마우스가 제대로 그려지지 않고 그래프 전체가 아니라. 이러한 변수 대신 n1과 n2의 값을 직접 입력하면 모든 것이 원래대로 그려집니다. 변수의 값이 정확하면 이것이 어떻게 가능한지 이해가 되지 않습니까? 그리고 오른쪽으로 이동하여 마우스를 그리는 방법은 무엇입니까? 이제 0 막대까지만 그려집니다. 현재의.

 
Alexandr24 :

문제를 해결하도록 도와주세요.

정수 n1=.....;

정수 n2=.....;

M1[i]=iMA(NULL,0,n1,n2,MODE_SMA,PRICE_CLOSE,i);

댓글을 통해 n1, n2 값을 화면에 표시하고 있는데, 그 값은 맞는데 마우스가 제대로 그려지지 않고 그래프 전체가 아니라. 이러한 변수 대신 n1과 n2의 값을 직접 입력하면 모든 것이 원래대로 그려집니다. 변수의 값이 정확하면 이것이 어떻게 가능한지 이해가 되지 않습니까? 그리고 오른쪽으로 이동하여 마우스를 그리는 방법은 무엇입니까? 이제 0 막대까지만 그려집니다. 현재의.

n1이 TF의 값과 같지 않으면 왜 잘못 그려졌는지 분명합니다. 그리고 오른쪽 쉬프트n2 plus를 만들 것입니다! ! 확인했습니다!
 
borilunad :
n1이 TF의 값과 같지 않으면 왜 잘못 그려졌는지 분명합니다. 그리고 오른쪽으로 이동하면 마이너스가 있는 n2가 됩니다.

나는 TF가 그것과 관련이 있는 곳을 이해하지 못합니다. n1은 지표를 계산하기 위한 평균 기간입니다. 어떤 이유에서인지 설명 은 화면에 표시되므로 변수의 올바른 값을 가져오지만 이러한 변수가 있는 마우스는 원래대로 그려지지 않는 역설적인 상황입니다.

UPD. n2 대신 0을 넣으면 시프트는 정상적으로 렌더링되지만 n1은 비뚤어지게 그립니다.

 
double    iMA (
   string        symbol,           // имя символа
   int           timeframe,         // таймфрейм
   int           ma_period,         // период - n1    
   int           ma_shift,         // сдвиг средней - n2
   int           ma_method,         // метод усреднения
   int           applied_price,     // тип цены
   int           shift             // сдвиг
   );

모든 것이 정확합니다! 내가 잘못했는데 제대로 하면 왜 뭔가 안되는거야?!

 
borilunad :

모든 것이 정확합니다! 내가 잘못했는데 제대로 하면 왜 뭔가 안되는거야?!

네, 저도 이 역설에 머리를 긁적입니다. 터미널을 다시 시작하면 마우스가 원래대로 그려지지만 매번 다시 시작하는 것은 불편합니다.

UPD, 오른쪽 버튼을 누르고 메뉴에서 "업데이트"를 선택하면 문제가 해결되었지만 코드에서 컴파일을 클릭하면 마우스가 비뚤어지게 그려집니다 ... 그러나 이것은 이미 작은 일이므로 업데이트합니다. :))

 
Alexandr24 :

네, 저도 이 역설에 머리를 긁적입니다. 터미널을 다시 시작하면 마우스가 원래대로 그려지지만 매번 다시 시작하는 것은 불편합니다.

UPD, 오른쪽 버튼을 누르고 메뉴에서 "업데이트"를 선택하면 문제가 해결되었지만 코드에서 컴파일을 클릭하면 마우스가 비뚤어지게 그려집니다 ... 그러나 이것은 이미 작은 일이므로 업데이트합니다. :))

코드를 표시하되 조각은 표시하지 마십시오.
 

제가 직접 알아보았는데요, 공유해주셔서 감사합니다 :)

 
모두를 환영합니다!
포럼을 검색하고 인터넷을 검색했습니다. 찾지 못했습니다. 따라서 다음과 같은 질문이 있습니다.

1. EA는 동일한 가격(예: 1.1180에서 매수)으로 여러(3) 시장 주문을 엽니다(MA와의 교차점에 따라).

설명: MA와 교차하기 전에는 Buy-Stop 주문이었습니다.

2. 다음으로, 고문은 이 세 가지 이익 창출 주문을 다른 수준으로 설정해야 합니다(표준 Fibo 지표에 따라 MA와 교차할 때만 발견됨).

이러한 수준이 다음과 같다고 가정해 보겠습니다.
Ur1 = 1.1200
Ur2 = 1.1220
Ur3 = 1.1240

이제 질문은 다음과 같습니다.
열린 세 가지 주문에 대해 이러한 주어진 수준을 정렬하는 방법???

포럼에서 그런 디자인을 찾았지만(아래 참조), 다른 어떤 것도 생각할 수 없습니다. 이 주제에 대한 기사를 돕거나 제안하십시오.
다른 카운터가 필요하십니까? 하지만 어떻게? 아니면 배열, 마법 또는... ????

double Ur1 = 1.1200
double Ur2 = 1.1220  
double Ur3 = 1.1240
 for ( int i= OrdersTotal ()- 1 ;i>= 0 ;i--) 
{
   if ( OrderSelect (i, SELECT_BY_TICKET, MODE_TRADES)== false ) continue ;
   if (OrderSymbol()!= Symbol ()) continue ;
       if (OrderType()!= 0 ) continue ;
                   
   // вот тут мы можем работать с нашим ордером
   
   if (OrderTicket() = ???? );
 
 bool mod_Buy1 = OrderModify ( OrderTicket(???),OrderOpenPrice (), NULL ,Ur1, 0 , clrNONE );
 bool mod_Buy2 = OrderModify ( OrderTicket(???),OrderOpenPrice (), NULL ,Ur2, 0 , clrNONE );
 bool mod_Buy3 = OrderModify (OrderTicket(???),OrderOpenPrice (), NULL ,Ur3, 0 , clrNONE );


}  

 
vadimvborisov :
오픈 쓰리 오더에 대해 이러한 주어진 레벨을 정렬하는 방법???

1. 오픈 시점에 상응하는 TP 주문을 하지 못하는 이유는 무엇입니까?
2. 이 mod_Buy1/2/3은 무엇입니까? - 위의 for-loop의 목적을 이해했는가?
사유: