- Domů
- Komunita
- Programování
- Quick multiple buy
Edit Your Comment
Quick multiple buy
Členem od Oct 31, 2011
2 příspěvků
Oct 31, 2011 at 14:58
Členem od Oct 31, 2011
2 příspěvků
Its simple forex MT4 soft for free:
'FSS Quick multiple buy' script will be useful for traders who need to quickly open multiple buy positions in Metatrader trading platform.
Inputs:
OrderCount - determine how much positions must be opened;
StopLoss - initial Stop Loss value;
StopLossStep - Stop Loss will be increased by StopLossStep value for every next order. If Stop Loss must be equal for all orders then input 0 for StopLossStep;
TakeProfit - initial Take Profit value;
TakeProfitStep - Take Profit will be increased by TakeProfitStep value for every next order. If Take Profit must be equal for all orders then input 0 for TakeProfitStep;
Lots - lot size;
ECN - if you are usin ECN broker, then select TRUE. If non-ECN broker, then select FALSE. If you are not sure, then leave FALSE.
Comm - comment.
-------------------------------------------------------------------------------
//+------------------------------------------------------------------+
//| FSS quick multiple buy.mq4 |
//| ForexSoftwareShop |
//| https://www.forexsoftwareshop.com |
//+------------------------------------------------------------------+
#property copyright 'ForexSoftwareShop'
#property link 'https://www.forexsoftwareshop.com'
#property show_inputs
#include <stdlib.mqh>
extern int OrderCount = 3;
extern double StopLoss = 0.005;
extern double StopLossStep = 0;
extern double TakeProfit = 0.002;
extern double TakeProfitStep = 0.003;
extern double Lots = 0.01;
extern bool ECN = FALSE;
extern string Comm = 'FSS_quick_multiple_buy';
//+------------------------------------------------------------------+
//| script program start function |
//+------------------------------------------------------------------+
int start()
{
//----
int ticket, cnt, error;
ticket = 0;
for(cnt = 0; cnt < OrderCount; cnt++ )
{
RefreshRates();
if (ECN == FALSE) ticket = OrderSend(Symbol(), OP_BUY, Lots, Ask, 3, Ask - StopLoss, Ask + TakeProfit, Comm, 123654);
if (ticket == -1 || ECN == TRUE)
{
error = GetLastError();
if(error == 130/* INVALID_STOPS */ || ECN == TRUE)
{
ticket = OrderSend(Symbol(), OP_BUY, Lots, Ask, 3, 0, 0, Comm, 123654);
if(ticket>0)
{
OrderSelect(ticket, SELECT_BY_TICKET);
if(OrderModify(OrderTicket(), OrderOpenPrice(), Ask - StopLoss, Ask + TakeProfit,0) == FALSE) ticket = -1;
}
if(ticket == -1)
{
error = GetLastError();
Print('Error nr.: ',error,' Error Description: ',ErrorDescription(error));
}
} else Print('Error nr.: ',error,' Error Description: ',ErrorDescription(error));
} // ticket == -1
StopLoss = StopLoss + StopLossStep;
TakeProfit = TakeProfit + TakeProfitStep;
}
//----
return(0);
}
//+------------------------------------------------------------------+
'FSS Quick multiple buy' script will be useful for traders who need to quickly open multiple buy positions in Metatrader trading platform.
Inputs:
OrderCount - determine how much positions must be opened;
StopLoss - initial Stop Loss value;
StopLossStep - Stop Loss will be increased by StopLossStep value for every next order. If Stop Loss must be equal for all orders then input 0 for StopLossStep;
TakeProfit - initial Take Profit value;
TakeProfitStep - Take Profit will be increased by TakeProfitStep value for every next order. If Take Profit must be equal for all orders then input 0 for TakeProfitStep;
Lots - lot size;
ECN - if you are usin ECN broker, then select TRUE. If non-ECN broker, then select FALSE. If you are not sure, then leave FALSE.
Comm - comment.
-------------------------------------------------------------------------------
//+------------------------------------------------------------------+
//| FSS quick multiple buy.mq4 |
//| ForexSoftwareShop |
//| https://www.forexsoftwareshop.com |
//+------------------------------------------------------------------+
#property copyright 'ForexSoftwareShop'
#property link 'https://www.forexsoftwareshop.com'
#property show_inputs
#include <stdlib.mqh>
extern int OrderCount = 3;
extern double StopLoss = 0.005;
extern double StopLossStep = 0;
extern double TakeProfit = 0.002;
extern double TakeProfitStep = 0.003;
extern double Lots = 0.01;
extern bool ECN = FALSE;
extern string Comm = 'FSS_quick_multiple_buy';
//+------------------------------------------------------------------+
//| script program start function |
//+------------------------------------------------------------------+
int start()
{
//----
int ticket, cnt, error;
ticket = 0;
for(cnt = 0; cnt < OrderCount; cnt++ )
{
RefreshRates();
if (ECN == FALSE) ticket = OrderSend(Symbol(), OP_BUY, Lots, Ask, 3, Ask - StopLoss, Ask + TakeProfit, Comm, 123654);
if (ticket == -1 || ECN == TRUE)
{
error = GetLastError();
if(error == 130/* INVALID_STOPS */ || ECN == TRUE)
{
ticket = OrderSend(Symbol(), OP_BUY, Lots, Ask, 3, 0, 0, Comm, 123654);
if(ticket>0)
{
OrderSelect(ticket, SELECT_BY_TICKET);
if(OrderModify(OrderTicket(), OrderOpenPrice(), Ask - StopLoss, Ask + TakeProfit,0) == FALSE) ticket = -1;
}
if(ticket == -1)
{
error = GetLastError();
Print('Error nr.: ',error,' Error Description: ',ErrorDescription(error));
}
} else Print('Error nr.: ',error,' Error Description: ',ErrorDescription(error));
} // ticket == -1
StopLoss = StopLoss + StopLossStep;
TakeProfit = TakeProfit + TakeProfitStep;
}
//----
return(0);
}
//+------------------------------------------------------------------+
*Komerční použití a spam nebudou tolerovány a mohou vést ke zrušení účtu.
Tip: Zveřejněním adresy URL obrázku /služby YouTube se automaticky vloží do vašeho příspěvku!
Tip: Zadejte znak @, abyste automaticky vyplnili jméno uživatele, který se účastní této diskuse.