초보자의 질문 MQL4 MT4 MetaTrader 4 - 페이지 256

 
atztek # :
i3 프로세서가 탑재된 구형 노트북에는 WinXP 32비트가 여전히 설치되어 있었는데, 이는 MT5에서 지원하지 않습니다. 최근에 메모리를 6GB로 늘렸습니다. MT4와 MT5가 작동하는 64비트 OS를 설치하고 싶습니다. 어느 것이 바람직합니까 - Win7 또는 Win8.1

나는 7에 가깝다. 사무실과 8ka 및 10ka 및 7ka. 7ke의 터미널이 더 안정적입니다. 알 수 없는 이유로 7k 테스터는 약한 컴퓨터에서 더 빠릅니다. 8ka는 일반적으로 과도기적이며 어떻게 든 그다지 좋지 않습니다. 더 많은 자원을 먹습니다. 10ka 자체에는 더 많은 리소스가 필요합니다.

 
atztek # :
i3 프로세서가 탑재 된 구형 노트북 에는 WinXP 32비트가 여전히 설치되어 있었는데, 이는 MT5에서 지원하지 않습니다. 최근에 메모리를 6GB로 늘렸습니다. MT4와 MT5가 작동하는 64비트 OS를 설치하고 싶습니다. Win7 또는 Win8.1 중 어느 것이 더 바람직합니까?

랩톱 제조업체의 웹 사이트로 이동하여 공식 드라이버가 있는 최대 OS를 확인합니다. 해당 OS가 선호됩니다. Win 8.1용 드라이버가 있는 경우 Win 10을 사용해 볼 수 있습니다. 드라이버가 Win 7로 끝나는 경우 OS 선택의 폭이 좁습니다.

 

좋은 오후, 도와주세요.

이 EA에 이익실현을 추가하고 EA를 시작할 때 변경할 매개변수를 표시해야 합니다.

'OrderClose'의 두 가지 경고 반환 값을 확인해야 합니다. 또한 수정하십시오


extern 이중 랏 = 0.1;

외부 이중 최대 위험 = 0.3;

외부 이중 DecreaseFactor = 100;

더블 st1,st2;

//+----------------------------------------------- --------------------+

//| 오픈 포지션 계산 |

//+----------------------------------------------- --------------------+

int CalculateCurrentOrders(문자열 기호)

{

구매 = 0, 판매 = 0;

//----

for(int i=0;i<OrdersTotal();i++)

{

if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) 중단;

if(OrderSymbol()==Symbol())

{

if(OrderType()==OP_BUY) 구매++;

if(OrderType()==OP_SELL) 판매++;

}

}

//---- 반품 주문량

if(매수>0) 반환(매수);

그렇지 않으면 반환(-판매);

}

//+----------------------------------------------- --------------------+

//| 최적 로트 크기 계산 |

//+----------------------------------------------- --------------------+

이중 LotOptimized()

{

이중 로트 = 로트;

int 주문 = HistoryTotal(); // 히스토리 주문 합계

정수 손실 = 0; // 중단 없는 손실 주문 수

//---- 로트 크기 선택

lot=NormalizeDouble(AccountFreeMargin()*MaximumRisk/1000.0,3);

//---- 중단 없이 손실 주문 수를 계산합니다.

if(감소인자>0)

{

for(int i=orders-1;i>=0;i--)

{

if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)==false) { Print("기록에 오류가 있습니다!"); 부서지다; }

if(OrderSymbol()!=Symbol() || OrderType()>OP_SELL) 계속;

//----

if(OrderProfit()>0) 휴식;

if(OrderProfit()<0) 손실++;

}

if(losses>1) lot=NormalizeDouble(lot-lot*losses/DecreaseFactor,1);

}

//---- 반환 로트 크기

if(lot<0.1) lot=0.1;

반환(로트);

}

//+----------------------------------------------- --------------------+

//| 미결 주문 조건 확인 |

//+----------------------------------------------- --------------------+

무효 CheckForOpen()

{

인트르;

if(볼륨[0]>1) 반환;


//---- 구입 -----------------------

if ( (iStochastic(NULL,0,15,26,10,MODE_SMA,0,MODE_MAIN,0)>iStochastic(NULL,0,15,26,10,MODE_SMA,0,MODE_SIGNAL,0)))

if ((열기[0]<열기[1])&&(닫기[0]<닫기[1]))

//

{

res=OrderSend(Symbol(),OP_BUY,LotsOptimized(),Ask,3,15,0,"",0,0,Blue);

반품;

}

//---- 팔다 -----------------------

if ((iStochastic(NULL,0,15,26,10,MODE_SMA,0,MODE_MAIN,0)<iStochastic(NULL,0,15,26,10,MODE_SMA,0,MODE_SIGNAL,0)))

if((열기[0]>열기[1])&&(닫기[0]>닫기[1]))

{

res=OrderSend(Symbol(),OP_SELL,LotsOptimized(),Bid,3,15,0,"",0,0,Red);

반품;

}

}

//------------ 클로징 포지션 ---------------------------------- ------

무효 CheckForClose2()

{

if(OrderType()==OP_BUY) OrderClose(OrderTicket(),OrderLots(),Bid,3,White);

if(OrderType()==OP_SELL) OrderClose(OrderTicket(),OrderLots(),Ask,3,Blue);

//CheckForOpen();

}


//

//+----------------------------------------------- --------------------+

//| 마감 주문 조건 확인 |

//+----------------------------------------------- --------------------+

무효 CheckForClose1()

{

if(볼륨[0]>1) 반환;

// 손실 확인

if ((AccountProfit()<0)&&(MathAbs(AccountProfit())>=(AccountMargin()*MaximumRisk)))

{

CheckForClose2();

Print("손실", AccountProfit());

}/**/

//---- 주문 유형 확인

if(주문유형()==OP_BUY)

{

if ((iStochastic(NULL,0,15,26,10,MODE_SMA,0,MODE_MAIN,0)<iStochastic(NULL,0,15,26,10,MODE_SMA,0,MODE_SIGNAL,0)))

if ((열기[0]>열기[1])&&(닫기[0]>닫기[1]))

CheckForClose2();

}

if(주문 유형()==OP_SELL)

{

if ((iStochastic(NULL,0,15,26,10,MODE_SMA,0,MODE_MAIN,0)>iStochastic(NULL,0,15,26,10,MODE_SMA,0,MODE_SIGNAL,0)))

if ((열기[0]<열기[1])&&(닫기[0]<닫기[1]))

CheckForClose2();

}


}

//+----------------------------------------------- --------------------+

//| 시작 기능 |

//+----------------------------------------------- --------------------+


무효 시작()

{


//---- 현재 기호로 미결 주문 계산

if(CalculateCurrentOrders(Symbol())==0) CheckForOpen();

그렇지 않으면 CheckForClose1();

//---

}

//+----------------------------------------------- +

MetaQuotes — разработчик торговых платформ для брокеров, банков, бирж и хедж-фондов
MetaQuotes — разработчик торговых платформ для брокеров, банков, бирж и хедж-фондов
  • www.metaquotes.net
Торговая платформа MetaTrader 5 - это бесплатный инструмент трейдера, позволяющий торговать на форексе и фондовых биржах
 
bob88 # :



 extern double Lots               = 0.1 ;

extern double MaximumRisk        = 0.3 ;

extern double DecreaseFactor     = 100 ;

extern int stopLoss = 15 ;
extern int takeProfit = 30 ;


//+------------------------------------------------------------------+

//| Check for open order conditions                                  |

//+------------------------------------------------------------------+

void CheckForOpen()

  {

   int res;
   double openPrice, sl, tp;

 if (Volume[ 0 ]> 1 ) return ;



//---- покупаем -----------------------

  

   if ( ( iStochastic ( NULL , 0 , 15 , 26 , 10 , MODE_SMA , 0 ,MODE_MAIN, 0 )> iStochastic ( NULL , 0 , 15 , 26 , 10 , MODE_SMA , 0 ,MODE_SIGNAL, 0 ))) 

     if   ((Open[ 0 ]<Open[ 1 ])&&(Close[ 0 ]<Close[ 1 ])) 

    

   //  

     {
      openPrice = NormalizeDouble (Ask, Digits );
      sl = NormalizeDouble (openPrice - stopLoss * Point , Digits );
      tp = NormalizeDouble (openPrice + takeProfit * Point , Digits );
      res= OrderSend ( Symbol (),OP_BUY,LotsOptimized(),openPrice, 3 ,sl,tp, "" , 0 , 0 ,Blue);

       return ;

     }

//---- продаем ------------------------

if (( iStochastic ( NULL , 0 , 15 , 26 , 10 , MODE_SMA , 0 ,MODE_MAIN, 0 )< iStochastic ( NULL , 0 , 15 , 26 , 10 , MODE_SMA , 0 ,MODE_SIGNAL, 0 )))  

     if ((Open[ 0 ]>Open[ 1 ])&&(Close[ 0 ]>Close[ 1 ]))

     {
      openPrice = NormalizeDouble (Bid, Digits );
      sl = NormalizeDouble (openPrice + stopLoss * Point , Digits );
      tp = NormalizeDouble (openPrice - takeProfit * Point , Digits );
      res= OrderSend ( Symbol (),OP_SELL,LotsOptimized(),openPrice, 3 ,sl,tp, "" , 0 , 0 ,Red);

       return ;

     }

     

  }

SL 및 TP 계산을 추가했지만 수표를 추가해도 문제가 되지 않습니다. 이 작업을 수행하는 방법은 https://www.mql5.com/ru/articles/2555#invalid_SL_TP_for_position 문서에서 읽을 수 있습니다.

귀하의 경고는 중요하지 않습니다. OrderClose의 결과가 무시되므로 경고입니다. 예를 들어 CheckForClose2 함수가 OrderClose 실행 결과를 반환하도록 할 수 있습니다. 또는 그대로 둘 수 있습니다.

내가 알아차린 또 다른 것은 CheckForClose2, CheckForOpen 등 의 기능의 이상한 이름입니다. " Check"라는 단어는 확인하는 것을 의미합니다. 그리고 그들은 당신을 위해 거래 작업을 수행합니다.

Какие проверки должен пройти торговый робот перед публикацией в Маркете
Какие проверки должен пройти торговый робот перед публикацией в Маркете
  • www.mql5.com
Все продукты Маркета перед публикацией проходят обязательную предварительную проверку для обеспечения единого стандарта качества. В этой статье мы расскажем о наиболее частых ошибках, которые допускают разработчики в своих технических индикаторах и торговых роботах. А также покажем как самостоятельно проверить свой продукт перед отправкой в Маркет.
 
모두들 안녕. 누군가가 고문 편집을 도울 수 있습니까? EA가 자체적으로 주문을 열지 않고 수동으로 열린 주문에서만 작동하도록 주문을 여는 기능을 제거해야 합니다. 미리 감사드립니다.
파일:
 
Иван Макаров # :
모두들 안녕. 누군가가 고문 편집을 도울 수 있습니까? EA가 자체적으로 주문을 열지 않고 수동으로 열린 주문에서만 작동하도록 주문을 여는 기능을 제거해야 합니다. 미리 감사드립니다.

우리는 주문을 여는 기능을 제거하고 마법을 0으로 설정합니다. 로봇은 수동으로 열린 주문을 픽업하여 동반합니다. 로봇이 개별 주문만 수행해야 하고 모든 주문은 연속으로 수행되지 않아야 하는 경우 로봇이 각각에 대해 OnChartEvent에서 CHARTEVENT_OBJECT_CLICK 이벤트를 생성 및 처리해야 하는 해당 버튼을 눌러 구매 및 판매를 입력합니다. . 이 경우 마법은 자신의 명령으로만 작동하려면 0보다 커야 합니다.

 
인사말. 누군가 mt4 어드바이저 에 시간 거래 기능을 추가하는 방법을 알려줄 수 있습니까? 고문이 일하기 위해 00.00에서 23.00까지라고 가정하고 나머지 시간은 아무 것도하지 않았습니다. 누군가는 코드 조각과 그것을 구현하는 방법을 가지고 있을 수 있습니다. 고맙습니다.
 
Иван Макаров 에 시간 거래 기능을 추가하는 방법을 알려줄 수 있습니까? 고문이 일하기 위해 00.00에서 23.00까지라고 가정하고 나머지 시간은 아무 것도하지 않았습니다. 누군가는 코드 조각과 그것을 구현하는 방법을 가지고 있을 수 있습니다. 고맙습니다.

https://www.mql5.com/ru/forum/131859/page9#434297

isTradeTimeString()

isTradeTimeInt()

Только "Полезные функции от KimIV".
Только "Полезные функции от KimIV".
  • 2011.02.18
  • www.mql5.com
Все функции взяты из этой ветки - http://forum.mql4...
 

안녕하세요.

그런 결함이 ... 테스트 중입니다! 3대의 컴퓨터에 대한 전문가. 2에서는 코드에 따라 명확하게 작동하지만, 1에서는 항상 계산과 함께 약간의 잼이 있습니다. 기본적으로 중지 손실 또는 거짓 긍정을 잘못 계산합니다.

철은 새로운 것이 아니지만 오래된 것도 아닙니다.

누구든지 이것을 경험 했습니까?

 
Zalevsky1234 중지 손실 또는 거짓 긍정을 잘못 계산합니다.

철은 새로운 것이 아니지만 오래된 것도 아닙니다.

누구든지 이것을 경험 했습니까?

3개 모두 동일한 브로커/딜러 서버에 연결되어 있습니까? (즉, 스토리가 똑같다?) 그렇지 않다면 가장 먼저 할 일은 이 방향으로 파고드는 것이다.