좋지는 않지만 해를 끼칩니다 ... 현실에 대한 이해가 사라질 것입니다 .. OOP를 배우십시오.
이것으로, 나는 이 문제가 닫힌 것으로 간주합니다.
동지 - 당신은 나에게 OOP를 가르칠 필요가 없습니다. 나는 OOP뿐만 아니라 당신이 좋아하는 사람을 가르칠 것입니다. 그리고 비교를 요청한 코드 - 표준 라이브러리를 사용하여 거래를 시작하기 위해 작성해야 하는 항목과 표준 라이브러리 없이 작성해야 하는 항목. 그리고 결국 이해하기 쉬운 것은 무엇입니까? 상당히 건설적인 제안인 것 같습니다.
동지 - 당신은 나에게 OOP를 가르칠 필요가 없습니다. 나는 OOP뿐만 아니라 당신이 좋아하는 사람을 가르 칠 것입니다. 그리고 표준 라이브러리를 사용하여 거래를 시작하기 위해 작성해야 하는 항목과 표준 라이브러리 없이 작성해야 하는 항목을 비교하도록 요청한 코드입니다. 그리고 결국 이해하기 쉬운 것은 무엇입니까? 상당히 건설적인 제안인 것 같습니다.
글쎄 방법이 없다
그래서 다 썼습니다..
Include 디렉토리의 파일:
class МойСигнальщик : public CExpertSignal //наследуемся от Signal
{
private :
CiCustom МойИндикатор;
public :
МойОбработчик();
~МойОбработчик();
bool ValidationSettings( void );
bool InitIndicators(CIndicators *indicators);
virtualint LongCondition();
virtualint ShortCondition();
protected :
bool МойИндикатор(CIndicators *indicators);
int МойСигнальщик::LongCondition()
{
int signal=0;
if (!signalLong0==0)
{
signal=100;
}
return(signal);
}
EA 자체에서:
#include <МойСигнальщик.mqh>inputdouble Signal_StopLevel = 150.0 ; // Stop Loss level (in points)inputdouble Signal_TakeLevel = 120.0 ; // Take Profit level (in points)inputdouble Signal_PriceLevel = 10.0 ; // Price level to execute a dealinputdouble Money_FixLot = 1.0 ;
CExpert ExtExpert;
//+------------------------------------------------------------------+//| Initialization function of the expert |//+------------------------------------------------------------------+intOnInit ()
{
//--- Initializing expertif (!ExtExpert.Init( Symbol (), Period (),Expert_EveryTick,Expert_MagicNumber))
{
//--- failedprintf ( __FUNCTION__ + ": error initializing expert" );
ExtExpert.Deinit();
return (- 1 );
}
//--- Creating signal
CExpertSignal *signal= new CExpertSignal;
if (signal== NULL )
{
//--- failedprintf ( __FUNCTION__ + ": error creating signal" );
ExtExpert.Deinit();
return (- 2 );
}
//---
ExtExpert.InitSignal(signal);
signal.ThresholdOpen(Signal_ThresholdOpen);
signal.ThresholdClose(Signal_ThresholdClose);
signal.PriceLevel(Signal_PriceLevel);
signal.StopLevel(Signal_StopLevel);
signal.TakeLevel(Signal_TakeLevel);
signal.Expiration(Signal_Expiration);
//--- Creating filter IRTMiniMax
МойИндикатор *filter0= new МойИндикатор;
if (filter0== NULL )
{
//--- failedprintf ( __FUNCTION__ + ": error creating filter0" );
ExtExpert.Deinit();
return (- 3 );
}
signal.AddFilter(filter0);
//--- Set filter parameters
filter0.Weight(Signal_MovingMM_Weight);
//--- Creation of trailing object
CTrailingNone *trailing= new CTrailingNone;
if (trailing== NULL )
{
//--- failedprintf ( __FUNCTION__ + ": error creating trailing" );
ExtExpert.Deinit();
return (- 4 );
}
//--- Add trailing to expert (will be deleted automatically))if (!ExtExpert.InitTrailing(trailing))
{
//--- failedprintf ( __FUNCTION__ + ": error initializing trailing" );
ExtExpert.Deinit();
return (- 5 );
}
//--- Set trailing parameters//--- Creation of money object
CMoneyFixedLot *money= new CMoneyFixedLot;
if (money== NULL )
{
//--- failedprintf ( __FUNCTION__ + ": error creating money" );
ExtExpert.Deinit();
return (- 6 );
}
//--- Add money to expert (will be deleted automatically))if (!ExtExpert.InitMoney(money))
{
//--- failedprintf ( __FUNCTION__ + ": error initializing money" );
ExtExpert.Deinit();
return (- 7 );
}
//--- Set money parameters
money.Lot(Money_FixLot);
//--- Check all trading objects parametersif (!ExtExpert.ValidationSettings())
{
//--- failed
ExtExpert.Deinit();
return (- 8 );
}
//--- Tuning of all necessary indicatorsif (!ExtExpert.InitIndicators())
{
//--- failedprintf ( __FUNCTION__ + ": error initializing indicators" );
ExtExpert.Deinit();
return (- 9 );
}
//--- okreturn ( 0 );
}
//+------------------------------------------------------------------+//| Deinitialization function of the expert |//+------------------------------------------------------------------+voidOnDeinit ( constint reason)
{
ExtExpert.Deinit();
}
//+------------------------------------------------------------------+//| "Tick" event handler function |//+------------------------------------------------------------------+voidOnTick ()
{
ExtExpert. OnTick ();
}
//+------------------------------------------------------------------+//| "Trade" event handler function |//+------------------------------------------------------------------+voidOnTrade ()
{
ExtExpert. OnTrade ();
}
//+------------------------------------------------------------------+//| "Timer" event handler function |//+------------------------------------------------------------------+voidOnTimer ()
{
ExtExpert. OnTimer ();
}
//+------------------------------------------------------------------+
우정은 우정이지만 담배는 따로 있습니다 ... 전체 코드는 다음과 같습니다.
참고 :
표준 라이브러리로 전체 코드 제공(표준 라이브러리 의 전문가가 아니기 때문에 직접 할 수 없음) ...
--
좋지는 않지만 해를 끼칩니다 ... 현실에 대한 이해가 사라질 것입니다 .. OOP를 배우십시오.
이것으로, 나는 이 문제가 닫힌 것으로 간주합니다.
동지 - 당신은 나에게 OOP를 가르칠 필요가 없습니다. 나는 OOP뿐만 아니라 당신이 좋아하는 사람을 가르칠 것입니다. 그리고 비교를 요청한 코드 - 표준 라이브러리를 사용하여 거래를 시작하기 위해 작성해야 하는 항목과 표준 라이브러리 없이 작성해야 하는 항목. 그리고 결국 이해하기 쉬운 것은 무엇입니까? 상당히 건설적인 제안인 것 같습니다.
글쎄 방법이 없다
모두에게 큰 감사를 드립니다!
전송된
확인을 기다리는 중
운이 좋다면 자동화 트레이딩 챔피언십 2012에서 만나요
행운을 빕니다!
(그리고 내가 가르칠...)
동지 - 당신은 나에게 OOP를 가르칠 필요가 없습니다. 나는 OOP뿐만 아니라 당신이 좋아하는 사람을 가르 칠 것입니다. 그리고 표준 라이브러리를 사용하여 거래를 시작하기 위해 작성해야 하는 항목과 표준 라이브러리 없이 작성해야 하는 항목을 비교하도록 요청한 코드입니다. 그리고 결국 이해하기 쉬운 것은 무엇입니까? 상당히 건설적인 제안인 것 같습니다.
글쎄 방법이 없다
그래서 다 썼습니다..
Include 디렉토리의 파일:
EA 자체에서:
사실 다..
가르쳐 주세요
또한이 모든 것이 이미 준비되었으며 다시 바퀴를 재발명 할 필요가 없습니다 ...
모두에게 큰 감사를 드립니다!
전송된
확인을 기다리는 중
운이 좋다면 자동화 트레이딩 챔피언십 2012에서 만나요
행운을 빕니다!
(그리고 내가 가르칠...)
어느 것이 더 쉽습니까? 하나의 구조를 채우거나 신호를 처리합니까?
어)) 축하합니다. 이제 나는 당신을 위해 뿌리를 내려야합니다))
어느 것이 더 쉽습니까? 하나의 구조를 채우거나 신호를 처리합니까?
그래서 그게 요점입니다 ..이 특별한 경우에는 신호로 휴대 전화에서 SMS도 만들 수 있습니다 ..하지만 조언자에게 엄격하게 무엇을해야하는지 지시하면 .. 그는 맹세 할 것입니다 ..
하지만 Signal에 무엇이든 걸 수 있습니다. 가장 중요한 것은 슈트가 맞는다는 것입니다.. 저는 이미 ATC2012에 있습니다)
예, 이 경로를 따라갈 수 있습니다.
그러나 가장 자주