프로그래밍을 하기 위해 최선을 다했지만 벽에 부딪혔습니다. 그래서 정말 간단한 것을 시도했습니다. "Print("Five");" 주석을 제거하면 프로그램을 테스트하면 "Yahoooooo"만 인쇄됩니다. (글쎄 그것은 One"도 인쇄합니다.) 이제 "Print("Five");"가 주석 처리되어 "Yahoooooo"도 인쇄되지 않습니다. 내가 놓친 것은 무엇입니까?
timebandit: 안녕하세요, 프로그래밍을 하려고 최선을 다했지만 벽에 부딪혔습니다. 그래서 정말 간단한 것을 시도했습니다. "Print("Five");" 주석을 제거하면 프로그램을 테스트하면 "Yahoooooo"만 인쇄됩니다. (글쎄 그것은 One"도 인쇄합니다.) 이제 "Print("Five");"가 주석 처리되어 "Yahoooooo"도 인쇄되지 않습니다. 내가 놓친 것은 무엇입니까?
대괄호를 사용하지 않으면 한 줄만 실행됩니다. 수행하려는 작업에 따라 다르지만 다음과 같이 수행해야 합니다.
안녕 울프
나는 이것이 전에 다루어졌다는 것을 알고 있지만 누군가 막대당 1개의 거래만 허용하는 일부 코드를 보여줄 수 있습니까? 감사해요.
이것은 나를 위해 작동합니다.
날짜/시간 LastOpenTime=0;
/////////////////////////////////////////////
정수 주문;
for(int t=0;t<OrdersTotal();t++)
{
if(주문 선택(t, SELECT_BY_POS, MODE_TRADES))
{
if (OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumbers && OrderType() == OP_SELL)
{
if(OrderOpenTime()>LastOpenTime)LastOpenTime=OrderOpenTime();
}
}
}
그런 다음 내 코드에 붙입니다.
if(LastOpenTime0)
{ OrderSend(ㅋㅋㅋㅋ
시간[0]은 기간의 초의 시작이므로 올바른 기간을 선택해야 합니다.
이것은 나를 위해 작동합니다.
날짜/시간 LastOpenTime=0;
/////////////////////////////////////////////
...........................
시간[0]은 기간의 초의 시작이므로 올바른 기간을 선택해야 합니다.이것은 조금 더 간단할 수 있습니다.
datetime LastOpenTime; //Global var
[/CODE]
[CODE]
int init()
{
LastOpenTime=Time[0];
}
int start()
{
................
if(LastOpenTime!=Time[0])
{
// do your trade code
LastOpenTime=Time[0];
}
..............
return(0);
}귀하의 "거래 코드"는 모든 양초에서 한 번만 실행됩니다. MT4를 닫고 다시 켜도 그 양초에 대한 거래는 더 이상 없을 것입니다. 그러나 주의하십시오. EA를 오후 5시 양초에 활성화했다고 가정해 보겠습니다. 해당 양초에는 거래가 없으며 다음 양초를 기다려야 합니다.
나는 이것이 전에 다루어졌다는 것을 알고 있지만 누군가 막대당 1개의 거래만 허용하는 일부 코드를 보여줄 수 있습니까? 감사해요.
전역, init() 앞에 놓으십시오.
In the order placement and/or order close stuff, wrap it in this:
{
if blah blah blah, gimme pips // not actual functions but you get the idea
if blah blah blah, close orders // um
}Common function outside main loop:
[CODE]//--- returns true if current bar just formed
bool NewBar()
{
if(PreviousBar<Time[0])
{
PreviousBar = Time[0];
return(true);
}
else
{
return(false);
}
return(false);
}프로그래밍에 대한 도움말
안녕,
프로그래밍을 하기 위해 최선을 다했지만 벽에 부딪혔습니다. 그래서 정말 간단한 것을 시도했습니다. "Print("Five");" 주석을 제거하면 프로그램을 테스트하면 "Yahoooooo"만 인쇄됩니다. (글쎄 그것은 One"도 인쇄합니다.) 이제 "Print("Five");"가 주석 처리되어 "Yahoooooo"도 인쇄되지 않습니다. 내가 놓친 것은 무엇입니까?
1 거래가 TP에 도달하면 보류 중인 모든 주문 및 미결 주문을 닫습니다.
안녕,
TP에 도달한 1개의 거래가 있으면 모든 보류 중인 주문을 닫는 코드를 EA에 작성하려고 합니다. 아래는 내가 사용한 코드이며 작동하지 않는 것 같습니다. 누군가가보고 누락 된 것을 조언 할 수 있습니까? 감사해요.
if( 이전OpenOrders > OpenOrders )
{
for( cnt = OrdersTotal()-1, cnt >= 0, cnt--)
{
주문 선택(cnt, SELECT_BY_POS, MODE_TRADES);
모드 = 주문 유형();
if( OrderSymbol() == 기호() &&
OrderMagicNumber()==매직)
{
if( 모드 == OP_BUY ) OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),slippage,Blue);
if( 모드 == OP_SELL ) OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),slippage,Red);
if (모드 == OP_SELLLIMIT) OrderDelete(OrderTicket());
if (모드 == OP_BUYLIMIT) OrderDelete(OrderTicket());
}
}
}
}
OrderClosePrice() 대신 Bid와 Ask를 각각 사용하십시오...
OrderClosePrice() 대신 Bid와 Ask를 각각 사용하십시오...
안녕하세요 랄프님
당신은 예를 제공하는 데 도움이 될 수 있습니다. 도와 주셔서 감사합니다.
안녕하세요, 프로그래밍을 하려고 최선을 다했지만 벽에 부딪혔습니다. 그래서 정말 간단한 것을 시도했습니다. "Print("Five");" 주석을 제거하면 프로그램을 테스트하면 "Yahoooooo"만 인쇄됩니다. (글쎄 그것은 One"도 인쇄합니다.) 이제 "Print("Five");"가 주석 처리되어 "Yahoooooo"도 인쇄되지 않습니다. 내가 놓친 것은 무엇입니까?
대괄호를 사용하지 않으면 한 줄만 실행됩니다. 수행하려는 작업에 따라 다르지만 다음과 같이 수행해야 합니다.
{
Print("Five");
Print("Yahoooooooooooooooooooooooo");
}if( mode == OP_BUY ) OrderClose(OrderTicket(),OrderLots(),Bid,slippage,Blue);
if( mode == OP_SELL ) OrderClose(OrderTicket(),OrderLots(),Ask,slippage,Red);
한 번 정지 이동
다음은 특정 이익 후에 손절매를 손익분기점으로 이동 하는 코드입니다. 문제가 있습니까?
if(MoveStopOnce && MoveStopWhenPrice > 0) {
if(Bid - OrderOpenPrice() == Point * MoveStopWhenPrice) {
OrderModify(OrderTicket(),OrderOpenPrice(), Bid - Point * MoveStopTo, OrderTakeProfit(), 0, Red);
if (!EachTickMode) BarCount = Bars;
continue;
}
}