[ARCHIVE] フォーラムを散らかさないように、どんなルーキーでも質問してください。プロフェッショナルは、通り過ぎないでください。Nowhere without you - 3. - ページ 594

 

for(cnt=0;cnt<total;cnt++)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if(OrderType()<=OP_SELL && // オープンポジションをチェック
OrderSymbol()==lSymbol()) // シンボルをチェック
{ {

?

 

コードplzのヘルプ!なぜ私はこのコードで138を取得し、それがそれに関係しているのですか?取引は開くが、あなたが閉じるときに価格が何らかの形で同じではありませんが、それは何ですか?すべてが簡単です。Sキャンドルでエキスパートアドバイザーは取引を閉じるとフラクタルが貫通したときに開くはずです。ヒントについては事前に感謝します

extern int s=5;



extern int stime=60;
extern int lots=1;
extern int slippage=5;
extern double sl=NULL;
extern double tp=NULL;
double upfr,dnfr=0.0;// last fractals のレベル
double tClose=NULL;
double tOpen=NULL;
int flag=0;
int init()
{
//----



//----
return(0);
} }.
//+------------------------------------------------------------------------+
//| エキスパートの初期化関数 |

//+--------------------------------------------------------+
int deinit()
{
//----

//----
return(0);
}.
//+------------------------------------------------------------------------+
//|エキスパートスタート関数|
//+------------------------------------------------------------------------+

int start()//ブレイクアウトでオープン、sキャンドル後にクローズ
{
//----
upfr=iFractals(Symbol(,PERIOD_H1,MODE_UPPER,4)
dnfr=iFractals(Symbol(),PERIOD_H1,MODE_LOWER,4);
//OPPER ORDERS ON PROBIT
if(upfr>0 && High[1]>upfr &&)flag==0) //フラクタルが上昇し、フラクタルレベルを超えた場合
{
tOpen=Time[0];
tClose=tOpen+s*stime*60;
OrderSend(Symbol(),OP_BUY,lots,Bid,slippage,sl,tp);
flag=1;
} ・・・。
if(dnfr>0 && Low[1]<dnfr && flag==0)//if fractal is down and fractal level is down
{
tOpen=Time[0];
tClose=tOpen+s*stime*60;
OrderSend(Symbol(),OP_SELL,lots,Ask,sl, sl, tp);
flag=1;
} }.

// CLOSE ORDERS BY END OF TIME
if(Time[0]>=tClose )// CLOSEまでの時間が経過した場合
{
Print("CLOSE FUNCTION");
OrClose();
flag=0;
} }.


//----
return(0);
}.
//+------------------------------------------------------------------------+
//全注文を閉じる
void OrClose()
{
for(int i=OrdersTotal()-1;i>=1;i--)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
{
OrderClose(OrderTicket(),lots,OrderOpenPrice(),0.0005);
}.
}
return(0);
}.
 
Qwertee:

コードplzのヘルプ!なぜ私はこのコードで138エラーが表示されるのですか?

OrderClose(OrderTicket(),lots,OrderOpenPrice(),0.0005);

に変更する。

         if(OrderType()==OP_BUY)
           {
            OrderClose(OrderTicket(),OrderLots(),Bid,slippage);
           }
         else
           {
            OrderClose(OrderTicket(),OrderLots(),Ask,slippage);
           }
 
こんにちは。Zigzagインジケータを扱ったプロが、トップスの最後の2つの値:HighとLowを取得する方法をアドバイスしてください。
 

こんにちは。

開封の儀をお願いします。デモ口座 でEAを使っているのですが、買いや売りの条件を出すと、130のエラーが表示されます。

ここでは、注文受付機能を紹介します。

int NewOrder(int Cmd,double Lot)
{double TP=0; //тейкпрофит
 double SL=0; //стоплосс
 double PR=0; //Цена
 while(!IsTradeAllowed()) Sleep(100);
 RefreshRates ();
 if(Cmd==OP_BUY)
   {PR=Ask;
    if(TakeProfit>0) TP=NormalizeDouble(Ask+TakeProfit*Point,Digits);
    if(StopLoss>0) SL=NormalizeDouble(Bid-StopLoss*Point,Digits);}
 if(Cmd==OP_SELL)
   {PR=Bid;
    if(TakeProfit>0) TP=NormalizeDouble(Bid-TakeProfit*Point,Digits);
    if(StopLoss>0) SL=NormalizeDouble(Ask+StopLoss*Point,Digits);}
 int tic=OrderSend(Symbol(),Cmd,Lot,PR,20,SL,TP,"",0,0,CLR_NONE);
 if(tic<0) Print("Ошибка открытия ордера: ",GetLastError());
return(tic);}

他のEAで確認したところ、ロット計算ですべてOKでした。

アルパリのデモ口座、マイクロタイプ。テイクとストップは100p、ス。アルパリは5サインなので10pips。

 
始値の ノーマライズ
 
FAQ:
始値を正規化する。


どのように正常化するのですか?

そうだろ?

PR=NormalizeDouble(Ask,Digits);

そうであれば、何も変わりません。

私はまだプログラミングの経験があまりないんです。正規化する方法について教えてください。

 
そして、事前にストップとプロフィットの大きさを確認し、自分のストップとプロフィットより大きければ、それを調整します。もし、ゼロであれば、まずストップとプロフィットをゼロにして注文を設定し、それから自分の望むレベルに修正する必要があります。
 

こんばんは。質問:取引の一部を決済すると、EAが新しいチケットで新しい取引を開始するようなものです。新しい秩序のマジックは変わらないのでしょうか?

 
MetaTrader 4をインストールし、デモ口座を開設。注文の開閉を試した。古い注文を閉じて新しい注文を出すには、ローソク足2本分の差が必要」というような情報を使って、価格が上がったら売り 注文を、下がったら買い注文を、端末自体に発動させるには、どうしたらいいでしょうか。