코딩 도움말 - 페이지 439

 
neverbeast:
다시 안녕.

그래서 화살표로 간단한 인디케이터를 만들었습니다. 불행히도 내가 원하는대로 그리지 않습니다. 내 목표는 조건이 충족될 때 화살표를 표시하는 것이지만 조건이 더 이상 충족되지 않으면 해당 화살표를 삭제해야 합니다. 예를 들어: 15초 동안 현재 촛불 조건이 충족되고 화살표를 그린 다음 방향을 변경하고 조건이 더 이상 충족되지 않으므로 현재 촛불을 닫기 전에 해당 화살표를 삭제해야 합니다. 현재는 조건이 충족될 때 화살표를 그리고 전혀 다시 그리지 않으며, 새로고침할 때까지 전혀 그리지 않는 ITM 또는 OTM/ATM으로 갔는지 표시하는 만료 화살표가 있습니다. 누군가 한 번 살펴보고 고칠 수 있도록 도와주시겠습니까?

6s.mq4

코드에서 처음 15초 동안은 검사가 전혀 없습니다. 그 수표도 추가하지 않겠습니까

 
mladen:
코드에서 처음 15초 동안은 검사가 전혀 없습니다. 그 수표도 추가하지 않겠습니까

내 잘못이야. 여기에서 설명했던 지표의 또 다른 버전이었습니다. 어쨌든 저는 mql4를 코딩하는 초보자이고 그 방법을 모릅니다. 작동 방식에 대한 약간의 자습서로 해당 코드를 작성할 수 있습니까?

 
neverbeast:
내 잘못이야. 여기에서 설명했던 지표의 또 다른 버전이었습니다. 어쨌든 저는 mql4를 코딩하는 초보자이고 그 방법을 모릅니다. 작동 방식에 대한 약간의 자습서로 해당 코드를 작성할 수 있습니까?

다음과 같이 할 수 있습니다.

if (TimeCurrent()-Time[0])>15) return(0);

start() 프로시저의 시작 부분에(첫 번째 줄로) 배치하고 현재 촛불의 시작 부분에서 경과된 시간(초)이 15보다 크면 나머지 코드가 실행되지 않도록 합니다.

 

나는 EA 코드를 가지고 있지만 내 기술은.....전혀 없습니다. 그것을 컴파일하려고 시도했지만 버그를 제거했지만 운이 없었습니다.

누구든지 도울 수 있습니까 ??

//|$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ // 가격 조치 V1 / / hodhabi@gmail.com //|$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ #define NL "\n" extern double 랏 = 1; 외부 이중 TP = 100; extern int TradeType = 0; // 추세를 따르려면 0, 강제 매수하려면 1, 매도하려면 2 extern int 레버리지 = 5; 외부 이중 MaximumLossinMoney = 1000; 외부 정수 MagicNumber = 250346; extern bool UseAlerts = false; //+-------------+ //| 사용자 정의 초기화 | //|-------------+ int init() { } //+----------------+ //| 사용자 정의 DE-init | //+----------------+ int deinit() { } void sendEmail() { if (UseAlerts==true) SendMail("YTF Alert", "새 주문이 완료되었습니다. "+OrdersTotal()+" 잔액 = " +AccountBalance() + " Equity = "+AccountEquity() +" 현재 가격: " + Close[0]) 추가됨; 반품; } 무효 DrawHorizentalLine() { ObjectCreate("TProfit", OBJ_HLINE, 0, 시간[1], 닫기[0]+500*포인트); ObjectSet("수익", OBJPROP_STYLE, STYLE_SOLID); ObjectSet("Tprofit", OBJPROP_COLOR, MediumSeaGreen); } //+---------------------------------------------- --------------------------+ //| 모든 것을 닫습니다 //+--------------------------------------------- ---------------------------+ void CloseAll() { for(int i=OrdersTotal()-1;i>=0;i --) { 주문선택(i, SELECT_BY_POS); 부울 결과 = 거짓; if ( OrderType() == OP_BUY && OrderMagicNumber()== MagicNumber) result = OrderClose( OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_BID), 5, Red ); if ( OrderType() == OP_SELL && OrderMagicNumber()==MagicNumber) result = OrderClose( OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_ASK), 5, Red ); if (UseAlerts) PlaySound("alert.wav"); } 반품; } 무효 CloseAllBuy() { for(int i=OrdersTotal()-1;i>=0;i--) { OrderSelect(i, SELECT_BY_POS); 부울 결과 = 거짓; if ( OrderType() == OP_BUY && OrderMagicNumber()==MagicNumber) result = OrderClose( OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_BID), 5, Red ); if (UseAlerts) PlaySound("alert.wav"); } 반품; } 무효 CloseAllSell() { for(int i=OrdersTotal()-1;i>=0;i--) { OrderSelect(i, SELECT_BY_POS); 부울 결과 = 거짓; if ( OrderType() == OP_SELL && OrderMagicNumber()==MagicNumber) result = OrderClose( OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_ASK), 5, Red ); if (UseAlerts) PlaySound("alert.wav"); } 반품; } //+---------------------------------------------- --------------------------+ //| 이익이 있는 모든 주문을 취소합니다 //+---------------------------------------- --------------------------------+ //+-------------- -------------------------------------------------- ------+ //| 모든 보류 주문 취소 //+------------------------------------------- --------------------------+ //+-----------+ //| 메인 | //+-----------+ int start() { int OrdersBUY, 티켓; int 주문판매; 이중 BuyLots, SellLots, BuyProfit, SellProfit; //+----------------------------------------------- -------------------+ // 최종 주문 가격 결정 | //------------------------------------------------ -------------------+ if(OrdersTotal()==0 && TradeType ==1 ) { ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3 ,Ask-TP*Point,Ask+leverage*TP*Point,"MLTrendETF",MagicNumber,0,Green); 거래 유형=2; if(티켓>0) { if(OrderSelect(티켓,SELECT_BY_TICKET,MODE_TRADES)) sendEmail(); } else Print("구매 주문 열기 오류: ",GetLastError()); 리턴(0); } if(OrdersTotal()==0 && TradeType ==2) { ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,Bid+TP*Point,Bid-TP*leverage*Point,"MLTrendETF", 매직넘버,0,그린); 거래 유형 = 1; if(티켓>0) { if(OrderSelect(티켓,SELECT_BY_TICKET,MODE_TRADES)) sendEmail(); } else Print("구매 주문 열기 오류: ",GetLastError()); 리턴(0); } } // 시작()

 

죄송합니다. 여기 모든 것이 뒤죽박죽이 아닙니다.

//|$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ // 가격 조치 V1 / / hodhabi@gmail.com //|$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ #define NL "\n" extern double 랏 = 1; 외부 이중 TP = 100; extern int TradeType = 0; // 추세를 따르려면 0, 강제 매수하려면 1, 매도하려면 2 extern int 레버리지 = 5; 외부 이중 MaximumLossinMoney = 1000; 외부 정수 MagicNumber = 250346; extern bool UseAlerts = false; //+-------------+ //| 사용자 정의 초기화 | //|-------------+ int init() { } //+----------------+ //| 사용자 정의 DE 초기화 | //+----------------+ int deinit() { } void sendEmail() { if (UseAlerts==true) SendMail("YTF Alert", "새 주문이 완료되었습니다. "+OrdersTotal()+" 잔액 = " +AccountBalance() + " Equity = "+AccountEquity() +" 현재 가격: " + Close[0]) 추가됨; 반품; } 무효 DrawHorizentalLine() { ObjectCreate("TProfit", OBJ_HLINE, 0, 시간[1], 닫기[0]+500*포인트); ObjectSet("수익", OBJPROP_STYLE, STYLE_SOLID); ObjectSet("Tprofit", OBJPROP_COLOR, MediumSeaGreen); } //+---------------------------------------------- --------------------------+ //| 모든 것을 닫습니다 //+--------------------------------------------- ---------------------------+ void CloseAll() { for(int i=OrdersTotal()-1;i>=0;i --) { 주문선택(i, SELECT_BY_POS); 부울 결과 = 거짓; if ( OrderType() == OP_BUY && OrderMagicNumber()== MagicNumber) result = OrderClose( OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_BID), 5, Red ); if ( OrderType() == OP_SELL && OrderMagicNumber()==MagicNumber) result = OrderClose( OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_ASK), 5, Red ); if (UseAlerts) PlaySound("alert.wav"); } 반품; } 무효 CloseAllBuy() { for(int i=OrdersTotal()-1;i>=0;i--) { OrderSelect(i, SELECT_BY_POS); 부울 결과 = 거짓; if ( OrderType() == OP_BUY && OrderMagicNumber()==MagicNumber) result = OrderClose( OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_BID), 5, Red ); if (UseAlerts) PlaySound("alert.wav"); } 반품; } 무효 CloseAllSell() { for(int i=OrdersTotal()-1;i>=0;i--) { OrderSelect(i, SELECT_BY_POS); 부울 결과 = 거짓; if ( OrderType() == OP_SELL && OrderMagicNumber()==MagicNumber) result = OrderClose( OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_ASK), 5, Red ); if (UseAlerts) PlaySound("alert.wav"); } 반품; } //+---------------------------------------------- --------------------------+ //| 이익이 있는 모든 주문을 취소합니다 //+---------------------------------------- --------------------------------+ //+-------------- -------------------------------------------------- ------+ //| 모든 보류 주문 취소 //+------------------------------------------- --------------------------+ //+-----------+ //| 메인 | //+-----------+ int start() { int OrdersBUY, 티켓; int 주문판매; 이중 BuyLots, SellLots, BuyProfit, SellProfit; //+----------------------------------------------- -------------------+ // 최종 주문 가격 결정 | //------------------------------------------------ -------------------+ if(OrdersTotal()==0 && TradeType ==1 ) { ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3 ,Ask-TP*Point,Ask+leverage*TP*Point,"MLTrendETF",MagicNumber,0,Green); 거래 유형=2; if(티켓>0) { if(OrderSelect(티켓,SELECT_BY_TICKET,MODE_TRADES)) sendEmail(); } else Print("구매 주문 열기 오류: ",GetLastError()); 리턴(0); } if(OrdersTotal()==0 && TradeType ==2) { ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,Bid+TP*Point,Bid-TP*leverage*Point,"MLTrendETF", 매직넘버,0,그린); 거래 유형 = 1; if(티켓>0) { if(OrderSelect(티켓,SELECT_BY_TICKET,MODE_TRADES)) sendEmail(); } else Print("구매 주문 열기 오류: ",GetLastError()); 리턴(0); } } // 시작()

 
godrich:
죄송합니다. 여기 모든 것이 뒤죽박죽이 아닙니다. //|$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ // 가격 조치 V1 / / hodhabi@gmail.com //|$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ #define NL "\n" extern double 랏 = 1; 외부 이중 TP = 100; extern int TradeType = 0; // 추세를 따르려면 0, 강제 매수하려면 1, 매도하려면 2 extern int 레버리지 = 5; 외부 이중 MaximumLossinMoney = 1000; 외부 정수 MagicNumber = 250346; extern bool UseAlerts = false; //+-------------+ //| 사용자 정의 초기화 | //|-------------+ int init() { } //+----------------+ //| 사용자 정의 DE 초기화 | //+----------------+ int deinit() { } void sendEmail() { if (UseAlerts==true) SendMail("YTF Alert", "새 주문이 완료되었습니다. "+OrdersTotal()+" 잔액 = " +AccountBalance() + " Equity = "+AccountEquity() +" 현재 가격: " + Close[0]) 추가됨; 반품; } 무효 DrawHorizentalLine() { ObjectCreate("TProfit", OBJ_HLINE, 0, 시간[1], 닫기[0]+500*포인트); ObjectSet("수익", OBJPROP_STYLE, STYLE_SOLID); ObjectSet("Tprofit", OBJPROP_COLOR, MediumSeaGreen); } //+---------------------------------------------- --------------------------+ //| 모든 것을 닫습니다 //+--------------------------------------------- ---------------------------+ void CloseAll() { for(int i=OrdersTotal()-1;i>=0;i --) { 주문선택(i, SELECT_BY_POS); 부울 결과 = 거짓; if ( OrderType() == OP_BUY && OrderMagicNumber()== MagicNumber) result = OrderClose( OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_BID), 5, Red ); if ( OrderType() == OP_SELL && OrderMagicNumber()==MagicNumber) result = OrderClose( OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_ASK), 5, Red ); if (UseAlerts) PlaySound("alert.wav"); } 반품; } 무효 CloseAllBuy() { for(int i=OrdersTotal()-1;i>=0;i--) { OrderSelect(i, SELECT_BY_POS); 부울 결과 = 거짓; if ( OrderType() == OP_BUY && OrderMagicNumber()==MagicNumber) result = OrderClose( OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_BID), 5, Red ); if (UseAlerts) PlaySound("alert.wav"); } 반품; } 무효 CloseAllSell() { for(int i=OrdersTotal()-1;i>=0;i--) { OrderSelect(i, SELECT_BY_POS); 부울 결과 = 거짓; if ( OrderType() == OP_SELL && OrderMagicNumber()==MagicNumber) result = OrderClose( OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_ASK), 5, Red ); if (UseAlerts) PlaySound("alert.wav"); } 반품; } //+---------------------------------------------- --------------------------+ //| 이익이 있는 모든 주문을 취소합니다 //+---------------------------------------- --------------------------------+ //+-------------- -------------------------------------------------- ------+ //| 모든 보류 주문 취소 //+------------------------------------------- --------------------------+ //+-----------+ //| 메인 | //+-----------+ int start() { int OrdersBUY, 티켓; int 주문판매; 이중 BuyLots, SellLots, BuyProfit, SellProfit; //+----------------------------------------------- -------------------+ // 최종 주문 가격 결정 | //------------------------------------------------ -------------------+ if(OrdersTotal()==0 && TradeType ==1 ) { ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3 ,Ask-TP*Point,Ask+leverage*TP*Point,"MLTrendETF",MagicNumber,0,Green); 거래 유형=2; if(티켓>0) { if(OrderSelect(티켓,SELECT_BY_TICKET,MODE_TRADES)) sendEmail(); } else Print("구매 주문 열기 오류: ",GetLastError()); 리턴(0); } if(OrdersTotal()==0 && TradeType ==2) { ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,Bid+TP*Point,Bid-TP*leverage*Point,"MLTrendETF", 매직넘버,0,그린); 거래 유형 = 1; if(티켓>0) { if(OrderSelect(티켓,SELECT_BY_TICKET,MODE_TRADES)) sendEmail(); } else Print("구매 주문 열기 오류: ",GetLastError()); 리턴(0); } } // 시작()

고드리치

mq4 파일을 첨부할 수 있습니까?

이렇게 하면 메타에디터에 붙여넣으면 사용할 수 없게 됩니다.

 

이것이 효과가 있었는지 확실하지 않지만...

파일:
pac.mq4  5 kb
 

안녕.

방금 내 촛대 위에 빨간색 또는 녹색 선을 그리는 PetD 표시기를 찾았습니다. 내가 궁금한 것은 대신 컬러 히스토그램 스트립을 만들 가능성이 있는지입니다.

그래서 나는 녹색 또는 빨간색 막대가 있는 별도의 창을 가질 수 있습니다.

감사해요

pet-d_full_option.mq4

파일:
 
NWFstudent:
안녕.

방금 내 촛대 위에 빨간색 또는 녹색 선을 그리는 PetD 표시기를 찾았습니다. 내가 궁금한 것은 대신 컬러 히스토그램 스트립을 만들 가능성이 있는지입니다.

그래서 나는 녹색 또는 빨간색 막대가 있는 별도의 창을 가질 수 있습니다.

감사해요

pet-d_full_option.mq4

NWF학생

여기 그 유형도 있습니다: pet-d_full_option___separate.mq4

 
makototokyo:
여보세요,

이 표시기는 잘 경고하지 않는 것 같습니다. mt4가 시작된 후 한 번만 경고가 울리고 첫 번째 경고 후에는 소리가 나지 않는 것 같습니다. 나는 또한 막대가 "클라이맥스"일 때만 소리가 나는 것을 깨달았습니다. 그러나 막대가 "상승"할 때 소리를 내고 싶습니다.

볼륨 표시기에 대해 이 코드를 수정할 수 있는 사람이 있습니까?

이 양초 표시기에 대해 동일한 작업을 수행할 시간이 있다면 감사합니다. 하지만 너무 많은 시간을 들이고 싶지는 않습니다.

미리 감사드립니다.

Makototokyo, 별도 창 버전에서 경고를 변경하여 "상승세 및 약세 상승" 경고를 사용했으며 이 버전에서 올바르게 작동해야 합니다.