bool exit_for =false;double max_1 =0;double max_2 =0;for(int k =0; k <Bars; k ++){if(iRSI(Symbol(),0, rsi_period ,PRICE_CLOSE, k )<iRSI(Symbol(),0, rsi_period ,PRICE_CLOSE, k +1)&&iRSI(Symbol(),0, rsi_period ,PRICE_CLOSE, k +1)>iRSI(Symbol(),0, rsi_period ,PRICE_CLOSE, k +2)){//Если это первый максимум:if( max_1 ==0)
max_1 =iRSI(Symbol(),0, rsi_period ,PRICE_CLOSE, k +1);//Записываем номер бара экстремумаelse//Если первый найден, записываем второй{
max_2 =iRSI(Symbol(),0, rsi_period ,PRICE_CLOSE, k +1);
exit_for =true;}}//Выход из цикла, когда найдены оба максимумаif( exit_for ==true) k =Bars+1;}
안녕하세요 . 제발 내게 말해줘. RSI 값이 70보다 높은 후 피크를 비교하는 것에 대한 내 질문에 그들은이 솔루션을 제안했습니다.(위 코드)
그러나 그것은 조금 다른 것으로 밝혀졌습니다. 결과적으로 히스토리의 최고값이 검색되지만(예: 지난 날 찾기) 이 기능이 작동하도록 허용된 후 이 조건이 실행될 때까지 기다려야 합니다(예: 첫 번째 막대의 값 > 70) ... 그리고 조건이 충족되면(역사에 없는 막대 이전 > 70, 이후) 첫 번째 Makim이 두 번째 미만인 경우 - 구매 마감
// ищем самый последний закрытый ордерfor( i =OrdersHistoryTotal(); i >=0; i --){if(OrderSelect( i , SELECT_BY_POS , MODE_HISTORY )){if(OrderSymbol()==Symbol()){if(OrderMagicNumber()== MagicNumber ){if(OrderCloseTime()!=0){if(OrderCloseTime()> time ){
time =OrderCloseTime();
tikcet =OrderTicket();
profit =OrderProfit();
type =OrderType(); <-----
}}}}}}
말해주세요 주문이 정지 또는 이익으로 마감되었는지에 대한 명확한 이해가 필요합니다. 나는 변수 priceprofitbuy 및 pricestopbuy를 만들었습니다. 주문 보내기 전에 pricebuy = 물어보고 pricebuy에서 주문하고 성공하면 pricebuy 가격을 기반으로 priceprofitbuy 및 pricestopbuy를 경고하고 기억합니다. 그런 다음 priceprofitbuy >= Bid 및 pricestopbuy <= Bid 조건으로 내가 닫은 방법을 확인합니다 - 이익 또는 정지 그러나 사이클 동안 Bid가 Take Profit 수준에 도달하여 주문이 마감되었지만 사이클이 priceprofitbuy >= Bid에 도달하는 동안 Bid가 작아지고 사이클이 더 이상 작동하지 않습니다.
질문 - 주문이 이익으로 마감되었음을 어떻게 든 명확하게 결정할 수 있습니까 ??? 변수에 주문 티켓 의 번호를 할당 한 다음 히스토리에서 이익을 확인하려고 시도했지만 히스토리에서 티켓에 대한 주문은 선택되지 않습니다. 히스토리는 정산에서만 작동합니다.
나는 priceprofitbuy 및 pricestopbuy 변수를 만들었습니다. 주문 보내기 전에 pricebuy = 물어보고 pricebuy에서 주문하고 성공하면 pricebuy 가격을 기반으로 priceprofitbuy 및 pricestopbuy를 경고하고 기억합니다. 그런 다음 priceprofitbuy >= Bid 및 pricestopbuy <= Bid 조건으로 내가 닫은 방법을 확인합니다 - 이익 또는 정지 그러나 사이클 동안 Bid가 Take Profit 수준에 도달하여 주문이 마감되었지만 사이클이 priceprofitbuy >= Bid에 도달하는 동안 Bid가 작아지고 사이클이 더 이상 작동하지 않습니다.
질문 - 주문이 이익으로 마감되었음을 어떻게 든 명확하게 결정할 수 있습니까 ??? 변수에 주문 티켓의 번호를 할당 한 다음 히스토리에서 이익을 확인하려고 시도했지만 히스토리에서 티켓에 대한 주문은 선택되지 않습니다. 히스토리는 정산에서만 작동합니다.
정확하지 않음:
포지션은 명시된 가격이 아니라 슬리피지(보통 최악)로 열릴 수 있습니다.
이전에 OrderSelect(...)를 사용하여 선택했던 OrderOpenPrice() 함수를 사용하여 미결 주문의 가격을 결정하는 것이 더 정확할 것입니다.
그리고 마감 후 시가와 종가의 차이를 계산하는 것이 훨씬 쉽습니다. 후자는 OrderClosePrice() 함수에 의해 결정됩니다.
int ORDtype;
// ищем самый последний закрытый ордерfor( i =OrdersHistoryTotal(); i >=0; i --){if(OrderSelect( i , SELECT_BY_POS , MODE_HISTORY )){if(OrderSymbol()==Symbol()){if(OrderMagicNumber()== MagicNumber ){if(OrderCloseTime()!=0){if(OrderCloseTime()> time ){
time =OrderCloseTime();
tikcet =OrderTicket();
profit =OrderProfit();
ORDtype =OrderType(); <-----
}}}}}}
// торг условия
if(ORDtype=1)&&....
변수를 선언할 때 지정된 값과 동일합니다. 귀하의 경우 0에 명시적인 할당이 없었기 때문입니다. 그건 그렇고, 나는 이전 게시물에서 당신이 OP_BUY 주문을 선택하고 싶어한다는 것을 눈치채지 못했습니다. 정확히 0은 이 상수에 해당하고 1은 OP_SELL입니다. 따라서 값이 -1인 ORDtype 변수를 선언하는 것이 좋습니다.
int ORDtype=-1;
또한 어떤 값이 작업 유형에 해당하는지 혼동하지 않도록 다음과 같은 조건에서 지정할 수 있습니다.
변수를 선언할 때 지정된 값과 동일합니다. 귀하의 경우 0에 명시적인 할당이 없었기 때문입니다. 그건 그렇고, 나는 이전 게시물에서 당신이 OP_BUY 주문을 선택하고 싶어한다는 것을 눈치채지 못했습니다. 정확히 0은 이 상수에 해당하고 1은 OP_SELL입니다. 따라서 값이 -1인 ORDtype 변수를 선언하는 것이 좋습니다.
int ORDtype=-1;
또한 어떤 값이 작업 유형에 해당하는지 혼동하지 않도록 다음과 같은 조건에서 지정할 수 있습니다.
if (ORDtype==OP_BUY) ...
그리고 내역에 매도 주문이 있었고 Expert Advisor가 이를 마감했다면(내역 유형에서 해당 주문의 마감은 t/p 또는 s/l로 표시됩니다. 마지막으로 간주되지 않을까요?) 원하는 효과를 얻지 못함((
그러나 그것은 조금 다른 것으로 밝혀졌습니다. 결과적으로 히스토리의 최고값이 검색되지만(예: 지난 날 찾기) 이 기능이 작동하도록 허용된 후 이 조건이 실행될 때까지 기다려야 합니다(예: 첫 번째 막대의 값 > 70) ... 그리고 조건이 충족되면(역사에 없는 막대 이전 > 70, 이후) 첫 번째 Makim이 두 번째 미만인 경우 - 구매 마감
무엇을 변경해야 하는지 알려주세요.
감사해요
질문 하나만 더 도와주세요
이력 주문을 선택한 후 유형을 결정하는 방법(구매 또는 판매 주문이 마감되었는지 여부)?
당신에게 하나의 변수가 선언되고 다른 변수를 사용하려고 합니다.
으아아아아아아아아아아아아아아아아아아아아아아...... 세묜 세메니치!!!!!!!!!!!!!!!!!!!!!!!! 글쎄, 그들은 즉시 말했다 ....... 그렇지 않으면 늙음은 기쁨이 아니지만 젊음은 역겹습니다 .....
쌈빠아씨부우!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
말해주세요
주문이 정지 또는 이익으로 마감되었는지에 대한 명확한 이해가 필요합니다.
나는 변수 priceprofitbuy 및 pricestopbuy를 만들었습니다.
주문 보내기 전에 pricebuy = 물어보고 pricebuy에서 주문하고 성공하면 pricebuy 가격을 기반으로 priceprofitbuy 및 pricestopbuy를 경고하고 기억합니다.
그런 다음 priceprofitbuy >= Bid 및 pricestopbuy <= Bid 조건으로 내가 닫은 방법을 확인합니다 - 이익 또는 정지
그러나 사이클 동안 Bid가 Take Profit 수준에 도달하여 주문이 마감되었지만 사이클이 priceprofitbuy >= Bid에 도달하는 동안 Bid가 작아지고 사이클이 더 이상 작동하지 않습니다.
질문 - 주문이 이익으로 마감되었음을 어떻게 든 명확하게 결정할 수 있습니까 ???
변수에 주문 티켓 의 번호를 할당 한 다음 히스토리에서 이익을 확인하려고 시도했지만 히스토리에서 티켓에 대한 주문은 선택되지 않습니다. 히스토리는 정산에서만 작동합니다.
나는 priceprofitbuy 및 pricestopbuy 변수를 만들었습니다.
주문 보내기 전에 pricebuy = 물어보고 pricebuy에서 주문하고 성공하면 pricebuy 가격을 기반으로 priceprofitbuy 및 pricestopbuy를 경고하고 기억합니다.
그런 다음 priceprofitbuy >= Bid 및 pricestopbuy <= Bid 조건으로 내가 닫은 방법을 확인합니다 - 이익 또는 정지
그러나 사이클 동안 Bid가 Take Profit 수준에 도달하여 주문이 마감되었지만 사이클이 priceprofitbuy >= Bid에 도달하는 동안 Bid가 작아지고 사이클이 더 이상 작동하지 않습니다.
질문 - 주문이 이익으로 마감되었음을 어떻게 든 명확하게 결정할 수 있습니까 ???
변수에 주문 티켓의 번호를 할당 한 다음 히스토리에서 이익을 확인하려고 시도했지만 히스토리에서 티켓에 대한 주문은 선택되지 않습니다. 히스토리는 정산에서만 작동합니다.
정확하지 않음:
포지션은 명시된 가격이 아니라 슬리피지(보통 최악)로 열릴 수 있습니다.
이전에 OrderSelect(...)를 사용하여 선택했던 OrderOpenPrice() 함수를 사용하여 미결 주문의 가격을 결정하는 것이 더 정확할 것입니다.
그리고 마감 후 시가와 종가의 차이를 계산하는 것이 훨씬 쉽습니다. 후자는 OrderClosePrice() 함수에 의해 결정됩니다.
OrderType()은 유형(구매/판매)을 반환합니다.
xrust에게: 정말 감사합니다.
그러나 마감 주문의 종류가 OP_BUY라면 ㅋ ㅋ((
나는 이렇게 간다:
그 상태 에서 주문 유형 이 OP_BUY이면 blablabla?
if(ORDtype=1)&&....
그 상태에서 주문 유형이 OP_BUY이면 blablabla?
해야한다:
if(ORD유형 == 1)&&....
해야한다:
if(ORD유형 == 1)&&....
그리고 기록이 없는 경우 - 제 경우에는 ORDtype이 ==0이 될까요?
그리고 기록이 없는 경우 - 제 경우에는 ORDtype이 ==0이 될까요?
변수를 선언할 때 지정된 값과 동일합니다. 귀하의 경우 0에 명시적인 할당이 없었기 때문입니다. 그건 그렇고, 나는 이전 게시물에서 당신이 OP_BUY 주문을 선택하고 싶어한다는 것을 눈치채지 못했습니다. 정확히 0은 이 상수에 해당하고 1은 OP_SELL입니다. 따라서 값이 -1인 ORDtype 변수를 선언하는 것이 좋습니다.
int ORDtype=-1;
또한 어떤 값이 작업 유형에 해당하는지 혼동하지 않도록 다음과 같은 조건에서 지정할 수 있습니다.
if (ORDtype==OP_BUY) ...
변수를 선언할 때 지정된 값과 동일합니다. 귀하의 경우 0에 명시적인 할당이 없었기 때문입니다. 그건 그렇고, 나는 이전 게시물에서 당신이 OP_BUY 주문을 선택하고 싶어한다는 것을 눈치채지 못했습니다. 정확히 0은 이 상수에 해당하고 1은 OP_SELL입니다. 따라서 값이 -1인 ORDtype 변수를 선언하는 것이 좋습니다.
int ORDtype=-1;
또한 어떤 값이 작업 유형에 해당하는지 혼동하지 않도록 다음과 같은 조건에서 지정할 수 있습니다.
if (ORDtype==OP_BUY) ...
그리고 내역에 매도 주문이 있었고 Expert Advisor가 이를 마감했다면(내역 유형에서 해당 주문의 마감은 t/p 또는 s/l로 표시됩니다. 마지막으로 간주되지 않을까요?) 원하는 효과를 얻지 못함((