아니오, 그것은 작동하지 않습니다.. 하나의 주문 - 하나의 로트, 로트 3으로 주문을 열면 원하는대로 로트를 나눌 수 없습니다 - 처음 1, 1, 1 - 주문이 완전히 마감되었습니다 , 즉, 주문이 열린 것과 동일한 로트로 마감되었습니다. 부분적으로 주문을 마감할 수 없습니다.
hope писал(а)>> 같지 않습니다. 로트의 1/3이 닫힙니다(조건 중 하나에 따라 - 가격이 +150pp에 도달했다고 가정해 봅시다). 두 번째 1/3은 예를 들어 오프닝에서 +300pp가 되면 닫힙니다.
아니오, 그것은 작동하지 않습니다.. 하나의 주문 - 하나의 로트, 로트 3으로 주문을 열면 원하는대로 로트를 나눌 수 없습니다 - 처음 1, 1, 1 - 주문이 완전히 마감되었습니다 , 즉 주문이 개설된 동일한 로트로 마감되었습니다. 부분적으로 주문을 마감할 수 없습니다.
...........................
".... 많이 쪼개면 안 돼..." - 왜? 오래 전에 기술적으로 구현되었으며 85페이지의 Roger와 KimIV 덕분에 로트를 정규화하여 오류 131에서 벗어났습니다. 또한 "... 하나의 주문 - 하나의 로트, 로트 3으로 주문을 열면 원하는대로 로트를 분할 할 수 없습니다 - 처음 1, 다음 1 ..."은 잘못된 것입니다. 주문 - 로트라고도 함 - 볼륨: 0.03, 0.3, 3...으로 구성되며 부분적으로 조용히 닫힙니다: 0.01, 0.1, 1... 그래서?
그리고 내 마지막 요청의 핵심은 다음과 같습니다. 배열에 의존하지 않고 모든 위치를 닫을 수 있지만 표준 계산을 사용하고 유형별로 추가하는 것이 가능합니까?
BuyTotalOp =0;// Количество Buy ордеров
SellTotalOp =0;// Количество Sell ордеровfor(int i =1; i <=OrdersTotal(); i ++)// Цикл перебора ордер{if(OrderSelect( i -1, SELECT_BY_POS )==true)// Если есть следующий{// Анализ ордеров:if(OrderSymbol()!= Symb )continue;// Не наш фин. инструмif(OrderType()>1)// Попался отложенный{Alert("Обнаружен отложенный ордер. Эксперт не работает.");return;// Выход из start()}if(OrderType()==OP_BUY){
BuyTotalOp ++;// Счётчик ордеров Buy
나는 지금 배가 피곤하고 바다를 가로질러 항해하며 이 방향으로 항해할지 아니면 방향을 잡고 다른 길을 시도할지 알려주는 등대를 기대하고 있다는 느낌을 받았습니다.
void CloseAll (){for(int i =OrdersTotal()-1; i >=0; i --){if(OrderSelect( i , SELECT_BY_POS , MODE_TRADES )==false)break;if(OrderType()==OP_BUY)OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_BID),100);if(OrderType()==OP_SELL)OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_ASK),100);if(OrderType()==OP_BUYSTOP)OrderDelete(OrderTicket());if(OrderType()==OP_SELLSTOP)OrderDelete(OrderTicket());if(OrderType()==OP_BUYLIMIT)OrderDelete(OrderTicket());if(OrderType()==OP_SELLLIMIT)OrderDelete(OrderTicket());}}
열린 포즈만 닫습니다.
void CloseAll2 (){for(int i =OrdersTotal()-1; i >=0; i --){if(OrderSelect( i , SELECT_BY_POS , MODE_TRADES )==false)break;if(OrderType()==OP_BUY)OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_BID),100);if(OrderType()==OP_SELL)OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_ASK),100);}}
주문을 마감하는 전략은 중요하지 않으며 무엇이든 될 수 있습니다. 주문을 마감하는 Kim의 기능을 도와주세요.
int start (){//----//Print (ExpertName);if(Bars<20)return(0);if( CheckNevBar )if(! NevBar ())return(0);
TradesInThisSymbol = ExistPositions ( sy );if( TradesInThisSymbol >0)return(0);if(AccountFreeMargin()< MarginMin ){//Print("Not enough money to trade Strategy:", ExpertName);return(0);}
sy =Symbol();
Lots = GetSizeLot ( sy , LotsWayChoice , LotsPercent , LotsDeltaDepo , LotsDepoForOne , LotsMax );if( CheckForOpen_Sell ())
OpenPosition ( sy ,OP_SELL, Lots );// Тут работаетif( CheckForOpen_Buy ())
OpenPosition ( sy ,OP_BUY, Lots );// Тут работаетif( CheckForClose_Buy ())
ClosePositions ( sy ,OP_BUY);// Тут у меня что то неработаетif( CheckForClose_Sell ())
ClosePositions ( sy ,OP_SELL);// Тут у меня что то неработает//----return(0);}//------------------------bool CheckForClose_Buy (){
Indicat_Var ();if( ExistPositions ( sy ,OP_BUY, MagicNumber )){if( VininI_fast_trend ==-1)return(true); // Тут любое условие на закрытие//if(BB_MACD_2 > 0)return(true); // Тут любое условие на закрытиеelsereturn(false);}}//------------------------bool CheckForClose_Sell (){
Indicat_Var ();if( NumberOfPositions ( sy ,OP_SELL, MagicNumber )>0){if( VininI_fast_trend ==1)return(true);// Тут любое условие на закрытие//if(BB_MACD_1 > 0) // Тут любое условие на закрытие//return(true);elsereturn(false);}}
아니오, 그것은 작동하지 않습니다.. 하나의 주문 - 하나의 로트, 로트 3으로 주문을 열면 원하는대로 로트를 나눌 수 없습니다 - 처음 1, 1, 1 - 주문이 완전히 마감되었습니다 , 즉, 주문이 열린 것과 동일한 로트로 마감되었습니다. 부분적으로 주문을 마감할 수 없습니다.
당신은 틀렸습니다, 나는 부분적으로 부지를 폐쇄하는 트롤을 가지고 있습니다
새로운 주문은 물론 열리지 않습니까?
아니오, 그것은 작동하지 않습니다.. 하나의 주문 - 하나의 로트, 로트 3으로 주문을 열면 원하는대로 로트를 나눌 수 없습니다 - 처음 1, 1, 1 - 주문이 완전히 마감되었습니다 , 즉 주문이 개설된 동일한 로트로 마감되었습니다. 부분적으로 주문을 마감할 수 없습니다.
...........................
".... 많이 쪼개면 안 돼..." - 왜? 오래 전에 기술적으로 구현되었으며 85페이지의 Roger와 KimIV 덕분에 로트를 정규화하여 오류 131에서 벗어났습니다. 또한 "... 하나의 주문 - 하나의 로트, 로트 3으로 주문을 열면 원하는대로 로트를 분할 할 수 없습니다 - 처음 1, 다음 1 ..."은 잘못된 것입니다. 주문 - 로트라고도 함 - 볼륨: 0.03, 0.3, 3...으로 구성되며 부분적으로 조용히 닫힙니다: 0.01, 0.1, 1... 그래서?
그리고 내 마지막 요청의 핵심은 다음과 같습니다. 배열에 의존하지 않고 모든 위치를 닫을 수 있지만 표준 계산을 사용하고 유형별로 추가하는 것이 가능합니까?
나는 지금 배가 피곤하고 바다를 가로질러 항해하며 이 방향으로 항해할지 아니면 방향을 잡고 다른 길을 시도할지 알려주는 등대를 기대하고 있다는 느낌을 받았습니다.
이고르 - 우리가 당신의 가지를 헛되이 찢고 있습니까?
예를 들어 다음과 같이 가지각색을 제외하고 모든 것을 하나씩 닫을 수 있습니다.
b,s,s,b,b,s,b 볼륨 1,2,1,2,2,1,2 총 중첩 볼륨 1-2-1+2+2-1+2=3 랏
요약하면, 우리는 매수 3 랏의 합을 구하고 이 매도 3 랏의 양의 카운터를 설정합니다.
그런 다음 닫기 bi를 닫습니다.
*
그러나 질문: 모든 포지션을 청산할 수 있습니까?
예, 스크립트를 사용하여 순차적으로 하나씩 할 수 있습니다. 빠릅니다! 그리고 모든 것...
스크립트 또는 닫기 기능 자체가 두 번 이상 게시되었습니다...
또한 구성한 후 기준에 따라 한 번에 모두 닫을 수 있습니다. 예를 들면 다음과 같습니다.
- 특정 캐릭터로
- 구매만 또는 판매만
- 수익성만
따라서 기준 조합도 가능합니다 ...
편리한 조건에 따라 주문을 마감하도록 도와주세요. 그렇지 않으면 작동 하지 않습니다.
미리 감사드립니다
다 닫아!!!
열린 포즈만 닫습니다.
전화 예.
종료 스크립트를 완료합니다.
김 당신이 최고입니다. 나는 당신에게 내 모자를 벗습니다.
나는 당신의 모든 기능을 연구했지만 여기에 하나 또는 garazd가 없습니다. 이제 나는 함수를 쓸 때 머리에서 쓰지만 머리에서 당신의 함수를 쓴다 :-)
나는 프로그래머로서의 경력을 시작할 때 당신의 유용한 기능을 많이 공부했습니다.
고맙습니다.
편리한 조건에 따라 주문을 마감하도록 도와주세요. 그렇지 않으면 작동하지 않습니다.
미리 감사드립니다
설명
주문을 마감하는 전략은 중요하지 않으며 무엇이든 될 수 있습니다. 주문을 마감하는 Kim의 기능을 도와주세요.