witam
mam EA (progresja20pips) które handluje w ten sposób:
ustawiamy TP, SL i początkowy Lot
robot po włączeniu ustawia pierwsze zlecenie BUY lub SELL (nie do konca wiem czym sie sugeruje)
po dotarciu do ustawionego TP zamienia z BUY na SELL lub z SELL na BUY (nie zmieniając lota)
po dotarciu do SL stawia nowe zlecenie jesli BUY to ponownie BUY, jesli SELL to ponownie SELL ale zwiększa lot dwukrotnie(lot*2).
Jesli lot był już zwiekszoy poprzez ileś tam SL=i to po dotarciu do TP lot wraca do początkowej wielkości
teraz moje pytanie: Czy ktoś umiałby przerobić to EA lub zna takie jakiego szukam a warunki sa takie:
po osiągnieiu SL pozycja zwiększa sie o ustawiony lot (chodzi o dodawanie a nie mnożenie)
po osiągnięciu TP pozycja zmniejsza się o ustaiwony lot (chodzi o odejmowanie)
dodatwkoo magicNumber wyciągniety do ustawień EA
kod EA:
#property copyright "Copyright © 2008,GIBON93 "
#property link "http://www.my-forex.ovh.org"
extern int sl = 20;
extern int tp = 20;
extern double start_lots = 0.01;
double Lots;
double OT;
double C;
double D;
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
//----
OT = OrdersTotal();
int total = OrdersHistoryTotal();
for(int i=0; i<total; i++)
{
OrderSelect(i, SELECT_BY_POS, MODE_HISTORY);
double profit = OrderProfit();
}
if (OT<=0&&profit>=0) Lots=start_lots;
if (OT<=0&&profit<0) Lots=Lots*2;
if (Lots>MarketInfo(Symbol(),MODE_MAXLOT)) Lots=MarketInfo(Symbol(),MODE_MAXLOT);
if (OT<=0) C=0;
if (OT<=0&&profit<0&&D==0) D=0;
if (OT<=0&&profit<0&&D==1) D=1;
if (OT<=0&&profit>=0&&D==0){ D=1;C=1;}
if (OT<=0&&profit>=0&&D==1&&C!=1) D=0;
if ( OT<=0 &&D==0){
OrderSend(Symbol(), OP_BUY, Lots, MarketInfo(Symbol(),MODE_ASK), 1,MarketInfo(Symbol(),MODE_ASK)-(sl*MarketInfo(Symbol(),MODE_POINT)),MarketInfo(Symbol(),MODE_ASK)+(tp*MarketInfo(Symbol(),MODE_POINT)), "Buy2(#" + 123 + ")", 123, 0, DodgerBlue);D=0;}
if ( OT<=0 &&D==1){
OrderSend(Symbol(), OP_SELL, Lots, MarketInfo(Symbol(),MODE_BID), 1,MarketInfo(Symbol(),MODE_BID)+(sl*MarketInfo(Symbol(),MODE_POINT)),MarketInfo(Symbol(),MODE_BID)-(tp*MarketInfo(Symbol(),MODE_POINT)), "Buy2(#" + 123 + ")", 123, 0, DodgerBlue);D=1;}
//----
return(0);
}
//+------------------------------------------------------------------+
przeróbka EA lub inne
przeróbka EA lub inne
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.