//---- 外部変数 extern double Lots=0.1; // ロットサイズ extern int StopLoss=0; // ストップロス extern int TakeProfit=10; // 利益を得る。 extern int int DistanceSet=10; // 注文市場からの距離 extern int int Slippage=3; //価格スリッページ //----グローバル変数
//+------------------------------------------------------------------+ //| エキスパート初期化関数 //+------------------------------------------------------------------+ int init() { //----
どなたかロカコードを書かれている方がいらっしゃるかもしれませんので、送っていただけるとありがたいです。
保留でやったのですが、問題があって、この場所で開く回数が増えると、順番が遠のきます。 カバーなしでもその場で開くようにしないといけないのですが、どういう状況で開くかの条件が書けません!?
もし、あなた自身が開店条件を決められないのなら、どうしたらいいのでしょう?
自分がやりたいことを何とかして形にしようとすることです。
反対注文は、あるポイントで開き、それがクローズした後、価格がそこまで下がった場合、再びこのポイントで開くはずです。私はそう思います .
正直言って...プログラマーの論理というより、たくさんいる悪名高いお客さんのTORのようなものです :)
1.現在のポジションが一定の損切りポイントに達した場合、保留注文や 反対ポジションを建てる必要がありますか?
2.もしそれが反対注文で、価格がそれに触れた場合、それは成行注文に変換されます、したがって
2.1. マーケットポジションがクローズした場合(損失あり?利益あり?)、同じ価格で再度同じ注文ができるのでしょうか?(種類は現在の価格によって異なります)
2.2 保留注文がトリガーされた場合、再度設定する必要がありますか?
2.3
2.4.
....まだまだ聞きたいことは山ほどある。何を狙っているのか、情報を挟み撃ちにするのはやめましょうね。
やりたいことのロジックを書き出す。それがまず第一です。紙と鉛筆で書けば...。
そして、それをどのようにコードに落とし込むかを決めることができるのです。
.csv形式のファイルがありますが、trading-serverフォルダに.hst形式のファイルがあります。
csvファイルの フォーマットと.NETへの変換方法を教えてください。hst ?
実はもっとシンプルなことだと思うんです。
1. ベイオーダーを開き、価格が10ピップス下がれば、売りを開く。
2.SLで売りがクローズされた場合、価格はベイで動作し始め、価格が再びマイナス10ピップスに下がる場合、再び売りをオープンします。
もしsllがTPによって閉じられたら、私のEAはすべてを正しく実行します。
コンディションの投稿方法について質問です。
1.オープンベイオーダー、価格が10ピップス下がったら、オープンセルを する。
2.SLで売りがクローズされた場合、価格はベイで動作し始め、価格が再びマイナス10ピップスに下がる場合は、再び 売りを開く。
おそらくくだらない質問で気が散るかもしれませんが、ご容赦ください。
まだ習い始めたばかりで、相談できる人がいない。
マニュアルを何度か読み返しました。最もシンプルな機能であるペンディングオーダーでExpert Advisorを開始しました。
注文を一回だけ、ティック毎ではなく、一回だけ開くというのがまだ理解できていません。
//+------------------------------------------------------------------+//| my.mq4
//| セリジク|
//| |
//+------------------------------------------------------------------+
#property copyright"serjik"(プロパティ・コピーライト"サージク")。
//---- 外部変数
extern double Lots=0.1; // ロットサイズ
extern int StopLoss=0; // ストップロス
extern int TakeProfit=10; // 利益を得る。
extern int int DistanceSet=10; // 注文市場からの距離
extern inttern Slippage=3; //価格スリッページ
//----グローバル変数
//+------------------------------------------------------------------+
//| エキスパート初期化関数
//+------------------------------------------------------------------+
int init()
{
//----
//----
return(0)です。
}
//+------------------------------------------------------------------+
//| 専門家による初期化関数
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0)です。
}
//+------------------------------------------------------------------+
//| エキスパートスタート機能
//+------------------------------------------------------------------+
int start()
{
double ldStop=0, ldTake=0;
double pAsk=Ask+DistanceSet*Point;
double pBid=Bid-DistanceSet*Point;
if (StopLoss!=0) ldStop=pAsk-StopLoss*Point;
if (TakeProfit!=0) ldTake=pAsk+TakeProfit*Point;
SetOrder(OP_BUYSTOP, pAsk, ldStop, ldTake); // (※1)のようになります。
if (StopLoss!=0) ldStop=pBid+StopLoss*Point; // (StopLoss!=0)。
if (TakeProfit!=0) ldTake=pBid-TakeProfit*Point;
SetOrder(OP_SELLSTOP, pBid, ldStop, ldTake); // (※)注文を確定します。
}
//+------------------------------------------------------------------+
//| 注文設定
//| パラメータ: |
//| オペオペレーション
| pp - 価格
//| ldStop - ストップレベル |.
//| ldTake - レベルを取る |.
//+------------------------------------------------------------------+
void SetOrder(int op, double pp, double ldStop, double ldTake)
{
OrderSend(Symbol(),op,Lots,pp,Slippage,ldStop,ldTake)。
return(0)です。
}
//+------------------------------------------------------------------+
この掲示板で既に見たかもしれませんが、読み直すほどの気力はありません。
もし、誰かが助けてくれるなら、HUGE THANK YOU!
実はもっとシンプルなことだと思うんです。
1. ベイオーダーを開き、価格が10ピップス下がれば、売りを開く。
2.SLで売りがクローズされた場合、価格はベイで動作し始め、価格が再びマイナス10ピップスに下がる場合、再び売りをオープンします。
もしsllがTPによって閉じられたら、私のEAはすべてを正しく実行します。
コンディションの投稿方法について質問です。
1.オープンベイオーダー、価格が10ピップス下がったら、オープンセルを する。
2.SLで売りがクローズされた場合、価格はベイで動作し始め、価格が再びマイナス10ピップスに下がる場合は、再び 売りを開く。
おそらくくだらない質問で気が散るかもしれませんが、ご容赦ください。
まだ習い始めたばかりで、相談できる人がいない。
マニュアルを何度か読み返しました。最もシンプルな機能であるペンディングオーダーでExpert Advisorを開始しました。
注文を一回だけ、ティック毎ではなく、一回だけ開くというのがまだ理解できていません。
//+------------------------------------------------------------------+//| my.mq4
//| セリジク|
//| |
//+------------------------------------------------------------------+
#property copyright "serjik"(プロパティ・コピーライト "サージク")。
//---- 外部変数
extern double Lots=0.1; // ロットサイズ
extern int StopLoss=0; // ストップロス
extern int TakeProfit=10; // 利益を得る。
extern int int DistanceSet=10; // 注文市場からの距離
extern int int Slippage=3; //価格スリッページ
//----グローバル変数
//+------------------------------------------------------------------+
//| エキスパート初期化関数
//+------------------------------------------------------------------+
int init()
{
//----
//----
return(0)です。
}
//+------------------------------------------------------------------+
//| 専門家による初期化関数
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0)です。
}
//+------------------------------------------------------------------+
//| エキスパートスタート機能
//+------------------------------------------------------------------+
int start()
{
double ldStop=0, ldTake=0;
double pAsk=Ask+DistanceSet*Point;
double pBid=Bid-DistanceSet*Point;
if (StopLoss!=0) ldStop=pAsk-StopLoss*Point;
if (TakeProfit!=0) ldTake=pAsk+TakeProfit*Point;
SetOrder(OP_BUYSTOP, pAsk, ldStop, ldTake); // (※1)のようになります。
if (StopLoss!=0) ldStop=pBid+StopLoss*Point; // (StopLoss!=0)。
if (TakeProfit!=0) ldTake=pBid-TakeProfit*Point;
SetOrder(OP_SELLSTOP, pBid, ldStop, ldTake); // (※)注文を確定する。
}
//+------------------------------------------------------------------+
//| 注文設定
//| パラメータ: |
//| オペオペレーション
| pp - 価格
//| ldStop - ストップレベル |.
//| ldTake - レベルを取る |.
//+------------------------------------------------------------------+
void SetOrder(int op, double pp, double ldStop, double ldTake)
{
OrderSend(Symbol(),op,Lots,pp,Slippage,ldStop,ldTake)。
return(0)です。
}
//+------------------------------------------------------------------+
この掲示板で既に見たかもしれませんが、読み直すほどの気力はありません。
もし、誰かが助けてくれるなら、HUGE THANK YOU!