요청: 가능하면 첫 번째 게시물에서 분기의 관련 페이지에 대한 링크와 간단한 설명이 포함된 기능/스크립트 목록을 게시하고 업데이트합니다. 그러면 슈퍼 도구가 될 것입니다! 그리고 어딘가에 누군가가 "김에게 보낼 것입니다"라고 말한 다음 여기에서 오랫동안 스크롤하여 ...
미결 포지션의 StopLoss 가격 수준을 손익분기점으로 이동합니다. MovingInWL() 함수는 다음과 같은 선택적 매개변수를 허용합니다.
sy - 도구 이름. "" - 모든 문자, NULL - 현재 문자. 기본값은 "" 입니다.
op - 거래 작업. 유효한 값: -1 , OP_BUY , OP_SELL . 기본값은 -1 - 모든 작업입니다.
mn - 거래 작업의 식별자, MagicNumber . 기본값은 -1 - 모든 마법입니다.
또한 MovingInWL() 함수는 전역 변수(스크립트 또는 Expert Advisor의 외부 매개변수)가 있다고 가정합니다.
int LevelProfit - 스톱이 손익분기점 수준으로 이동하기 위해 위치가 도달해야 하는 포인트 단위의 이익 수준입니다.
int LevelWLoss - 이익이 LevelProfit 레벨(포인트)에 도달한 후 포지션 스톱이 이동할 포인트의 손익분기 레벨입니다.
//+----------------------------------------------------------------------------+//| Автор : Ким Игорь В. aka KimIV, http://www.kimiv.ru |//+----------------------------------------------------------------------------+//| Версия : 11.09.2008 |//| Описание : Перенос уровня стопа в безубыток |//+----------------------------------------------------------------------------+//| Параметры: |//| sy - наименование инструмента ( "" - любой символ, |//| NULL - текущий символ) |//| op - операция ( -1 - любая позиция) |//| mn - MagicNumber ( -1 - любой магик) |//+----------------------------------------------------------------------------+void MovingInWL (string sy ="",int op =-1,int mn =-1){double po , pp ;int i , k =OrdersTotal();for( i =0; i < k ; i ++){if(OrderSelect( i , SELECT_BY_POS , MODE_TRADES )){
po =MarketInfo(OrderSymbol(),MODE_POINT);if(OrderType()==OP_BUY){if(OrderStopLoss()-OrderOpenPrice()< LevelWLoss * po ){
pp =MarketInfo(OrderSymbol(),MODE_BID);if( pp -OrderOpenPrice()> LevelProfit * po ){
ModifyOrder (-1,OrderOpenPrice()+ LevelWLoss * po ,-1);}}}if(OrderType()==OP_SELL){if(OrderStopLoss()==0||OrderOpenPrice()-OrderStopLoss()< LevelWLoss * po ){
pp =MarketInfo(OrderSymbol(),MODE_ASK);if(OrderOpenPrice()- pp > LevelProfit * po ){
ModifyOrder (-1,OrderOpenPrice()- LevelWLoss * po ,-1);}}}}}}
추신. MovingInWL() 함수 사용의 예가 있는 Expert Advisor는 여기 에서 찾을 수 있습니다.
TrailingStop 알고리즘에 따라 오픈 포지션의 StopLoss 가격 수준을 이동합니다. SimpleTrailing() 함수는 다음과 같은 선택적 매개변수를 허용합니다.
sy - 도구 이름. "" - 모든 문자, NULL - 현재 문자. 기본값은 "" 입니다.
op - 거래 작업. 유효한 값: -1 , OP_BUY , OP_SELL . 기본값은 -1 - 모든 작업입니다.
mn - 거래 작업의 식별자, MagicNumber. 기본값은 -1 - 모든 마법입니다.
또한 SimpleTrailing() 함수는 전역 변수(스크립트 또는 Expert Advisor의 외부 매개변수)가 있다고 가정합니다.
bool TSProfitOnly - 트롤이 작업을 시작하는 구역의 스위치입니다. True 이면 포지션 이익이 TStop.Buy/Sell+TrailingStep 포인트 값에 도달한 후에만 후행이 작동하기 시작합니다. False 이면 EA는 현재 가격을 기준으로 포지션 스톱이 항상 TStop.Buy/Sell+TrailingStep 포인트보다 크지 않은지 확인합니다. 즉, True 이면 EA가 해당 포지션의 이익 영역에서만 작동하고, False 이면 음수 영역에서 작동합니다.
int TStop.Buy - 트롤 크기(포인트).
int TStop.Sell - 판매 포인트 단위의 트롤 크기입니다.
int TrailingStep - 포인트의 후행 단계. 잦은 요청으로 딜러를 괴롭히지 않기 위해 필요합니다.
//+----------------------------------------------------------------------------+//| Автор : Ким Игорь В. aka KimIV, http://www.kimiv.ru |//+----------------------------------------------------------------------------+//| Версия : 11.09.2008 |//| Описание : Сопровождение позиций простым тралом |//+----------------------------------------------------------------------------+//| Параметры: |//| sy - наименование инструмента ( "" - любой символ, |//| NULL - текущий символ) |//| op - операция ( -1 - любая позиция) |//| mn - MagicNumber ( -1 - любой магик) |//+----------------------------------------------------------------------------+void SimpleTrailing (string sy ="",int op =-1,int mn =-1){double po , pp ;int i , k =OrdersTotal();if( sy =="0") sy =Symbol();for( i =0; i < k ; i ++){if(OrderSelect( i , SELECT_BY_POS , MODE_TRADES )){if((OrderSymbol()== sy || sy =="")&&( op <0||OrderType()== op )){
po =MarketInfo(OrderSymbol(),MODE_POINT);if( mn <0||OrderMagicNumber()== mn ){if(OrderType()==OP_BUY){
pp =MarketInfo(OrderSymbol(),MODE_BID);if(! TSProfitOnly || pp -OrderOpenPrice()> TStop . Buy * po ){if(OrderStopLoss()< pp -( TStop . Buy + TrailingStep -1)* po ){
ModifyOrder (-1, pp - TStop . Buy * po ,-1);}}}if(OrderType()==OP_SELL){
pp =MarketInfo(OrderSymbol(),MODE_ASK);if(! TSProfitOnly ||OrderOpenPrice()- pp > TStop . Sell * po ){if(OrderStopLoss()> pp +( TStop . Sell + TrailingStep -1)* po ||OrderStopLoss()==0){
ModifyOrder (-1, pp + TStop . Sell * po ,-1);}}}}}}}}
추신. SimpleTrailing() 함수 사용의 예가 있는 EA는 여기 에서 찾을 수 있습니다.
그런 기능은 없습니다. Expert Advisor가 첨부된 차트에서만 개체를 생성하고 관리할 수 있습니다.
귀하의 신속한 응답에 감사드립니다. 그리고 그것은 Metatrader의 5번째 버전에 있습니까?
http://forum.alpari-idc.ru/showpost.php?p=368730&postcount=24
여기에서 찾았습니다.
훌륭한 일을 해주셔서 대단히 감사합니다.
요청: 가능하면 첫 번째 게시물에서 분기의 관련 페이지에 대한 링크와 간단한 설명이 포함된 기능/스크립트 목록을 게시하고 업데이트합니다. 그러면 슈퍼 도구가 될 것입니다! 그리고 어딘가에 누군가가 "김에게 보낼 것입니다"라고 말한 다음 여기에서 오랫동안 스크롤하여 ...
MovingInWL() 함수.
미결 포지션의 StopLoss 가격 수준을 손익분기점으로 이동합니다. MovingInWL() 함수는 다음과 같은 선택적 매개변수를 허용합니다.
또한 MovingInWL() 함수는 전역 변수(스크립트 또는 Expert Advisor의 외부 매개변수)가 있다고 가정합니다.
추신. MovingInWL() 함수 사용의 예가 있는 Expert Advisor는 여기 에서 찾을 수 있습니다.
가능하면 첫 번째 게시물에서 분기의 관련 페이지에 대한 링크와 간단한 설명이 포함된 기능/스크립트 목록을 게시하고 업데이트합니다.
첫 번째 페이지에서 더 이상 가능하지 않습니다 ...
여기에 올릴께요...업데이트 글이 차단되면 다시 올리겠습니다. 그러니 계속 지켜봐 주세요 :-)
SimpleTrailing() 함수.
TrailingStop 알고리즘에 따라 오픈 포지션의 StopLoss 가격 수준을 이동합니다. SimpleTrailing() 함수는 다음과 같은 선택적 매개변수를 허용합니다.
또한 SimpleTrailing() 함수는 전역 변수(스크립트 또는 Expert Advisor의 외부 매개변수)가 있다고 가정합니다.
추신. SimpleTrailing() 함수 사용의 예가 있는 EA는 여기 에서 찾을 수 있습니다.
//------- 외부 모듈 연결 --------------------------------------- ---+
#include "b-Positions.mqh" // 위치 작업
이 파일을 어디에서 찾을 수 있습니까?
//------- 외부 모듈 연결 --------------------------------------- ---+
#include "b-Positions.mqh" // 위치 작업
이 파일을 어디에서 찾을 수 있습니까?
여기