ma_shiftT = 0이고 ma_shiftD=0인 경우 첫 번째 막대에서 위치가 올바르게 열리고, ma_shiftT = -1이고 ma_shiftD=1이면 세 번째 또는 네 번째 막대에서 위치가 열립니다.
첫 번째 막대에서 교차할 때 위치를 열려면 어떻게 해야 합니까?
inputint ma_shiftT=- 1 ; inputint ma_shiftD= 1 ; int iTEMAHandle; // хэндл индикатора iTEMA int iDEMAHandle; // хэндл индикатора double ma1Val[]; // динамические массивы для хранения численных значений для каждого бара double maVal[]; //
시간과 상징이 아니라 시간입니다. 단일 기호에 대해 주어진 시간에 둘 이상의 틱이 있을 수 없습니다.
아마도. 그리고 어떻게 할 수 있습니다. 거래 피드를 열고 직접 확인하십시오.
신호 작업에 관심이 있는 사람
우선, 우리가 같은 것에 대해 이야기하고 있는지 확인하기 위해 외환에서 진드기는 무엇을 의미합니까?
나는 여기에서 우리가 FORTS에 대해 이야기하고 있다고 생각했습니다. 그 이유는 다음과 같습니다.
예, "교환" 실행과 함께 MQL5를 사용하는 데 관심이 있습니다.
물론 내가 틀릴 수도 있지만...
같은 사람이 이전에 다음과 같이 썼습니다.
안녕하세요!
하나의 Expert Advisor에서 Market Watch에서 열린 모든 상품에 대한 거래를 MT5에서 수신할 수 있습니까? 관심 있는 것은 거래(틱)이며 오더 북의 변경 사항이 아닙니다.
고맙습니다.
나는 여기에서 우리가 FORTS에 대해 이야기하고 있다고 생각했습니다. 그 이유는 다음과 같습니다.
물론 내가 틀릴 수도 있지만...
그리고 즉. 같은 사람이 이전에 다음과 같이 썼습니다.
그것은 아마도 여전히 FORTS에 관한 것입니다. 그리고 이 경우 거래로 이어진 틱에 대해 이야기하고 있습니다.터미널에서 무엇을 의미하는지 알려주실 수 있습니까?
EURUSD 마이크로에 매핑된 기호 EURUSD
마이크로 계정으로 처음
안녕하세요 계좌에 금액이 표시되지 않는 경우 출금하는 방법을 알려주세요.
왜 아무것도 그려지지 않습니까?
//| Test.mq5 | |
//+------------------------------------------------------------------+
#include <Canvas\Canvas.mqh>
//+------------------------------------------------------------------+
CCanvas eee; // the canvas object
//+------------------------------------------------------------------+
//| Script program start function |
//+------------------------------------------------------------------+
void OnStart ()
{
//---
uint clr= 4294967295 ;
eee.Create( "name" , 1000 , 1000 , COLOR_FORMAT_ARGB_RAW );
eee.Erase(clr);
eee.Update( true );
Sleep ( 10000 );
//---
eee.Destroy();
}
//+------------------------------------------------------------------+
안녕하세요.
도와주세요.
표시선 이 첫 번째 막대에서 교차할 때 신호를 보냅니다.
ma_shiftT = 0이고 ma_shiftD=0인 경우 첫 번째 막대에서 위치가 올바르게 열리고, ma_shiftT = -1이고 ma_shiftD=1이면 세 번째 또는 네 번째 막대에서 위치가 열립니다.
첫 번째 막대에서 교차할 때 위치를 열려면 어떻게 해야 합니까?
input int ma_shiftD= 1 ;
int iTEMAHandle; // хэндл индикатора iTEMA
int iDEMAHandle; // хэндл индикатора
double ma1Val[]; // динамические массивы для хранения численных значений для каждого бара
double maVal[]; //
//+------------------------------------------------------------------+
int OnInit ()
{
//---
m_symbol.Name( Symbol ());
//--- Получить хэндл индикатора iTEMA
iTEMAHandle= iTEMA ( _Symbol , PERIOD_CURRENT , 30 ,ma_shiftT, PRICE_CLOSE );;
//---Получить хэндл индикатора
iDEMAHandle= iDEMA ( _Symbol , PERIOD_CURRENT , 30 ,ma_shiftD, PRICE_CLOSE );;
return ( INIT_SUCCEEDED );
}
//+------------------------------------------------------------------+
void OnDeinit ( const int reason)
{
//--- освобождаем хэндлы индикаторов
IndicatorRelease (iTEMAHandle);
IndicatorRelease (iDEMAHandle);
}
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick ()
{
//---
//--- массив значений индикатора
ArraySetAsSeries (ma1Val, true );
//--- массив значений индикатора
ArraySetAsSeries (maVal, true );
if ( CopyRates ( _Symbol , _Period , 0 , 5 ,mrate)< 0 )
{
Alert ( "Ошибка копирования исторических данных - ошибка:" , GetLastError (), "!!" );
return ;
}
//====
if ( CopyBuffer (iTEMAHandle, 0 , 0 , 5 ,ma1Val)< 0 )
{
Alert ( "Ошибка копирования буферов индикатора TEMA - номер ошибки:" , GetLastError (), "!!" );
return ;
}
if ( CopyBuffer (iDEMAHandle, 0 , 0 , 5 ,maVal)< 0 )
{
Alert ( "Ошибка копирования буферов индикатора DEMA - номер ошибки:" , GetLastError ());
return ;
}
bool Sell_Condition_3=(maVal[ 2 ]<=ma1Val[ 2 ]);
bool Sell_Condition_4=(maVal[ 1 ]>ma1Val[ 1 ]);
if (Sell_Condition_3 && Sell_Condition_4)
{
// открываю позицию SELL
}
}