【概要】用意する単純なソースコードにトレーリングストップの実装お願いできればと思います。
【目的】勉強の為にお願いしたいので子供でも分かる説明も簡単で良いのでお願いします。
親切に説明しているサイトをみても良くわかりませんでした。
トレーリングストップの内容は20pipsプラスになったらトレーリングストップ発動し20pips下(または上)に損切を入れる。以降さらに20pips獲得するごとに同じように20pips下に損切価格を変更するといった内容です。
それと下記のコードでは3時半に一つ前のローソク足の高値と安値に指値を入れる様にしているのですが片方しか注文しなかったりしますのでそちらも直していただければと思います。
下記がソースコードです。
#define MAGIC 123
// パラメーターの設定//
extern double Lots = 1.0; // 取引ロット数
extern int Slip = 10; // 許容スリッページ数
extern string Comments = ""; // コメント
// 変数の設定//
int Ticket_L ; // 買い注文の結果をキャッチする変数
int Ticket_S ; // 売り注文の結果をキャッチする変数
//-----------------------------------------------
int start()
{
if(OrdersTotal()==0){Ticket_L = 0;}
if(OrdersTotal()==0){Ticket_S=0;}
// 買いエントリー
if( Hour()==3&&Minute()==30
&& ( Ticket_L == 0 || Ticket_L == -1 )
)
{
Ticket_L = OrderSend(Symbol(),OP_BUYSTOP,Lots,High[1],Slip,High[1]-300*Point,High[1]+1500*Point,Comments,MAGIC,0,Red);
}
// 売りエントリー
if( Hour()==3&&Minute()==30
&& ( Ticket_S == 0 || Ticket_S == -1 )
)
{
Ticket_S = OrderSend(Symbol(),OP_SELLSTOP,Lots,Low[1],Slip,Low[1]+300*Point,Low[1]-1500*Point,Comments,MAGIC,0,Blue);
}
if(Hour()==6){ OrderDelete( Ticket_S,Blue); }
if(Hour()==6){ OrderDelete( Ticket_L,Blue); }
return(0);