초보자의 질문 MQL5 MT5 MetaTrader 5 - 페이지 493

 
INGFX :

블라디미르, 인내와 도움에 감사드립니다!
정말 코드에서 실수를 했네요...
앞으로 더 조심하겠습니다.

만세! 이제 안심하고 잠을 잘 수 있습니다.
 

안녕하세요.

문제를 해결하는 방법을 알려주세요. SendFTP() 함수 를 사용하여 파일을 보내려고 할 때 오류 4014 - 호출할 수 없는 시스템 함수가 발생합니다.

FTP 설정을 사용하면 모든 것이 정상입니다. 보고서와 테스트 파일이 전송됩니다.

미리 감사드립니다.

 
Nikita Solodko :

안녕하세요.

문제를 해결하는 방법을 알려주세요. SendFTP() 함수 를 사용하여 파일을 보내려고 할 때 오류 4014 - 시스템 함수를 호출할 수 없습니다.

FTP 설정을 사용하면 모든 것이 정상입니다. 보고서와 테스트 파일이 전송됩니다.

미리 감사드립니다.

혹시 표시기에서 보내려고 하십니까?
 
Karputov Vladimir :
혹시 표시기에서 보내려고 하십니까?
우연히, 예 ... 왜 안되지?
 
Nikita Solodko :
우연히, 예 ... 왜 안되지?
ftp를 통한 네트워크 지연의 경우 표시기가 전체 터미널을 느리게 할 수 있기 때문에 불가능합니다. 그러나 고문에게서 - 제발.
 
Karputov Vladimir :
ftp를 통한 네트워크 지연의 경우 표시기가 전체 터미널을 느리게 할 수 있기 때문에 불가능합니다. 그러나 고문에게서 - 제발.
고맙습니다.
 

안녕 모두. 처음으로 Expert Advisor를 쓰고 있는데 도저히 극복할 수 없는 문제에 봉착했습니다.

 void OnTick ()
{
 datetime EaStartTime = StringToTime (StartTime);   // время начала работы советника
 datetime EaEndTime = StringToTime (EndTime);       // время окончания работы советника
 datetime CurrTime = TimeCurrent ();               // это если нужно взять время терминала
 if (CurrTime < EaStartTime || CurrTime >= EaEndTime)
   return ;                                         // если еще не время торговать - выход
{
 PriceLow= iEnvelopes ( NULL , 0 ,MA_Period,MA_Shift,MA_Method,Applied_Price,Deviation, 0 , 1 );
 PriceHigh = iEnvelopes ( NULL , 0 ,MA_Period,MA_Shift,MA_Method,Applied_Price,Deviation, 1 , 1 );
 MacdCurrent= iMACD ( NULL , 0 ,InpFastEMA,InpSlowEMA,InpSignalSMA, PRICE_CLOSE ,MODE_MAIN, 0 );
 SignalCurrent= iMACD ( NULL , 0 ,InpFastEMA,InpSlowEMA,InpSignalSMA, PRICE_CLOSE ,MODE_SIGNAL, 0 );
 SignalMAPrevious= iMA ( NULL , 0 ,InpMAPeriod,InpMAShift,InpMAMethod, PRICE_MEDIAN , 1 );
 SignalMAThis= iMA ( NULL , 0 ,InpMAPeriod,InpMAShift,InpMAMethod, PRICE_MEDIAN , 0 );
 PriceCurrentOpen=iOpen( NULL , 0 , 1 );
 PriceCurrentClose=iClose( NULL , 0 , 1 );
   if (CountTrades()== 0 ) CheckForOpen();
   else
  {
   if (CountTrades()<max_trades) CheckForOpen();
  }
 }
}  
void CheckForOpen()
{
//-----Ставим ордер на покупку.
 if (PriceCurrentOpen<PriceLow&&PriceCurrentOpen<PriceCurrentClose&&SignalCurrent<MacdCurrent&&SignalMAPrevious<SignalMAThis)
 {
  ticket= OrderSend ( NULL ,OP_BUY,Lots,Ask,slippage, 0 , 0 , "5" ,magic, 0 ,Blue);
   if (ticket> 0 )
     return ; 
 }
//-----Ставим ордер на продажу.
 if (PriceCurrentOpen>PriceLow&&PriceCurrentOpen>PriceCurrentClose&&SignalCurrent>MacdCurrent&&SignalMAPrevious>SignalMAThis)
 {
  ticket= OrderSend ( NULL ,OP_SELL,Lots,Bid,slippage, 0 , 0 , "5" ,magic, 0 ,Red);
   if (ticket> 0 )
     return ; 
 }
}

이전 막대가 Envelopes 채널 외부에서 열리면 매수-매도 신호를 주고 채널보다 높으면 매도, 낮으면 매도 신호를 보내야 합니다. 조건이 충족되면 매도 신호, 매수 신호가 발생합니다. 이 문제를 해결하는 방법은 무엇입니까?

그리고 매초 한 번에 허용되는 모든 주문 수가 아닌 막대당 하나의 주문을 구매하게 하는 방법은 무엇입니까?

 
Nickolay72 :

안녕 모두. 처음으로 Expert Advisor를 쓰고 있는데 도저히 극복할 수 없는 문제에 봉착했습니다.

이전 막대가 Envelopes 채널 외부에서 열리면 매수-매도 신호를 주고 채널보다 높으면 매도, 낮으면 매도 신호를 보내야 합니다. 조건이 충족되면 매도 신호, 매수 신호가 발생합니다. 이 문제를 해결하는 방법은 무엇입니까?

그리고 매초 한 번에 허용되는 모든 주문 수가 아닌 막대당 하나의 주문을 구매하게 하는 방법은 무엇입니까?

안녕하세요. 주문을 보내기 전에 이미 열려 있는 포지션이 있는지 확인하고, 있다면 오픈 주문을 보내지 말고 그렇지 않으면 보내십시오. 내가 당신의 코드를 이해하는 한, CountTrades() 함수가 당신을 위해 이것을 해주지만 당신은 코드를 보여주지 않습니다. 따라서 이 함수가 반환하는 값을 확인하십시오.
 
주문건수는 원칙적으로 부차적인 목표인데 어제까지는 주문을 한번에 하나씩 열었는데 주문이 있는동안 다음주문이 안열렸네요 그리고 어떻게 하면 어드바이저가 주문에 따라 강제로 오픈 오더를 열게 하는건가요? , 이전 막대가 채널 위(아래) 열렸을 때 조건에 따라 열리지 않는 채널?
파일:
Zmey.mq4  5 kb
 
Nickolay72 :
주문건수는 원칙적으로 부차적인 목표입니다. 어제까지는 주문을 하나씩 열어서 주문이 있는 동안 다음 주문은 열지 않았습니다. 그리고 이전 막대가 채널 위(아래)에서 열렸을 때 어드바이저가 주문에 따라 주문을 열도록 강제하는 방법은 무엇입니까? 이제 대부분의 주문은 조건에 따라 열리지 않기 때문에 수익성이 없습니다.
바 번호 1의 열림이 채널 위/아래에 있는 경우.
사유: