Wie programmiert man? - Seite 152

 
m_43_62:
Hallo

Vielen Dank an alle Freunde

Sie können den Indikator nicht als Berater verwenden, Sie müssen den Berater mit dem Indikator verwenden, so wie hier:

P.S. Vergessen Sie nicht, den Indikator im Indikatorverzeichnis abzulegen.

Dateien:
 

gelöscht

--- gelöscht ---

 

Code zur Anzeige der TAGE/STUNDEN seit der letzten MA-Kreuzung

Ich brauche einen Code, der mir anzeigt, wann sich zwei MA's das letzte Mal gekreuzt haben (d.h. wie lange das her ist). Er kann es in Tagen oder Stunden anzeigen.

Für jede Hilfe wäre ich dankbar!

Todd

 

Umstellung auf Market Execution

Ich habe einen EA für die "Instant Execution"-Version von Metatrader4 erstellt und brauche jemanden, der den Code so ändert, dass er auf einer "Market Execution"-Version von Metatrader4 funktioniert. Bitte mailen Sie mir ein Angebot oder Fragen an phasna@gmail.com

Vielen Dank

Paul

 

Kennt jemand die icustom-Anweisung in einem EA für diesen Indikator zu verwenden?

Es hat nur einen Puffer SetIndexBuffer( 0, TrStopLevel ); die für die nachlaufenden Punkte verwendet wird, werden die Pfeile von ObjectSet gezeichnet, wie Sie abholen, dass in der icustom-Anweisung?

MT4-LevelStop-Reverse-v2-1.mq4

 
increase:
Kennt jemand die icustom-Anweisung, die in einem EA für diesen Indikator zu verwenden ist?

Es hat nur einen Puffer SetIndexBuffer( 0, TrStopLevel ); die für die nachlaufenden Punkte verwendet wird, werden die Pfeile von ObjectSet gezeichnet, wie Sie abholen, dass in der icustom-Anweisung?

MT4-LevelStop-Reverse-v2-1.mq4

Kann mir hier jemand helfen?

 

Helfen Sie mir, Trades zwischen den Spreads zu platzieren!

Ok, Spreads töten einige Paare. aber ist theire weg zu platzieren Trades in der Mitte eines Spreads. Auf diese Weise können wir Pips sparen und mehr Geld verdienen. Ich habe diesen Code und kann er so geändert werden, dass die Order auf den Chartpreis und nicht auf den Geldkurs umgestellt wird?

void PlaceBuyOrder()

{

double BuyOrders, Lots;

double LowestBuy = 1000, HighestBuy;

if (BarTime != Time[0])

{

BarTime = Time[0];

TickPrice = 0;

TradeAllowed = true;

}

RefreshRates();

for (Order = OrdersTotal() - 1; Order >= 0; Order--)

{

if (OrderSelect(Order, SELECT_BY_POS, MODE_TRADES))

{

if (OrderSymbol() == Symbol() && OrderMagicNumber() == Referenz && OrderType() == OP_BUY)

{

if (OrderOpenPrice() < LowestBuy) NiedrigsterKauf = OrderOpenPrice();

if (OrderOpenPrice() > HighestBuy) HighestBuy = OrderOpenPrice();

BuyOrders++;

}

}

}

if (TradeAllowed)

{

wenn (Ask >= HighestBuy + (TrendSpacing * Point))

{

// wenn (Multiplikator)

wenn (Multiplikator == 1)

Lots = NormalizeDouble(LotSize * MathPow(LotIncrement, BuyOrders), 2);

sonst

Lots = NormalizeDouble(LotSize + (LotIncrement * BuyOrders), 2);

}

if (Ask <= LowestBuy - (Spacing * Point))

{

// wenn (Multiplikator)

wenn (Multiplikator == 1)

Lots = NormalizeDouble(LotSize * CounterTrendMultiplier * MathPow(LotIncrement, BuyOrders), 2);

sonst

Lots = NormalizeDouble((LotSize * CounterTrendMultiplier) + (LotIncrement * BuyOrders), 2);

}

if (Lots == 0)

{

// wenn (Multiplikator)

wenn (Multiplikator == 1)

Lots = NormalizeDouble(LotSize, 2);

sonst

Lose = NormalizeDouble(LosGröße, 2);

}

OrderSend(Symbol(), OP_BUY, Lots, Ask, Slippage, 0, 0, TradeComment, Reference, Green);

Error = GetLastError();

if (Fehler != 0)

Write("Fehler beim Öffnen der BUY-Order: " + ErrorDescription(Error) + " (C" + Error + ") Ask:" + Ask + " Slippage:" + Slippage);

sonst

{

TickPrice = Close[0];

TradeAllowed = false;

}

}

}

void PlaceSellOrder()

{

double SellOrders, Lots;

double HighestSell, LowestSell = 1000;

if (BarTime != Time[0])

{

BarTime = Time[0];

TickPrice = 0;

TradeAllowed = true;

}

RefreshRates();

for (Order = OrdersTotal() - 1; Order >= 0; Order--)

{

if (OrderSelect(Order, SELECT_BY_POS, MODE_TRADES))

{

if (OrderSymbol() == Symbol() && OrderMagicNumber() == Referenz && OrderType() == OP_SELL)

{

if (OrderOpenPrice() > HighestSell) HighestSell = OrderOpenPrice();

if (OrderOpenPrice() < LowestSell) LowestSell = OrderOpenPrice();

SellOrders++;

}

}

}

if (TradeAllowed)

{

if (Bid <= LowestSell - (TrendSpacing * Point))

{

// wenn (Multiplikator)

wenn (Multiplikator == 1)

Lots = NormalizeDouble(LotSize * MathPow(LotIncrement, SellOrders), 2);

sonst

Lots = NormalizeDouble(LotSize + (LotIncrement * SellOrders), 2);

}

if (Bid >= HighestSell + (Spacing * Point))

{

// wenn (Multiplikator)

wenn (Multiplikator == 1)

Lots = NormalizeDouble(LotSize * CounterTrendMultiplier * MathPow(LotIncrement, SellOrders), 2);

sonst

Lots = NormalizeDouble((LotSize * CounterTrendMultiplier) + (LotIncrement * SellOrders), 2);

}

if (Lots == 0)

{

// wenn (Multiplikator)

wenn (Multiplikator == 1)

Lots = NormalizeDouble(LotSize, 2);

sonst

Lose = NormalizeDouble(LosGröße, 2);

}

OrderSend(Symbol(), OP_SELL, Lots, Bid, Slippage, 0, 0, TradeComment, Reference, Red);

Error = GetLastError();

if (Fehler != 0)

Write("Fehler beim Öffnen der SELL-Order: " + ErrorDescription(Error) + " (D" + Error + ") Bid:" + Bid + " Slippage:" + Slippage);

sonst

{

TickPrice = Close[0];

TradeAllowed = false;

}

}

}

Kann man so etwas machen?

 

HILFE~nur 1 Fehler, ich habe 3 Stunden gebraucht und kann es immer noch nicht herausfinden

ICH BIN SEHR BESORGT, WEIL ICH NICHT FINDEN KANN, wie man den Fehler unten korrigiert

kann mir jemand sagen, wo der Fehler liegt? oder mir bei der Fehlersuche helfen, ich habe die Dateien angehängt, siehe buttom~ ~

'Programmende' - unausgewogene linke Klammer C:\Programmdateien\ MetaTrader\experts\scripts\delete_pending_SAM.mq4 (38, 2)

ES HANDELT SICH UM EINE SKRIPTDATEI~ ~

//+------------------------------------------------------------------+

//| delete_pending.mq4

//| Copyright ?2004, MetaQuotes Software Corp. |

//+------------------------------------------------------------------+

#Eigenschaft Copyright "Copyright ?2004, MetaQuotes Software Corp."

#property link "http://www.metaquotes.net/"

#property show_inputs

bool Ergebnis;

extern double OverSymbolDel = 1; //0:FASLE ; 1: TRUE

//+------------------------------------------------------------------+

//| Skript "Delete Pending Order" |

//+------------------------------------------------------------------+

int start()

{

for (int number=0; (number <= OrdersTotal()+1); number++ )

{for (int times=0;( times <= OrdersTotal()+1); times++ )

{if (OrderSelect(number,SELECT_BY_POS,MODE_TRADES) )

{if((OrderType()==OP_BUY) || (OrderType()==OP_SELL) ) break;

if ((OverSymbolDel ==0)&& (Symbol()==OrderSymbol() ) delPending();

wenn (OverSymbolDel ==1) delPending();

}

else Print("Fehler bei Order Select ", GetLastError() ) ;

}

}

}

//+------------------------------------------------------------------+

void delPending()

{OrderPrint();

int ticket =BestellungTicket();

result=OrderDelete(ticket);

if (result==False) Print("Fehler beim Löschen der Bestellung ", GetLastError() );

}

Dateien:
 

Zu chiwing

Versuchen Sie dies:

#property copyright "Copyright ?2004, MetaQuotes Software Corp."

#property link "http://www.metaquotes.net/"

#property show_inputs

bool result;

extern double OverSymbolDel = 1; //0:FASLE ; 1: TRUE

//+------------------------------------------------------------------+

//| script "delete pending order" |

//+------------------------------------------------------------------+

int start()

{

for (int number=OrdersTotal()-1; number >= 0; number--)

{

OrderSelect(number,SELECT_BY_POS,MODE_TRADES);

if((OrderType()==OP_BUY) || (OrderType()==OP_SELL) ) continue;

if (OverSymbolDel ==0&& Symbol()==OrderSymbol() ) delPending();

if (OverSymbolDel ==1) delPending();

}

}

//+------------------------------------------------------------------+

void delPending()

{

OrderPrint();

int ticket =OrderTicket();

result=OrderDelete(ticket);

if (!result) Print("Error when delete Order ", GetLastError() );

}
 
Roger09:
Zu chiwing

Versuchen Sie dies:

#property copyright "Copyright ?2004, MetaQuotes Software Corp."

#property link "http://www.metaquotes.net/"

#property show_inputs

bool result;

extern double OverSymbolDel = 1; //0:FASLE ; 1: TRUE

//+------------------------------------------------------------------+

//| script "delete pending order" |

//+------------------------------------------------------------------+

int start()

{

for (int number=OrdersTotal()-1; number >= 0; number--)

{

OrderSelect(number,SELECT_BY_POS,MODE_TRADES);

if((OrderType()==OP_BUY) || (OrderType()==OP_SELL) ) continue;

if (OverSymbolDel ==0&& Symbol()==OrderSymbol() ) delPending();

if (OverSymbolDel ==1) delPending();

}

}

//+------------------------------------------------------------------+

void delPending()

{

OrderPrint();

int ticket =OrderTicket();

result=OrderDelete(ticket);

if (!result) Print("Error when delete Order ", GetLastError() );

}

danke für ihre hilfe~ ~

und ich finde meinen Fehler :

{if (OrderSelect(number,SELECT_BY_POS,MODE_TRADES) )

ändern in

OrderSelect(Zahl,SELECT_BY_POS,MODE_TRADES);

{if((OrderType()==OP_BUY) || (OrderType()==OP_SELL) ) break;

Wechseln zu

if((OrderType()==OP_BUY) || (OrderType()==OP_SELL) ) countinue;