[경고, 주제 닫힘!] 포럼을 어지럽히지 않도록 모든 초보자 질문. 프로, 놓치지 마세요. 당신 없이는 어디에도 없습니다. - 페이지 924

 
생각의 주요 방향은 설정하는 것입니다 ... :)

사람이 길을 잃지 않도록 수정하십시오 ... :)

저를 바로잡아 주시겠습니까?
 
THC :
저를 바로잡아 주시겠습니까?

나는 예를 들었다:

5가 2보다 크면 5가 2보다 크다는 의미입니다.

그리고 5-2가 0보다 크면 이 값의 차이를 비교하면 5가 2보다 큽니다.

그래서 나는 그것이 명확하기를 바랍니다? 본질은 남아 있습니다-일류의 모든 동일한 수학, 그 파생물 만 ...

 
extern double Lot=0.01; // Жестко заданное колич. лотов
datetime time;
//--------------------------------------------------------------- 2 --
int start()
{
int Total;


bool
Ans =false, // Ответ сервера после закрытия
Cls_B=false, // Критерий для закрытия Buy
Cls_S=false, // Критерий для закрытия Sell
Opn_B=false, // Критерий для открытия Buy
Opn_S=false; // Критерий для открытия Sell

//--------------------------------------------------------------- 3 --
// Учёт ордеров


for(int i=OrdersTotal()-1;i>=0;i--)
if (OrderSelect(i,SELECT_BY_POS)&&OrderSymbol()==Symbol()&&OrderType()>1)Total++;

if(Total!=0 || time==Time[1])return;

static int KolBars;



if (Close[0]-Open[0] > Point && Close[1]-Open[1] > Point && Bars == KolBars)


{

KolBars=Bars ; // запоминаем кол-во бар при которых совершались действия

}




// Торговые критерии

// Критерий откр. Buy


Opn_B=true;

//--------------------------------------------------------------- 7 --


if (Opn_B)
{OrderSend(Symbol(),OP_BUY,Lot,Ask,0,0,0);time=Time[1];}

}




도와주세요, 누군가, 제가 4번째로 요청합니다. 나는 이미 답을 찾는 데 3일을 보냈습니다. 책에는 이를 수행하는 방법이 나와 있지 않으며 비슷한 조건의 조언자를 찾지 못했습니다. 새 양초가 나타날 때 매수 위치를 열고(이전 2개의 양초가 녹색인 경우), 해당 위치가 열린 양초가 닫힐 때 또는 다음 양초가 닫힐 때 위치를 닫는 기본 고문.

위에서 보는 것은 새 양초가 나타날 때마다 개장 기준에 반응하지 않고 포지션을 여는 것과 포지션을 닫는 방법이 저에게 도달하지 않는 것, 교과서와 포럼에서 찾지 못했습니다.

 
artmedia70 :

이해하다... :)

그리고 StopLevel의 존재를 잊지 마십시오. - int StLev=MarketInfo(Symbol(), MODE_STOPLEVEL);

이 값보다 작지 않도록 정류장 및 테이크를 배치하기 위한 최소 거리를 확인합니다.


일반적으로 맞는 것 같지만-- "StLev=MarketInfo(Symbol(),MODE_STOPLEVEL);" 어디에 넣어도 닿지 않았어,
여기...

사실은 내가 항상 직장에 있다는 것입니다(여기에 mql4 프로그램을 넣을 수 없으며 모든 것을 마음속으로 해야 합니다

외부 이중 StopLoss=100.0;
외부 이중 TakeProfit=100.0;
외부 이중 로트=0.01;
외부 정수 합계;
외부 정수 SetOrderDistance=50;

정수 시작() {

int pt, dg, StLev;
이중 Price_1,Price_2,min,max,pa,pb;
새로 고침();

pt=시장정보(Symbol(),MODE_POINT);
dg=시장 정보(Symbol(),MODE_DIGITS);
pa=시장정보(심볼(),MODE_ASK);
pb=시장정보(Symbol(),MODE_BID);
가격_1=pb;
가격_2=pa;
최소=iLow(NULL,0,2);
최대=iHigh(NULL,0,2);
총계=주문총계();
더블 slB=NormalizeDouble(pa-StopLoss*pt,dg);
이중 tpB=NormalizeDouble(pa+TakeProfit*pt,dg);
이중 slS=NormalizeDouble(pb+StopLoss*pt,dg);
이중 tpS=NormalizeDouble(pb-TakeProfit*pt,dg);

if(총<1) {

if(가격_1>최대)
OrderSend (Symbol(),OP_BUY,Lots,pa,5,slB,tpB,"내 주문 번호,16384,0,Green);

if(가격_2<분)
OrderSend(Symbol(),OP_SELL,Lots,pb,5,slS,tpS,"내 주문 번호,16384,0,Green);
}
}리턴(0);

 
THC :

급하게 스케치했습니다. 잼이있을 수 있습니다.

 #define Mag 464564564
extern double Lot= 0.01 ;

int start()
{
int Total;

for ( int i= OrdersTotal ()- 1 ;i>= 0 ;i--)
if ( OrderSelect (i,SELECT_BY_POS)&&OrderSymbol()== Symbol ()&&OrderType()< 2 &&OrderMagicNumber()==Mag)
       {Total++;
       if (Volume[ 0 ]< 4 )close();
       }

if (Total!= 0 ) return ;
if (Close[ 1 ]>Open[ 1 ]&&Close[ 2 ]>Open[ 2 ]&&Volume[ 0 ]> 4 )bue();
if (Close[ 1 ]<Open[ 1 ]&&Close[ 2 ]<Open[ 2 ]&&Volume[ 0 ]> 4 )sell();

}
void bue()
{
OrderSend ( Symbol (), 0 ,Lot, NormalizeDouble (Ask, Digits ), 5 , 0 , 0 , 0 ,Mag);
}
//----
void sell()
{
OrderSend ( Symbol (), 1 ,Lot, NormalizeDouble (Bid, Digits ), 5 , 0 , 0 , 0 ,Mag);
}
void close()
{
double pr; if (OrderType()== 0 )pr=Bid; if (OrderType()== 1 )pr=Ask;
OrderClose(OrderTicket(),OrderLots(), NormalizeDouble (pr, Digits ), 5 );
}
 
Techno :

급하게 스케치했습니다. 잼이있을 수 있습니다.

감사합니다, 많은 도움이 되었습니다.

프로그래밍을 어떻게 배웠습니까? 무엇으로 시작하셨나요?

 
THC :

감사합니다, 많은 도움이 되었습니다.

프로그래밍을 어떻게 배웠습니까? 무엇으로 시작하셨나요?

교과서에서 공부, C++로 시작
 
C++는 mql과 많이 다른가요?
 
THC :
C++는 mql과 많이 다른가요?
일부 기능(거래 방향)을 제외하고 Mql은 C++의 크게 벗겨진 복사본일 뿐입니다.
 
Techno :
일부 기능(거래 방향)을 제외하고 Mql은 C++의 크게 벗겨진 복사본일 뿐입니다.
오 조언과 시간 내주셔서 감사합니다.