누가 로봇을 도울 수 있습니까? 로봇이 작동하지 않는 이유는 무엇입니까? - 페이지 6 1234567 새 코멘트 [삭제] 2016.02.16 19:33 #51 최소한 어떤 오류가 표시됩니까? [삭제] 2016.02.16 19:36 #52 mt4 ecn, ndd, stp에 대한 내 기능은 다음과 같습니다. 1년에 한 번도 실수하지 않고 //+----------------------------------------------- ------------------------------+ //| 주문 개시 기능(BeerGod) | //+----------------------------------------------- ------------------------------+ //| 옵션: | //| sy - 기기 이름("" - 현재 기호) | //| 작전 | //| 많은 | //| sl - 정지 수준 | //| tp - 수준을 가져가라 | //| mn - 매직넘버 | //+----------------------------------------------- ------------------------------+ bool OpenPosition(문자열 sy, int op, 이중 ll, 이중 sl=0, 이중 tp=0, int MagicNumber=0) { 이중 MinL1 = MarketInfo(Symbol(),MODE_MINLOT); 이중 MaxL1 = MarketInfo(Symbol(),MODE_MAXLOT); ll = NormalizeDouble(ll,2); if (ll < MinL1) ll = MinL1; 그렇지 않으면 ll = ll; if (ll > MaxL1) ll = MaxL1; 그렇지 않으면 ll = ll; if (op == 0) // 매수 열기 { // 무료 자금의 가용성 확인 if((AccountFreeMarginCheck(sy,OP_BUY,ll)<=0) || (GetLastError()==134)) { Print(sy," ",ll," 매수 주문을 열 수 없습니다. 금액이 충분하지 않습니다 ."); 리턴(0); } 새로 고침(); // 주문 열기 int ticketbuy = OrderSend(sy,OP_BUY,ll,MarketInfo(sy,MODE_ASK),Slippage,0,0,Comments,MagicNumber,0,BuyColor); if(티켓구매<0) Print(sy," OpenPosition. OrderSend 구매 실패 #",GetLastError()); 또 다른 Print(sy, "OpenPosition. OrderSend 구매 성공"); // 절전(일시 중지); // 주문 수정(이익실현 및 손절매 설정) if (sl !=0 || tp !=0) { //--- SL 및 TP 가격의 계산 값을 정규화해야 합니다. 이중 BSLoss = NormalizeDouble(MarketInfo(sy,MODE_ASK)-sl*MarketInfo(sy,MODE_POINT),(int)MarketInfo(sy,MODE_DIGITS)); 이중 BTProfit = NormalizeDouble(MarketInfo(sy,MODE_ASK)+tp*MarketInfo(sy,MODE_POINT),(int)MarketInfo(sy,MODE_DIGITS)); //--- 입력 값이 0이면 수정 비용을 0으로 바꿉니다. if (sl == 0) BSLoss = 0; if (tp == 0) BTProfit = 0; bool resbuy = OrderModify (ticketbuy,OrderOpenPrice(),BSLoss,BTProfit,0,StopColor); if(!재구매) Print(sy," OpenPosition. OrderModify 구매 실패 #",GetLastError()); 또 다른 Print(sy, "OpenPosition. OrderModify 구매 성공"); } } if (op == 1) // 오픈 매도 { // 무료 자금의 가용성 확인 if((AccountFreeMarginCheck(sy,OP_SELL,ll)<=0) || (GetLastError()==134)) { Print(sy," ",ll," 매도 주문을 열 수 없습니다. 자금이 충분하지 않습니다."); 리턴(0); } 새로 고침(); // 주문 열기 int ticketsell = OrderSend(sy,OP_SELL,ll,MarketInfo(sy,MODE_BID),Slippage,0,0,Comments,MagicNumber,0,SellColor); if(티켓 판매<0) Print(sy," OpenPosition. OrderSend 판매 실패 #",GetLastError()); 또 다른 Print(sy, "OpenPosition. OrderSend Sell successful"); // 절전(일시 중지); // 주문 수정(이익실현 및 손절매 설정) if (sl !=0 || tp !=0) { //--- SL 및 TP 가격의 계산 값을 정규화해야 합니다. 이중 SSLoss = NormalizeDouble(MarketInfo(sy,MODE_BID)+sl*MarketInfo(sy,MODE_POINT),(int)MarketInfo(sy,MODE_DIGITS)); 이중 STProfit = NormalizeDouble(MarketInfo(sy,MODE_BID)-tp*MarketInfo(sy,MODE_POINT),(int)MarketInfo(sy,MODE_DIGITS)); //--- 입력 값이 0이면 수정 비용을 0으로 바꿉니다. if (sl == 0) SSLoss = 0; if (tp == 0) STProfit = 0; 부울 재판매 = OrderModify(티켓 판매,OrderOpenPrice(),SSLoss,STProfit,0,StopColor); if(! 재판매) Print(sy," OpenPosition. OrderModify 판매 실패 #",GetLastError()); 또 다른 Print(sy, "OpenPosition. OrderModify 판매 성공"); } } 반환(참); } //끝 Who can help with MQL4 및 MQL5에 대한 [경고, 주제 닫힘!] 포럼을 [삭제] 2016.02.16 19:38 #53 PS 중재자, 코드는 버튼을 통해 삽입되지 않습니다. Vladimir Karputov 2016.02.16 19:42 #54 Vladimir Zubov : PS 중재자, 코드는 버튼을 통해 삽입되지 않습니다. 코드를 삽입하여 Skype를 통해 무료(무료) 온라인 수업을 진행합니다 :) if (sl == 0 ) SSLoss = 0 ; [삭제] 2016.02.16 19:45 #55 Karputov Vladimir : 코드를 붙여넣어 Skype를 통해 무료(무료) 온라인 수업을 진행하고 있습니다 :) //+----------------------------------------------------------------------------+ //| Функция открытия ордера (BeerGod) | //+----------------------------------------------------------------------------+ //| Параметры: | //| sy - наименование инструмента ("" - текущий символ) | //| op - операция | //| ll - лот | //| sl - уровень стоп | //| tp - уровень тейк | //| mn - MagicNumber | //+----------------------------------------------------------------------------+ bool OpenPosition( string sy, int op, double ll, double sl= 0 , double tp= 0 , int MagicNumber= 0 ) { double MinLl = MarketInfo( Symbol (),MODE_MINLOT); double MaxLl = MarketInfo( Symbol (),MODE_MAXLOT); ll = NormalizeDouble (ll, 2 ); if (ll < MinLl) ll = MinLl; else ll = ll; if (ll > MaxLl) ll = MaxLl; else ll = ll; if (op == 0 ) // Открытие BUY { // Проверяем доступность свободных средств if ((AccountFreeMarginCheck(sy,OP_BUY,ll)<= 0 ) || ( GetLastError ()== 134 )) { Print (sy, " " ,ll, " It is impossible to open the order Buy, not enough money." ); return ( 0 ); } RefreshRates(); // Открываем ордер int ticketbuy = OrderSend (sy,OP_BUY,ll,MarketInfo(sy,MODE_ASK),Slippage, 0 , 0 ,Comments,MagicNumber, 0 ,BuyColor); if (ticketbuy< 0 ) Print (sy, " OpenPosition. OrderSend Buy fail #" , GetLastError ()); else Print (sy, " OpenPosition. OrderSend Buy successfully" ); // Sleep (Pause); // Модифицируем ордер (выставляем тейкпрофит и стоплосс) if (sl != 0 || tp != 0 ) { //--- Вычисленные значения цен SL и TP должны быть нормализованы double BSLoss = NormalizeDouble (MarketInfo(sy,MODE_ASK)-sl*MarketInfo(sy,MODE_POINT),( int )MarketInfo(sy,MODE_DIGITS)); double BTProfit = NormalizeDouble (MarketInfo(sy,MODE_ASK)+tp*MarketInfo(sy,MODE_POINT),( int )MarketInfo(sy,MODE_DIGITS)); //--- Если входящие значения ноль то заменяем цену модификации на ноль if (sl == 0 ) BSLoss = 0 ; if (tp == 0 ) BTProfit = 0 ; bool resbuy = OrderModify (ticketbuy,OrderOpenPrice(),BSLoss,BTProfit, 0 ,StopColor); if (!resbuy) Print (sy, " OpenPosition. OrderModify Buy fail #" , GetLastError ()); else Print (sy, " OpenPosition. OrderModify Buy successfully" ); } } if (op == 1 ) // Открытие Sell { // Проверяем доступность свободных средств if ((AccountFreeMarginCheck(sy,OP_SELL,ll)<= 0 ) || ( GetLastError ()== 134 )) { Print (sy, " " ,ll, " It is impossible to open the order Sell, not enough money." ); return ( 0 ); } RefreshRates(); // Открываем ордер int ticketsell = OrderSend (sy,OP_SELL,ll,MarketInfo(sy,MODE_BID),Slippage, 0 , 0 ,Comments,MagicNumber, 0 ,SellColor); if (ticketsell< 0 ) Print (sy, " OpenPosition. OrderSend Sell fail #" , GetLastError ()); else Print (sy, " OpenPosition. OrderSend Sell successfully" ); // Sleep (Pause); // Модифицируем ордер (выставляем тейкпрофит и стоплосс) if (sl != 0 || tp != 0 ) { //--- Вычисленные значения цен SL и TP должны быть нормализованы double SSLoss = NormalizeDouble (MarketInfo(sy,MODE_BID)+sl*MarketInfo(sy,MODE_POINT),( int )MarketInfo(sy,MODE_DIGITS)); double STProfit = NormalizeDouble (MarketInfo(sy,MODE_BID)-tp*MarketInfo(sy,MODE_POINT),( int )MarketInfo(sy,MODE_DIGITS)); //--- Если входящие значения ноль то заменяем цену модификации на ноль if (sl == 0 ) SSLoss = 0 ; if (tp == 0 ) STProfit = 0 ; bool ressell = OrderModify (ticketsell,OrderOpenPrice(),SSLoss,STProfit, 0 ,StopColor); if (!ressell) Print (sy, " OpenPosition. OrderModify Sell fail #" , GetLastError ()); else Print (sy, " OpenPosition. OrderModify Sell successfully" ); } } return (True); } //End [삭제] 2016.02.16 19:46 #56 Karputov Vladimir : 코드를 삽입하여 Skype를 통해 무료(무료) 온라인 수업을 진행합니다 :) 방금 코드를 삽입했다면 예, 더 많이 작성하면 코드가 사라집니다. [삭제] 2016.02.16 20:04 #57 PHP & MQL 계산시 어딘가 에러가 나는데 어셈블러가 필요하시면 제가 도와드리겠습니다. Sergey Gritsay 2016.02.17 06:54 #58 GIM : 덕분에! 준비가 되었습니다. 코드에 대해 질문이 있는 경우 개인 또는 스카이프에서 작성할 수도 있습니다. 파일: GIM.mq4 9 kb GIM 2016.02.17 12:38 #59 Sergey Gritsay : 준비가 되었습니다. 코드에 대해 질문이 있는 경우 개인 또는 스카이프에서 작성할 수도 있습니다. "가격 없음"이라는 메시지와 함께 경고가 나타납니다. 새로운 틱을 기다리는 중... Sergey Gritsay 2016.02.17 12:50 #60 GIM : "가격 없음"이라는 메시지와 함께 경고가 나타납니다. 새로운 틱을 기다리는 중... 가격이 없으면 거래를 열 수 없습니다. 내 데모 계정 에서 잘 작동했고 첫 번째 시도에서 거래가 열렸습니다. 자세한 정보 필요 1234567 새 코멘트 트레이딩 기회를 놓치고 있어요: 무료 트레이딩 앱 복사용 8,000 이상의 시그널 금융 시장 개척을 위한 경제 뉴스 등록 로그인 공백없는 라틴 문자 비밀번호가 이 이메일로 전송될 것입니다 오류 발생됨 Google으로 로그인 웹사이트 정책 및 이용약관에 동의합니다. 계정이 없으시면, 가입하십시오 MQL5.com 웹사이트에 로그인을 하기 위해 쿠키를 허용하십시오. 브라우저에서 필요한 설정을 활성화하시지 않으면, 로그인할 수 없습니다. 사용자명/비밀번호를 잊으셨습니까? Google으로 로그인
mt4 ecn, ndd, stp에 대한 내 기능은 다음과 같습니다.
1년에 한 번도 실수하지 않고
//+----------------------------------------------- ------------------------------+
//| 주문 개시 기능(BeerGod) |
//+----------------------------------------------- ------------------------------+
//| 옵션: |
//| sy - 기기 이름("" - 현재 기호) |
//| 작전 |
//| 많은 |
//| sl - 정지 수준 |
//| tp - 수준을 가져가라 |
//| mn - 매직넘버 |
//+----------------------------------------------- ------------------------------+
bool OpenPosition(문자열 sy, int op, 이중 ll, 이중 sl=0, 이중 tp=0, int MagicNumber=0)
{
이중 MinL1 = MarketInfo(Symbol(),MODE_MINLOT);
이중 MaxL1 = MarketInfo(Symbol(),MODE_MAXLOT);
ll = NormalizeDouble(ll,2);
if (ll < MinL1) ll = MinL1; 그렇지 않으면 ll = ll;
if (ll > MaxL1) ll = MaxL1; 그렇지 않으면 ll = ll;
if (op == 0) // 매수 열기
{
// 무료 자금의 가용성 확인
if((AccountFreeMarginCheck(sy,OP_BUY,ll)<=0) || (GetLastError()==134))
{
Print(sy," ",ll," 매수 주문을 열 수 없습니다. 금액이 충분하지 않습니다 .");
리턴(0);
}
새로 고침();
// 주문 열기
int ticketbuy = OrderSend(sy,OP_BUY,ll,MarketInfo(sy,MODE_ASK),Slippage,0,0,Comments,MagicNumber,0,BuyColor);
if(티켓구매<0)
Print(sy," OpenPosition. OrderSend 구매 실패 #",GetLastError());
또 다른
Print(sy, "OpenPosition. OrderSend 구매 성공");
// 절전(일시 중지);
// 주문 수정(이익실현 및 손절매 설정)
if (sl !=0 || tp !=0)
{
//--- SL 및 TP 가격의 계산 값을 정규화해야 합니다.
이중 BSLoss = NormalizeDouble(MarketInfo(sy,MODE_ASK)-sl*MarketInfo(sy,MODE_POINT),(int)MarketInfo(sy,MODE_DIGITS));
이중 BTProfit = NormalizeDouble(MarketInfo(sy,MODE_ASK)+tp*MarketInfo(sy,MODE_POINT),(int)MarketInfo(sy,MODE_DIGITS));
//--- 입력 값이 0이면 수정 비용을 0으로 바꿉니다.
if (sl == 0) BSLoss = 0;
if (tp == 0) BTProfit = 0;
bool resbuy = OrderModify (ticketbuy,OrderOpenPrice(),BSLoss,BTProfit,0,StopColor);
if(!재구매)
Print(sy," OpenPosition. OrderModify 구매 실패 #",GetLastError());
또 다른
Print(sy, "OpenPosition. OrderModify 구매 성공");
}
}
if (op == 1) // 오픈 매도
{
// 무료 자금의 가용성 확인
if((AccountFreeMarginCheck(sy,OP_SELL,ll)<=0) || (GetLastError()==134))
{
Print(sy," ",ll," 매도 주문을 열 수 없습니다. 자금이 충분하지 않습니다.");
리턴(0);
}
새로 고침();
// 주문 열기
int ticketsell = OrderSend(sy,OP_SELL,ll,MarketInfo(sy,MODE_BID),Slippage,0,0,Comments,MagicNumber,0,SellColor);
if(티켓 판매<0)
Print(sy," OpenPosition. OrderSend 판매 실패 #",GetLastError());
또 다른
Print(sy, "OpenPosition. OrderSend Sell successful");
// 절전(일시 중지);
// 주문 수정(이익실현 및 손절매 설정)
if (sl !=0 || tp !=0)
{
//--- SL 및 TP 가격의 계산 값을 정규화해야 합니다.
이중 SSLoss = NormalizeDouble(MarketInfo(sy,MODE_BID)+sl*MarketInfo(sy,MODE_POINT),(int)MarketInfo(sy,MODE_DIGITS));
이중 STProfit = NormalizeDouble(MarketInfo(sy,MODE_BID)-tp*MarketInfo(sy,MODE_POINT),(int)MarketInfo(sy,MODE_DIGITS));
//--- 입력 값이 0이면 수정 비용을 0으로 바꿉니다.
if (sl == 0) SSLoss = 0;
if (tp == 0) STProfit = 0;
부울 재판매 = OrderModify(티켓 판매,OrderOpenPrice(),SSLoss,STProfit,0,StopColor);
if(! 재판매)
Print(sy," OpenPosition. OrderModify 판매 실패 #",GetLastError());
또 다른
Print(sy, "OpenPosition. OrderModify 판매 성공");
}
}
반환(참);
}
//끝
PS 중재자, 코드는 버튼을 통해 삽입되지 않습니다.
코드를 삽입하여 Skype를 통해 무료(무료) 온라인 수업을 진행합니다 :)
코드를 붙여넣어 Skype를 통해 무료(무료) 온라인 수업을 진행하고 있습니다 :)
코드를 삽입하여 Skype를 통해 무료(무료) 온라인 수업을 진행합니다 :)
덕분에!
준비가 되었습니다. 코드에 대해 질문이 있는 경우 개인 또는 스카이프에서 작성할 수도 있습니다.
준비가 되었습니다. 코드에 대해 질문이 있는 경우 개인 또는 스카이프에서 작성할 수도 있습니다.
"가격 없음"이라는 메시지와 함께 경고가 나타납니다. 새로운 틱을 기다리는 중...
가격이 없으면 거래를 열 수 없습니다. 내 데모 계정 에서 잘 작동했고 첫 번째 시도에서 거래가 열렸습니다. 자세한 정보 필요