IgorM : 나는 당신이 TP를 계산하는 이유를 추측하기조차 어렵다는 것을 알게 되었습니다. 일반적으로 take는 주문할 때 계산됩니다. 그런 다음 주문에 할당되고 OrderModify()를 사용하여 변경해야 합니다. TP는 가상입니다. , 그런 다음 배열로 기억하십시오.
//+----------------------------------------------- --------------------+ //| 전문가 초기화 기능 | //+----------------------------------------------- --------------------+ extern int BandsPeriod=20,i=1 ;extern int BandsShift=0; 외부 이중 대역편차=2.0; extern 더블 랏=0.1, TakeProfit=50, 손절매=10 ; 정수 초기화() {int 평균; //----
//---- 리턴(0); } //+----------------------------------------------- --------------------+ //| 전문가 초기화 해제 기능 | //+----------------------------------------------- --------------------+ 정수 초기화() { //----
//---- 리턴(0); } //+----------------------------------------------- --------------------+ //| 전문가 시작 기능 | //+----------------------------------------------- --------------------+ 정수 시작() {더블 평균, 상한, 하한, newres, 합계, 편차;
질문. 다음과 같이 이익실현을 설정하고 싶습니다.
나는 당신이 TP를 계산하는 이유를 추측하기조차 어렵다는 것을 알게 되었습니다. 일반적으로 take는 주문할 때 계산됩니다. 그런 다음 주문에 할당되고 OrderModify()를 사용하여 변경해야 합니다. TP는 가상입니다. , 그런 다음 배열로 기억하십시오.
조언 해주셔서 감사합니다.
안녕히 주무세요! 고문을 여기에서 채찍질했습니다. 지금은 계속 훈련하고 있습니다. 매번 모든 것이 더 빨리 나타납니다. 오직 그는 거래하지 않습니다!
가능하면 말씀해 주세요. 연락을 드리는 것 같아요.
//+----------------------------------------------- --------------------+
//| 다이몬 테두리 .mq4 |
//| Copyright © 2010, MetaQuotes Software Corp. |
//| http://www.metaquotes.net |
//+----------------------------------------------- --------------------+
#property copyright "Copyright © 2010, MetaQuotes Software Corp."
#속성 링크 "http://www.metaquotes.net"
//+----------------------------------------------- --------------------+
//| 전문가 초기화 기능 |
//+----------------------------------------------- --------------------+
extern int BandsPeriod=20,i=1 ;extern int BandsShift=0;
외부 이중 대역편차=2.0;
extern 더블 랏=0.1, TakeProfit=50, 손절매=10 ;
정수 초기화()
{int 평균;
//----
//----
리턴(0);
}
//+----------------------------------------------- --------------------+
//| 전문가 초기화 해제 기능 |
//+----------------------------------------------- --------------------+
정수 초기화()
{
//----
//----
리턴(0);
}
//+----------------------------------------------- --------------------+
//| 전문가 시작 기능 |
//+----------------------------------------------- --------------------+
정수 시작()
{더블 평균, 상한, 하한, newres, 합계, 편차;
평균=iMA(NULL,0,BandsPeriod,BandsShift,MODE_SMA,PRICE_CLOSE,i);
//----
newres=닫기[i]-평균;
합계=뉴스*뉴스;
편차=대역 편차*MathSqrt(합/대역 주기);
상한=중간+편차;
하한=중간편차;
//----
if (상위 테두리<닫기[i])
{ Comment("부표!",상향 );
OrderSend(Symbol(),OP_BUY,Lots,Ask,3,Bid-stoploss*Point,Ask+TakeProfit*Point,"macd sample",16384,0,Green);
}
if (하단>닫기[i])
{ Comment(" Sell! ", Lower bound );
OrderSend(Symbol(),OP_SELL,Lots,Bid,3,Ask+stoploss*Point,Bid-TakeProfit*Point,"macd sample",16384,0,Red);
}
반환(0);
}
//+----------------------------------------------- --------------------+
영어가 아닌 변수에 대해 사과드립니다. 무엇이 무엇인지 기억하는 것이 훨씬 쉽습니다.
여기요 ! 뭐가 잘못됐는지 모르겠어???? 시장가 주문을 수정하지 않습니다
slb =NormalizeDouble(입찰가 - (손절매 * 포인트), 자릿수); // 매수 포지션에 대한 스톱 계산 //
tpb =NormalizeDouble(Ask + (TakeProfit* 포인트), 자릿수); // 매수 포지션에 대한 이익 계산 //
sls =NormalizeDouble(Ask + (StopLoss * Point),Digits); // 매도 포지션에 대한 스톱 계산 //
tps =NormalizeDouble(Bid - (TakeProfit* 포인트), 자릿수);
//================================================== = ====================//
정수 합계=OrdersTotal();
정수 = 0;
for (int i=total-1; i>=0; i--)
{
if(주문선택(i, SELECT_BY_POS))
{
if(OrderSymbol()==Symbol())
{
n++;
}}}
만약 ( 총 == 1 )
{
for (int k=total-1; k>=0; k--)
{
if(주문선택(k, SELECT_BY_TICKET))
Alert("주문은", k);
{
if ((OrderType()==OP_BUY)&&(OrderTakeProfit()==0)&&(O rderStopLoss()==0))
{
OrderModify(k,OrderOpenPrice(),slb,tpb,0,Blue);
Alert("오류", GetLastError());
}}}}
반환(0);}
어떤 문제를 도와줄 수 있습니까 ...........................................................
다음과 같이 시도할 수도 있습니다.
얼마나 더 나은지:
- 어떤 쌍과 거래 기간을 고문에 지정하십시오.
또는
- 원하는 설정 기간의 통화 쌍 차트에 고문을 던집니다.
??
한 번만 더 요청하십시오. 똑똑할 필요가 없습니다. 미리 씁니다. 그리고 그것은 별로 좋지 않습니다.
저에게는 이 질문에 대한 답이 매우 중요하므로 진지하게 받아주세요.
그것은 결정되고 선택한 솔루션에서 멈출 것입니다.
필요한 통화 쌍에 대해 조언을 제공하거나 특정 통화 쌍에 대해 즉시 작성하십시오.
저도 그냥 던지는 편입니다.
그러나 나는 이것에 대해 더 많은 경험을 가진 사람들의 의견도 중요하게 생각합니다. 어느 것이 더 나은지 이미 결정했습니다.